diff --git a/deploy/migrations/clickhouse/003_gloas_bals_support.down.sql b/deploy/migrations/clickhouse/003_gloas_bals_support.down.sql new file mode 100644 index 00000000..4e45db6f --- /dev/null +++ b/deploy/migrations/clickhouse/003_gloas_bals_support.down.sql @@ -0,0 +1,19 @@ +-- Drop canonical_beacon_block_access_list tables +DROP TABLE IF EXISTS default.canonical_beacon_block_access_list ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.canonical_beacon_block_access_list_local ON CLUSTER '{cluster}'; + +-- Remove columns from canonical_beacon_block +ALTER TABLE default.canonical_beacon_block ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS execution_payload_block_access_list_root, + DROP COLUMN IF EXISTS execution_payload_slot_number; + +ALTER TABLE default.canonical_beacon_block_local ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS execution_payload_block_access_list_root, + DROP COLUMN IF EXISTS execution_payload_slot_number; + +-- Remove columns from beacon_api_eth_v2_beacon_block +ALTER TABLE default.beacon_api_eth_v2_beacon_block ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS execution_payload_slot_number; + +ALTER TABLE default.beacon_api_eth_v2_beacon_block_local ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS execution_payload_slot_number; diff --git a/deploy/migrations/clickhouse/003_gloas_bals_support.up.sql b/deploy/migrations/clickhouse/003_gloas_bals_support.up.sql new file mode 100644 index 00000000..609597ab --- /dev/null +++ b/deploy/migrations/clickhouse/003_gloas_bals_support.up.sql @@ -0,0 +1,63 @@ +-- Add execution_payload_slot_number to beacon_api_eth_v2_beacon_block +ALTER TABLE default.beacon_api_eth_v2_beacon_block_local ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS execution_payload_slot_number Nullable(UInt64) + CODEC(DoubleDelta, ZSTD(1)) AFTER execution_payload_excess_blob_gas; + +ALTER TABLE default.beacon_api_eth_v2_beacon_block ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS execution_payload_slot_number Nullable(UInt64) + CODEC(DoubleDelta, ZSTD(1)) AFTER execution_payload_excess_blob_gas; + +-- Add execution_payload_slot_number and execution_payload_block_access_list_root to canonical_beacon_block +ALTER TABLE default.canonical_beacon_block_local ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS execution_payload_slot_number Nullable(UInt64) + CODEC(DoubleDelta, ZSTD(1)) AFTER execution_payload_excess_blob_gas, + ADD COLUMN IF NOT EXISTS execution_payload_block_access_list_root Nullable(FixedString(66)) + CODEC(ZSTD(1)) AFTER execution_payload_slot_number; + +ALTER TABLE default.canonical_beacon_block ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS execution_payload_slot_number Nullable(UInt64) + CODEC(DoubleDelta, ZSTD(1)) AFTER execution_payload_excess_blob_gas, + ADD COLUMN IF NOT EXISTS execution_payload_block_access_list_root Nullable(FixedString(66)) + CODEC(ZSTD(1)) AFTER execution_payload_slot_number; + +-- Create canonical_beacon_block_access_list table +CREATE TABLE IF NOT EXISTS default.canonical_beacon_block_access_list_local ON CLUSTER '{cluster}' ( + updated_date_time DateTime CODEC(DoubleDelta, ZSTD(1)), + slot UInt32 CODEC(DoubleDelta, ZSTD(1)), + slot_start_date_time DateTime CODEC(DoubleDelta, ZSTD(1)), + epoch UInt32 CODEC(DoubleDelta, ZSTD(1)), + epoch_start_date_time DateTime CODEC(DoubleDelta, ZSTD(1)), + block_root FixedString(66) CODEC(ZSTD(1)), + block_number UInt64 CODEC(DoubleDelta, ZSTD(1)), + block_hash FixedString(66) CODEC(ZSTD(1)), + address FixedString(42) CODEC(ZSTD(1)), + change_type LowCardinality(String) CODEC(ZSTD(1)), + block_access_index UInt32 CODEC(DoubleDelta, ZSTD(1)), + storage_key FixedString(66) CODEC(ZSTD(1)), + new_value Nullable(String) CODEC(ZSTD(1)), + meta_client_name LowCardinality(String) CODEC(ZSTD(1)), + meta_client_id String CODEC(ZSTD(1)), + meta_client_version LowCardinality(String) CODEC(ZSTD(1)), + meta_client_implementation LowCardinality(String) CODEC(ZSTD(1)), + meta_client_os LowCardinality(String) CODEC(ZSTD(1)), + meta_client_ip Nullable(IPv6) CODEC(ZSTD(1)), + meta_client_geo_city LowCardinality(String) CODEC(ZSTD(1)), + meta_client_geo_country LowCardinality(String) CODEC(ZSTD(1)), + meta_client_geo_country_code LowCardinality(String) CODEC(ZSTD(1)), + meta_client_geo_continent_code LowCardinality(String) CODEC(ZSTD(1)), + meta_client_geo_longitude Nullable(Float64) CODEC(ZSTD(1)), + meta_client_geo_latitude Nullable(Float64) CODEC(ZSTD(1)), + meta_client_geo_autonomous_system_number Nullable(UInt32) CODEC(ZSTD(1)), + meta_client_geo_autonomous_system_organization Nullable(String) CODEC(ZSTD(1)), + meta_network_id Int32 CODEC(DoubleDelta, ZSTD(1)), + meta_network_name LowCardinality(String) CODEC(ZSTD(1)), + meta_consensus_version LowCardinality(String) CODEC(ZSTD(1)), + meta_consensus_implementation LowCardinality(String) CODEC(ZSTD(1)), + meta_labels Map(String, String) CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree(updated_date_time) +PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, block_hash, address, change_type, storage_key, block_access_index); + +CREATE TABLE IF NOT EXISTS default.canonical_beacon_block_access_list ON CLUSTER '{cluster}' + AS default.canonical_beacon_block_access_list_local + ENGINE = Distributed('{cluster}', default, canonical_beacon_block_access_list_local, rand()); diff --git a/deploy/migrations/clickhouse/004_gloas_epbs_support.down.sql b/deploy/migrations/clickhouse/004_gloas_epbs_support.down.sql new file mode 100644 index 00000000..1f4536a3 --- /dev/null +++ b/deploy/migrations/clickhouse/004_gloas_epbs_support.down.sql @@ -0,0 +1,77 @@ +-- Reverse EIP-7732 ePBS support + +-- Drop new tables +DROP TABLE IF EXISTS default.canonical_beacon_block_payload_attestation ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.canonical_beacon_block_payload_attestation_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.canonical_beacon_block_execution_payload_bid ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.canonical_beacon_block_execution_payload_bid_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_payload_attestation ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_payload_attestation_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload_bid ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload_bid_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_proposer_preferences ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_proposer_preferences_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload_gossip ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload_gossip_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload_available ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_api_eth_v1_events_execution_payload_available_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.libp2p_gossipsub_execution_payload_envelope ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.libp2p_gossipsub_execution_payload_envelope_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.libp2p_gossipsub_execution_payload_bid ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.libp2p_gossipsub_execution_payload_bid_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.libp2p_gossipsub_payload_attestation_message ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.libp2p_gossipsub_payload_attestation_message_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.libp2p_gossipsub_proposer_preferences ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.libp2p_gossipsub_proposer_preferences_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_synthetic_payload_status_resolved ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_synthetic_payload_status_resolved_local ON CLUSTER '{cluster}'; + +DROP TABLE IF EXISTS default.beacon_synthetic_builder_pending_payment_settlement ON CLUSTER '{cluster}'; +DROP TABLE IF EXISTS default.beacon_synthetic_builder_pending_payment_settlement_local ON CLUSTER '{cluster}'; + +-- Remove ePBS columns from beacon block tables +ALTER TABLE default.canonical_beacon_block ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS payload_present, + DROP COLUMN IF EXISTS execution_payment, + DROP COLUMN IF EXISTS bid_value, + DROP COLUMN IF EXISTS builder_index; + +ALTER TABLE default.canonical_beacon_block_local ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS payload_present, + DROP COLUMN IF EXISTS execution_payment, + DROP COLUMN IF EXISTS bid_value, + DROP COLUMN IF EXISTS builder_index; + +ALTER TABLE default.beacon_api_eth_v2_beacon_block ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS payload_present, + DROP COLUMN IF EXISTS execution_payment, + DROP COLUMN IF EXISTS bid_value, + DROP COLUMN IF EXISTS builder_index; + +ALTER TABLE default.beacon_api_eth_v2_beacon_block_local ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS payload_present, + DROP COLUMN IF EXISTS execution_payment, + DROP COLUMN IF EXISTS bid_value, + DROP COLUMN IF EXISTS builder_index; + +-- Remove withdrawal_type column added by 107 +ALTER TABLE default.canonical_beacon_block_withdrawal ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS withdrawal_type; + +ALTER TABLE default.canonical_beacon_block_withdrawal_local ON CLUSTER '{cluster}' + DROP COLUMN IF EXISTS withdrawal_type; + diff --git a/deploy/migrations/clickhouse/004_gloas_epbs_support.up.sql b/deploy/migrations/clickhouse/004_gloas_epbs_support.up.sql new file mode 100644 index 00000000..c8b16783 --- /dev/null +++ b/deploy/migrations/clickhouse/004_gloas_epbs_support.up.sql @@ -0,0 +1,866 @@ +-- EIP-7732 ePBS support: new tables + column additions +-- 10 new tables: 2 cannon, 4 sentry SSE, 4 libp2p gossip. +-- Plus column additions to existing tables. + +--------------------------------------------------------------------- +-- 1. CANNON: canonical_beacon_block_payload_attestation +-- Aggregated PTC attestations from block body (max 4/block) +--------------------------------------------------------------------- +CREATE TABLE default.canonical_beacon_block_payload_attestation_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number of the block containing this payload attestation' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `block_root` FixedString(66) COMMENT 'Root of the block containing this attestation' CODEC(ZSTD(1)), + `block_version` LowCardinality(String) COMMENT 'Block version (e.g. gloas)', + `position` UInt32 COMMENT 'Position of the payload attestation in the block body (0-3)' CODEC(DoubleDelta, ZSTD(1)), + `beacon_block_root` FixedString(66) COMMENT 'The block root being attested to by the PTC' CODEC(ZSTD(1)), + `payload_present` Bool COMMENT 'Whether the PTC attests payload was present' CODEC(ZSTD(1)), + `blob_data_available` Bool COMMENT 'Whether the PTC attests blob data was available' CODEC(ZSTD(1)), + `aggregation_bits` String COMMENT 'Bitvector of PTC members (512 bits) as hex' CODEC(ZSTD(1)), + `attesting_validator_count` UInt32 COMMENT 'Number of PTC validators in this aggregation' CODEC(DoubleDelta, ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, block_root, position) +COMMENT 'Aggregated PTC payload attestations from canonical beacon blocks (max 4 per block).'; + +CREATE TABLE default.canonical_beacon_block_payload_attestation ON CLUSTER '{cluster}' + AS default.canonical_beacon_block_payload_attestation_local + ENGINE = Distributed('{cluster}', default, canonical_beacon_block_payload_attestation_local, rand()); + +--------------------------------------------------------------------- +-- 2. CANNON: canonical_beacon_block_execution_payload_bid +-- Winning builder bid from each block (1 per block) +--------------------------------------------------------------------- +CREATE TABLE default.canonical_beacon_block_execution_payload_bid_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number of the block containing this bid' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `block_root` FixedString(66) COMMENT 'Root of the block containing this bid' CODEC(ZSTD(1)), + `block_version` LowCardinality(String) COMMENT 'Block version (e.g. gloas)', + `builder_index` UInt64 COMMENT 'Index of the builder in the builder registry' CODEC(ZSTD(1)), + `block_hash` FixedString(66) COMMENT 'Execution block hash committed to in the bid' CODEC(ZSTD(1)), + `parent_block_hash` FixedString(66) COMMENT 'Parent execution block hash' CODEC(ZSTD(1)), + `parent_block_root` FixedString(66) COMMENT 'Parent beacon block root' CODEC(ZSTD(1)), + `value` UInt64 COMMENT 'Bid value in Gwei' CODEC(ZSTD(1)), + `execution_payment` UInt64 COMMENT 'Execution payment in Gwei' CODEC(ZSTD(1)), + `fee_recipient` FixedString(42) COMMENT 'Fee recipient address' CODEC(ZSTD(1)), + `gas_limit` UInt64 COMMENT 'Gas limit for the execution payload' CODEC(DoubleDelta, ZSTD(1)), + `prev_randao` FixedString(66) COMMENT 'Previous RANDAO value' CODEC(ZSTD(1)), + `blob_kzg_commitment_count` UInt32 COMMENT 'Number of blob KZG commitments' CODEC(DoubleDelta, ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, block_root) +COMMENT 'Winning execution payload bid from canonical beacon blocks (1 per block).'; + +CREATE TABLE default.canonical_beacon_block_execution_payload_bid ON CLUSTER '{cluster}' + AS default.canonical_beacon_block_execution_payload_bid_local + ENGINE = Distributed('{cluster}', default, canonical_beacon_block_execution_payload_bid_local, rand()); + +--------------------------------------------------------------------- +-- 3. SENTRY SSE: beacon_api_eth_v1_events_execution_payload +-- Payload envelope arrival from beacon API SSE +--------------------------------------------------------------------- +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the sentry received the event from a beacon node' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number from the event payload' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between event_date_time and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `block_root` FixedString(66) COMMENT 'Beacon block root the envelope references' CODEC(ZSTD(1)), + `builder_index` UInt64 COMMENT 'Index of the builder that produced the payload' CODEC(ZSTD(1)), + `block_hash` FixedString(66) COMMENT 'Execution block hash' CODEC(ZSTD(1)), + `state_root` FixedString(66) COMMENT 'Execution state root' CODEC(ZSTD(1)), + `slot_number` Nullable(UInt64) COMMENT 'EIP-7843 SLOTNUM: the execution payload slot_number field (typically equals the beacon slot)' CODEC(ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, block_root) +COMMENT 'Execution payload envelope arrivals from beacon API SSE (execution_payload event, fires on import into fork-choice).'; + +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload ON CLUSTER '{cluster}' + AS default.beacon_api_eth_v1_events_execution_payload_local + ENGINE = Distributed('{cluster}', default, beacon_api_eth_v1_events_execution_payload_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, block_root)); + +--------------------------------------------------------------------- +-- 3b. SENTRY SSE: beacon_api_eth_v1_events_payload_attestation +-- Individual PTC attestation from beacon API SSE (~512/slot) +--------------------------------------------------------------------- +CREATE TABLE default.beacon_api_eth_v1_events_payload_attestation_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the sentry received the event from a beacon node' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number from the event payload' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between event_date_time and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `validator_index` UInt32 COMMENT 'Index of the PTC validator' CODEC(ZSTD(1)), + `beacon_block_root` FixedString(66) COMMENT 'Block root being attested to' CODEC(ZSTD(1)), + `payload_present` Bool COMMENT 'Whether the validator attests payload was present' CODEC(ZSTD(1)), + `blob_data_available` Bool COMMENT 'Whether the validator attests blob data was available' CODEC(ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, beacon_block_root, validator_index) +COMMENT 'Individual PTC payload attestation messages from beacon API SSE (payload_attestation_message event, ~512 per slot).'; + +CREATE TABLE default.beacon_api_eth_v1_events_payload_attestation ON CLUSTER '{cluster}' + AS default.beacon_api_eth_v1_events_payload_attestation_local + ENGINE = Distributed('{cluster}', default, beacon_api_eth_v1_events_payload_attestation_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, beacon_block_root, validator_index)); + +--------------------------------------------------------------------- +-- 3c. SENTRY SSE: beacon_api_eth_v1_events_execution_payload_bid +-- Builder bid from beacon API SSE +--------------------------------------------------------------------- +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload_bid_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the sentry received the event from a beacon node' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number from the event payload' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between event_date_time and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `builder_index` UInt64 COMMENT 'Index of the builder' CODEC(ZSTD(1)), + `block_hash` FixedString(66) COMMENT 'Execution block hash committed to in the bid' CODEC(ZSTD(1)), + `parent_block_hash` FixedString(66) COMMENT 'Parent execution block hash' CODEC(ZSTD(1)), + `parent_block_root` FixedString(66) COMMENT 'Parent beacon block root' CODEC(ZSTD(1)), + `value` UInt64 COMMENT 'Bid value in Gwei' CODEC(ZSTD(1)), + `execution_payment` UInt64 COMMENT 'Execution payment in Gwei' CODEC(ZSTD(1)), + `fee_recipient` FixedString(42) COMMENT 'Fee recipient address' CODEC(ZSTD(1)), + `gas_limit` UInt64 COMMENT 'Gas limit' CODEC(DoubleDelta, ZSTD(1)), + `blob_kzg_commitment_count` UInt32 COMMENT 'Number of blob KZG commitments' CODEC(DoubleDelta, ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, block_hash) +COMMENT 'Builder bids from beacon API SSE (execution_payload_bid event).'; + +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload_bid ON CLUSTER '{cluster}' + AS default.beacon_api_eth_v1_events_execution_payload_bid_local + ENGINE = Distributed('{cluster}', default, beacon_api_eth_v1_events_execution_payload_bid_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, block_hash)); + +--------------------------------------------------------------------- +-- 3d. SENTRY SSE: beacon_api_eth_v1_events_proposer_preferences +-- Proposer preferences from beacon API SSE +--------------------------------------------------------------------- +CREATE TABLE default.beacon_api_eth_v1_events_proposer_preferences_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the sentry received the event from a beacon node' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Proposal slot' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between event_date_time and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `validator_index` UInt32 COMMENT 'Index of the proposing validator' CODEC(ZSTD(1)), + `fee_recipient` FixedString(42) COMMENT 'Preferred fee recipient address' CODEC(ZSTD(1)), + `gas_limit` UInt64 COMMENT 'Preferred gas limit' CODEC(DoubleDelta, ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, validator_index) +COMMENT 'Proposer preferences from beacon API SSE (proposer_preferences event).'; + +CREATE TABLE default.beacon_api_eth_v1_events_proposer_preferences ON CLUSTER '{cluster}' + AS default.beacon_api_eth_v1_events_proposer_preferences_local + ENGINE = Distributed('{cluster}', default, beacon_api_eth_v1_events_proposer_preferences_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, validator_index)); + +--------------------------------------------------------------------- +-- 3e. SENTRY SSE: beacon_api_eth_v1_events_execution_payload_gossip +-- Full envelope on first gossip (analog of block_gossip). +-- Fires earlier than execution_payload (which fires on import). +--------------------------------------------------------------------- +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload_gossip_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the sentry received the event from a beacon node' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number from the event payload' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between event_date_time and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `block_root` FixedString(66) COMMENT 'Beacon block root the envelope references' CODEC(ZSTD(1)), + `builder_index` UInt64 COMMENT 'Index of the builder that produced the payload' CODEC(ZSTD(1)), + `block_hash` FixedString(66) COMMENT 'Execution block hash' CODEC(ZSTD(1)), + `state_root` FixedString(66) COMMENT 'Execution state root' CODEC(ZSTD(1)), + `slot_number` Nullable(UInt64) COMMENT 'EIP-7843 SLOTNUM: the execution payload slot_number field (typically equals the beacon slot)' CODEC(ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, block_root) +COMMENT 'Execution payload envelope first-seen-on-gossip arrivals from beacon API SSE (execution_payload_gossip event, fires before import).'; + +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload_gossip ON CLUSTER '{cluster}' + AS default.beacon_api_eth_v1_events_execution_payload_gossip_local + ENGINE = Distributed('{cluster}', default, beacon_api_eth_v1_events_execution_payload_gossip_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, block_root)); + +--------------------------------------------------------------------- +-- 3f. SENTRY SSE: beacon_api_eth_v1_events_execution_payload_available +-- Lightweight signal that payload+blobs are locally available +-- for PTC vote (block_root + slot only). +--------------------------------------------------------------------- +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload_available_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the sentry received the event from a beacon node' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot of the block whose payload is now available' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between event_date_time and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `block_root` FixedString(66) COMMENT 'Beacon block root whose payload+blobs are locally available' CODEC(ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, block_root) +COMMENT 'Execution payload availability signals from beacon API SSE (execution_payload_available event, fires when payload+blobs are locally verified for PTC vote).'; + +CREATE TABLE default.beacon_api_eth_v1_events_execution_payload_available ON CLUSTER '{cluster}' + AS default.beacon_api_eth_v1_events_execution_payload_available_local + ENGINE = Distributed('{cluster}', default, beacon_api_eth_v1_events_execution_payload_available_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, block_root)); + +--------------------------------------------------------------------- +-- 4. LIBP2P: libp2p_gossipsub_execution_payload_envelope +--------------------------------------------------------------------- +CREATE TABLE default.libp2p_gossipsub_execution_payload_envelope_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `version` UInt32 DEFAULT 4294967295 - propagation_slot_start_diff COMMENT 'Version for dedup: prefer lowest propagation time' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'Timestamp of the event with millisecond precision' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'Start date and time of the slot' CODEC(DoubleDelta, ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'Start date and time of the epoch' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot` UInt32 COMMENT 'Wall clock slot when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot_start_date_time` DateTime COMMENT 'Start time of the wall clock slot' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch` UInt32 COMMENT 'Wall clock epoch when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch_start_date_time` DateTime COMMENT 'Start time of the wall clock epoch' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Propagation delay from slot start in ms' CODEC(ZSTD(1)), + `block_root` FixedString(66) COMMENT 'Beacon block root the envelope references' CODEC(ZSTD(1)), + `builder_index` UInt64 COMMENT 'Index of the builder that produced the payload' CODEC(ZSTD(1)), + `block_hash` FixedString(66) COMMENT 'Execution block hash' CODEC(ZSTD(1)), + `peer_id_unique_key` Int64 COMMENT 'Unique key for the peer identifier', + `message_id` String COMMENT 'Identifier of the gossip message' CODEC(ZSTD(1)), + `message_size` UInt32 COMMENT 'Size of the message in bytes' CODEC(ZSTD(1)), + `topic_layer` LowCardinality(String) COMMENT 'Layer of the gossipsub topic', + `topic_fork_digest_value` LowCardinality(String) COMMENT 'Fork digest value of the topic', + `topic_name` LowCardinality(String) COMMENT 'Name of the topic', + `topic_encoding` LowCardinality(String) COMMENT 'Encoding used for the topic', + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name' +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toYYYYMM(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id) +COMMENT 'Execution payload envelope gossip propagation from libp2p.'; + +CREATE TABLE default.libp2p_gossipsub_execution_payload_envelope ON CLUSTER '{cluster}' + AS default.libp2p_gossipsub_execution_payload_envelope_local + ENGINE = Distributed('{cluster}', default, libp2p_gossipsub_execution_payload_envelope_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id)); + +--------------------------------------------------------------------- +-- 5. LIBP2P: libp2p_gossipsub_execution_payload_bid +--------------------------------------------------------------------- +CREATE TABLE default.libp2p_gossipsub_execution_payload_bid_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `version` UInt32 DEFAULT 4294967295 - propagation_slot_start_diff COMMENT 'Version for dedup: prefer lowest propagation time' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'Timestamp of the event with millisecond precision' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'Start date and time of the slot' CODEC(DoubleDelta, ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'Start date and time of the epoch' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot` UInt32 COMMENT 'Wall clock slot when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot_start_date_time` DateTime COMMENT 'Start time of the wall clock slot' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch` UInt32 COMMENT 'Wall clock epoch when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch_start_date_time` DateTime COMMENT 'Start time of the wall clock epoch' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Propagation delay from slot start in ms' CODEC(ZSTD(1)), + `builder_index` UInt64 COMMENT 'Index of the builder' CODEC(ZSTD(1)), + `block_hash` FixedString(66) COMMENT 'Execution block hash committed to in the bid' CODEC(ZSTD(1)), + `parent_block_hash` FixedString(66) COMMENT 'Parent execution block hash' CODEC(ZSTD(1)), + `value` UInt64 COMMENT 'Bid value in Gwei' CODEC(ZSTD(1)), + `execution_payment` UInt64 COMMENT 'Execution payment in Gwei' CODEC(ZSTD(1)), + `fee_recipient` FixedString(42) COMMENT 'Fee recipient address' CODEC(ZSTD(1)), + `gas_limit` UInt64 COMMENT 'Gas limit' CODEC(DoubleDelta, ZSTD(1)), + `blob_kzg_commitment_count` UInt32 COMMENT 'Number of blob KZG commitments' CODEC(DoubleDelta, ZSTD(1)), + `peer_id_unique_key` Int64 COMMENT 'Unique key for the peer identifier', + `message_id` String COMMENT 'Identifier of the gossip message' CODEC(ZSTD(1)), + `message_size` UInt32 COMMENT 'Size of the message in bytes' CODEC(ZSTD(1)), + `topic_layer` LowCardinality(String) COMMENT 'Layer of the gossipsub topic', + `topic_fork_digest_value` LowCardinality(String) COMMENT 'Fork digest value of the topic', + `topic_name` LowCardinality(String) COMMENT 'Name of the topic', + `topic_encoding` LowCardinality(String) COMMENT 'Encoding used for the topic', + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name' +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toYYYYMM(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id) +COMMENT 'Builder bid gossip propagation from libp2p.'; + +CREATE TABLE default.libp2p_gossipsub_execution_payload_bid ON CLUSTER '{cluster}' + AS default.libp2p_gossipsub_execution_payload_bid_local + ENGINE = Distributed('{cluster}', default, libp2p_gossipsub_execution_payload_bid_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id)); + +--------------------------------------------------------------------- +-- 6. LIBP2P: libp2p_gossipsub_payload_attestation_message +-- ~512 per slot, high volume +--------------------------------------------------------------------- +CREATE TABLE default.libp2p_gossipsub_payload_attestation_message_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `version` UInt32 DEFAULT 4294967295 - propagation_slot_start_diff COMMENT 'Version for dedup: prefer lowest propagation time' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'Timestamp of the event with millisecond precision' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'Start date and time of the slot' CODEC(DoubleDelta, ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'Start date and time of the epoch' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot` UInt32 COMMENT 'Wall clock slot when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot_start_date_time` DateTime COMMENT 'Start time of the wall clock slot' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch` UInt32 COMMENT 'Wall clock epoch when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch_start_date_time` DateTime COMMENT 'Start time of the wall clock epoch' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Propagation delay from slot start in ms' CODEC(ZSTD(1)), + `validator_index` UInt32 COMMENT 'Index of the PTC validator' CODEC(ZSTD(1)), + `beacon_block_root` FixedString(66) COMMENT 'Block root being attested to' CODEC(ZSTD(1)), + `payload_present` Bool COMMENT 'Whether the validator attests payload was present' CODEC(ZSTD(1)), + `blob_data_available` Bool COMMENT 'Whether the validator attests blob data was available' CODEC(ZSTD(1)), + `peer_id_unique_key` Int64 COMMENT 'Unique key for the peer identifier', + `message_id` String COMMENT 'Identifier of the gossip message' CODEC(ZSTD(1)), + `message_size` UInt32 COMMENT 'Size of the message in bytes' CODEC(ZSTD(1)), + `topic_layer` LowCardinality(String) COMMENT 'Layer of the gossipsub topic', + `topic_fork_digest_value` LowCardinality(String) COMMENT 'Fork digest value of the topic', + `topic_name` LowCardinality(String) COMMENT 'Name of the topic', + `topic_encoding` LowCardinality(String) COMMENT 'Encoding used for the topic', + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name' +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toYYYYMM(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id) +COMMENT 'Individual PTC payload attestation messages from libp2p gossip (~512 per slot).'; + +CREATE TABLE default.libp2p_gossipsub_payload_attestation_message ON CLUSTER '{cluster}' + AS default.libp2p_gossipsub_payload_attestation_message_local + ENGINE = Distributed('{cluster}', default, libp2p_gossipsub_payload_attestation_message_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id)); + +--------------------------------------------------------------------- +-- 7. LIBP2P: libp2p_gossipsub_proposer_preferences +--------------------------------------------------------------------- +CREATE TABLE default.libp2p_gossipsub_proposer_preferences_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `version` UInt32 DEFAULT 4294967295 - propagation_slot_start_diff COMMENT 'Version for dedup: prefer lowest propagation time' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'Timestamp of the event with millisecond precision' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Proposal slot' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'Start date and time of the slot' CODEC(DoubleDelta, ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'Start date and time of the epoch' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot` UInt32 COMMENT 'Wall clock slot when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_slot_start_date_time` DateTime COMMENT 'Start time of the wall clock slot' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch` UInt32 COMMENT 'Wall clock epoch when the event was received' CODEC(DoubleDelta, ZSTD(1)), + `wallclock_epoch_start_date_time` DateTime COMMENT 'Start time of the wall clock epoch' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Propagation delay from slot start in ms' CODEC(ZSTD(1)), + `validator_index` UInt32 COMMENT 'Index of the proposing validator' CODEC(ZSTD(1)), + `fee_recipient` FixedString(42) COMMENT 'Preferred fee recipient address' CODEC(ZSTD(1)), + `gas_limit` UInt64 COMMENT 'Preferred gas limit' CODEC(DoubleDelta, ZSTD(1)), + `peer_id_unique_key` Int64 COMMENT 'Unique key for the peer identifier', + `message_id` String COMMENT 'Identifier of the gossip message' CODEC(ZSTD(1)), + `message_size` UInt32 COMMENT 'Size of the message in bytes' CODEC(ZSTD(1)), + `topic_layer` LowCardinality(String) COMMENT 'Layer of the gossipsub topic', + `topic_fork_digest_value` LowCardinality(String) COMMENT 'Fork digest value of the topic', + `topic_name` LowCardinality(String) COMMENT 'Name of the topic', + `topic_encoding` LowCardinality(String) COMMENT 'Encoding used for the topic', + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name' +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toYYYYMM(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id) +COMMENT 'Proposer preferences gossip propagation from libp2p.'; + +CREATE TABLE default.libp2p_gossipsub_proposer_preferences ON CLUSTER '{cluster}' + AS default.libp2p_gossipsub_proposer_preferences_local + ENGINE = Distributed('{cluster}', default, libp2p_gossipsub_proposer_preferences_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, peer_id_unique_key, message_id)); + +--------------------------------------------------------------------- +-- 8. ALTER: Add ePBS columns to beacon block tables +--------------------------------------------------------------------- +ALTER TABLE default.canonical_beacon_block_local ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS `builder_index` Nullable(UInt64) COMMENT 'Builder index from the bid (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payload_block_access_list_root, + ADD COLUMN IF NOT EXISTS `bid_value` Nullable(UInt64) COMMENT 'Bid value in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER builder_index, + ADD COLUMN IF NOT EXISTS `execution_payment` Nullable(UInt64) COMMENT 'Execution payment in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER bid_value, + ADD COLUMN IF NOT EXISTS `payload_present` Nullable(Bool) COMMENT 'Whether execution payload was delivered (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payment; + +ALTER TABLE default.canonical_beacon_block ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS `builder_index` Nullable(UInt64) COMMENT 'Builder index from the bid (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payload_block_access_list_root, + ADD COLUMN IF NOT EXISTS `bid_value` Nullable(UInt64) COMMENT 'Bid value in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER builder_index, + ADD COLUMN IF NOT EXISTS `execution_payment` Nullable(UInt64) COMMENT 'Execution payment in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER bid_value, + ADD COLUMN IF NOT EXISTS `payload_present` Nullable(Bool) COMMENT 'Whether execution payload was delivered (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payment; + +ALTER TABLE default.beacon_api_eth_v2_beacon_block_local ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS `builder_index` Nullable(UInt64) COMMENT 'Builder index from the bid (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payload_slot_number, + ADD COLUMN IF NOT EXISTS `bid_value` Nullable(UInt64) COMMENT 'Bid value in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER builder_index, + ADD COLUMN IF NOT EXISTS `execution_payment` Nullable(UInt64) COMMENT 'Execution payment in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER bid_value, + ADD COLUMN IF NOT EXISTS `payload_present` Nullable(Bool) COMMENT 'Whether execution payload was delivered (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payment; + +ALTER TABLE default.beacon_api_eth_v2_beacon_block ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS `builder_index` Nullable(UInt64) COMMENT 'Builder index from the bid (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payload_slot_number, + ADD COLUMN IF NOT EXISTS `bid_value` Nullable(UInt64) COMMENT 'Bid value in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER builder_index, + ADD COLUMN IF NOT EXISTS `execution_payment` Nullable(UInt64) COMMENT 'Execution payment in Gwei (Gloas+)' CODEC(ZSTD(1)) AFTER bid_value, + ADD COLUMN IF NOT EXISTS `payload_present` Nullable(Bool) COMMENT 'Whether execution payload was delivered (Gloas+)' CODEC(ZSTD(1)) AFTER execution_payment; + +--------------------------------------------------------------------- +-- 8b. ALTER: Add withdrawal_type column to canonical withdrawal tables +-- EIP-7732 introduces "builder" withdrawals (validator_index >= 2^40). +-- Pre-Gloas rows: empty string. Gloas+: "validator" or "builder". +--------------------------------------------------------------------- +ALTER TABLE default.canonical_beacon_block_withdrawal_local ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS `withdrawal_type` LowCardinality(String) DEFAULT '' COMMENT 'Classification of the withdrawal recipient (Gloas+: validator|builder, pre-Gloas: empty)' CODEC(ZSTD(1)); + +ALTER TABLE default.canonical_beacon_block_withdrawal ON CLUSTER '{cluster}' + ADD COLUMN IF NOT EXISTS `withdrawal_type` LowCardinality(String) DEFAULT '' COMMENT 'Classification of the withdrawal recipient (Gloas+: validator|builder, pre-Gloas: empty)' CODEC(ZSTD(1)); + +--------------------------------------------------------------------- +-- 004_gloas_synthetic_events +-- +-- EIP-7732 ePBS: synthesized observability events from beacon-node internals +-- (TYSM-instrumented). No beacon API equivalent today. +-- +-- These events fire on every TYSM-patched beacon node (multi-witness) — the +-- ORDER BY / Distributed sharding keep meta_client_name in the composite so +-- per-node observations aren't collapsed. +--------------------------------------------------------------------- + +--------------------------------------------------------------------- +-- 1. beacon_synthetic_payload_status_resolved +-- Fork-choice slot payload status transitions (PENDING/FULL/EMPTY/INVALID). +--------------------------------------------------------------------- +CREATE TABLE default.beacon_synthetic_payload_status_resolved_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the beacon node resolved the status (TYSM ResolvedAt)' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot number whose payload status was resolved' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between event_date_time and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `block_root` FixedString(66) COMMENT 'Beacon block root for this slot' CODEC(ZSTD(1)), + `block_hash` FixedString(66) COMMENT 'Execution block hash (when known)' CODEC(ZSTD(1)), + `status` LowCardinality(String) COMMENT 'New status: PENDING / FULL / EMPTY / INVALID', + `previous_status` LowCardinality(String) COMMENT 'Previous status before this transition', + `payload_timeliness_votes_positive` UInt64 COMMENT 'Count of PTC votes with payload_present=true' CODEC(ZSTD(1)), + `payload_timeliness_votes_negative` Nullable(UInt64) COMMENT 'Count of PTC votes with payload_present=false (explicit negative). NULL when CL does not surface three-state PR #5180 breakdown' CODEC(ZSTD(1)), + `payload_timeliness_votes_absent` Nullable(UInt64) COMMENT 'Count of PTC seats with no vote (Optional[bool]==None per PR #5180). NULL when CL does not surface the breakdown' CODEC(ZSTD(1)), + `data_available_votes_positive` UInt64 COMMENT 'Count of PTC votes with blob_data_available=true' CODEC(ZSTD(1)), + `data_available_votes_negative` Nullable(UInt64) COMMENT 'Count of PTC votes with blob_data_available=false (explicit negative). NULL when CL does not surface three-state PR #5180 breakdown' CODEC(ZSTD(1)), + `data_available_votes_absent` Nullable(UInt64) COMMENT 'Count of PTC seats with no data-availability vote (Optional[bool]==None per PR #5180). NULL when CL does not surface the breakdown' CODEC(ZSTD(1)), + `ptc_size` UInt64 COMMENT 'Total PTC committee size (typically 512)' CODEC(ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, block_root, status) +COMMENT 'Fork-choice payload status transitions (EIP-7732 ePBS) synthesized from TYSM-instrumented beacon node internals. Multi-witness (per-node).'; + +CREATE TABLE default.beacon_synthetic_payload_status_resolved ON CLUSTER '{cluster}' + AS default.beacon_synthetic_payload_status_resolved_local + ENGINE = Distributed('{cluster}', default, beacon_synthetic_payload_status_resolved_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, block_root, status)); + +--------------------------------------------------------------------- +-- 2. beacon_synthetic_builder_pending_payment_settlement +-- Epoch-boundary builder pending payment settle/drop decisions. +--------------------------------------------------------------------- +CREATE TABLE default.beacon_synthetic_builder_pending_payment_settlement_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the beacon node processed this settlement (TYSM ResolvedAt)' CODEC(DoubleDelta, ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch boundary at which this settlement was processed' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `builder_index` UInt64 COMMENT 'Index of the builder in the builder registry' CODEC(ZSTD(1)), + `fee_recipient` FixedString(42) COMMENT 'Builder fee recipient address' CODEC(ZSTD(1)), + `amount` UInt64 COMMENT 'Payment amount in Gwei' CODEC(ZSTD(1)), + `weight` UInt64 COMMENT 'Quorum weight achieved in Gwei' CODEC(ZSTD(1)), + `quorum` UInt64 COMMENT 'Quorum threshold needed in Gwei' CODEC(ZSTD(1)), + `outcome` LowCardinality(String) COMMENT 'Settlement outcome: SETTLED / DROPPED', + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(epoch_start_date_time) +ORDER BY (epoch_start_date_time, meta_network_name, meta_client_name, builder_index, outcome) +COMMENT 'Builder pending payment settle/drop decisions at epoch boundary (EIP-7732 ePBS) synthesized from TYSM-instrumented beacon node internals. Multi-witness (per-node).'; + +CREATE TABLE default.beacon_synthetic_builder_pending_payment_settlement ON CLUSTER '{cluster}' + AS default.beacon_synthetic_builder_pending_payment_settlement_local + ENGINE = Distributed('{cluster}', default, beacon_synthetic_builder_pending_payment_settlement_local, + cityHash64(epoch_start_date_time, meta_network_name, meta_client_name, builder_index, outcome)); + +--------------------------------------------------------------------- +-- 3. beacon_synthetic_payload_attestation_processed +-- Per-PTC-vote enrichment: fires after a payload_attestation_message has +-- passed full gossip validation (signature, validator-in-PTC, block-root +-- seen + valid, slot-current, first-from-this-validator dedup) and been +-- committed for downstream pipeline use. Counterpart to the gossip-receipt +-- `beacon_api_eth_v1_events_payload_attestation`: observing both gives a +-- per-validator picture of validation latency and whether the vote was +-- admitted vs dropped at some validation stage. +--------------------------------------------------------------------- +CREATE TABLE default.beacon_synthetic_payload_attestation_processed_local ON CLUSTER '{cluster}' ( + `updated_date_time` DateTime COMMENT 'Timestamp when the record was last updated' CODEC(DoubleDelta, ZSTD(1)), + `event_date_time` DateTime64(3) COMMENT 'When the beacon node processed this PTC vote (TYSM ProcessedAt)' CODEC(DoubleDelta, ZSTD(1)), + `slot` UInt32 COMMENT 'Slot the PTC vote applies to' CODEC(DoubleDelta, ZSTD(1)), + `slot_start_date_time` DateTime COMMENT 'The wall clock time when the slot started' CODEC(DoubleDelta, ZSTD(1)), + `propagation_slot_start_diff` UInt32 COMMENT 'Difference between processed_at and slot_start_date_time in ms' CODEC(ZSTD(1)), + `epoch` UInt32 COMMENT 'Epoch number' CODEC(DoubleDelta, ZSTD(1)), + `epoch_start_date_time` DateTime COMMENT 'The wall clock time when the epoch started' CODEC(DoubleDelta, ZSTD(1)), + `beacon_block_root` FixedString(66) COMMENT 'Beacon block root the PTC validator attested to' CODEC(ZSTD(1)), + `validator_index` UInt32 COMMENT 'Index of the PTC validator' CODEC(ZSTD(1)), + `payload_present` Bool COMMENT 'Whether the validator attests payload was present' CODEC(ZSTD(1)), + `blob_data_available` Bool COMMENT 'Whether the validator attests blob data was available' CODEC(ZSTD(1)), + `peer_id` String COMMENT 'Peer ID we received this PTC vote from on the gossip wire' CODEC(ZSTD(1)), + `processing_duration_ms` UInt64 COMMENT 'Time from gossip receipt to processing completion in milliseconds' CODEC(ZSTD(1)), + `received_at` DateTime64(3) COMMENT 'Wall-clock time the PTC vote was first received from gossip' CODEC(DoubleDelta, ZSTD(1)), + `meta_client_name` LowCardinality(String) COMMENT 'Name of the client that generated the event', + `meta_client_id` String COMMENT 'Unique Session ID of the client' CODEC(ZSTD(1)), + `meta_client_version` LowCardinality(String) COMMENT 'Version of the client', + `meta_client_implementation` LowCardinality(String) COMMENT 'Implementation of the client', + `meta_client_os` LowCardinality(String) COMMENT 'Operating system of the client', + `meta_client_ip` Nullable(IPv6) COMMENT 'IP address of the client' CODEC(ZSTD(1)), + `meta_client_geo_city` LowCardinality(String) COMMENT 'City of the client' CODEC(ZSTD(1)), + `meta_client_geo_country` LowCardinality(String) COMMENT 'Country of the client' CODEC(ZSTD(1)), + `meta_client_geo_country_code` LowCardinality(String) COMMENT 'Country code of the client' CODEC(ZSTD(1)), + `meta_client_geo_continent_code` LowCardinality(String) COMMENT 'Continent code of the client' CODEC(ZSTD(1)), + `meta_client_geo_longitude` Nullable(Float64) COMMENT 'Longitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_latitude` Nullable(Float64) COMMENT 'Latitude of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_number` Nullable(UInt32) COMMENT 'ASN of the client' CODEC(ZSTD(1)), + `meta_client_geo_autonomous_system_organization` Nullable(String) COMMENT 'AS organization of the client' CODEC(ZSTD(1)), + `meta_network_id` Int32 COMMENT 'Ethereum network ID' CODEC(DoubleDelta, ZSTD(1)), + `meta_network_name` LowCardinality(String) COMMENT 'Ethereum network name', + `meta_consensus_version` LowCardinality(String) COMMENT 'Consensus client version', + `meta_consensus_version_major` LowCardinality(String) COMMENT 'Consensus client major version', + `meta_consensus_version_minor` LowCardinality(String) COMMENT 'Consensus client minor version', + `meta_consensus_version_patch` LowCardinality(String) COMMENT 'Consensus client patch version', + `meta_consensus_implementation` LowCardinality(String) COMMENT 'Consensus client implementation', + `meta_labels` Map(String, String) COMMENT 'Labels associated with the event' CODEC(ZSTD(1)) +) ENGINE = ReplicatedReplacingMergeTree( + '/clickhouse/{installation}/{cluster}/{database}/tables/{table}/{shard}', + '{replica}', + updated_date_time +) PARTITION BY toStartOfMonth(slot_start_date_time) +ORDER BY (slot_start_date_time, meta_network_name, meta_client_name, beacon_block_root, validator_index) +COMMENT 'PTC votes after full gossip validation completed (EIP-7732 ePBS) synthesized from TYSM-instrumented beacon node internals. Enrichment counterpart to beacon_api_eth_v1_events_payload_attestation. Multi-witness (per-node).'; + +CREATE TABLE default.beacon_synthetic_payload_attestation_processed ON CLUSTER '{cluster}' + AS default.beacon_synthetic_payload_attestation_processed_local + ENGINE = Distributed('{cluster}', default, beacon_synthetic_payload_attestation_processed_local, + cityHash64(slot_start_date_time, meta_network_name, meta_client_name, beacon_block_root, validator_index)); diff --git a/go.mod b/go.mod index acd8bc43..48992178 100644 --- a/go.mod +++ b/go.mod @@ -7,18 +7,24 @@ go 1.26.2 // Match tysm's tablewriter version requirement replace github.com/olekukonko/tablewriter => github.com/olekukonko/tablewriter v0.0.5 +// Pin go-ethereum to bal-devnet-6 — the EL branch deployed on glamsterdam-devnet-3 +// per ethpandaops/glamsterdam-devnets ansible inventory. Carries the latest BAL +// (EIP-7928) refinements plus Amsterdam slot-number support (EIP-7843) needed for +// Gloas. ethcore was bumped to match the new 5-arg eth.NewPeer signature. +replace github.com/ethereum/go-ethereum => github.com/ethereum/go-ethereum v1.17.3-0.20260507223249-73944e329925 + require ( github.com/ClickHouse/ch-go v0.71.0 github.com/IBM/sarama v1.46.2 - github.com/OffchainLabs/prysm/v7 v7.0.0 + github.com/OffchainLabs/prysm/v7 v7.1.3-rc.3.0.20260511221050-17a03b4a55e4 github.com/avast/retry-go/v4 v4.6.1 github.com/beevik/ntp v1.4.3 github.com/cenkalti/backoff/v5 v5.0.3 github.com/chuckpreslar/emission v0.0.0-20170206194824-a7ddd980baf9 github.com/creasty/defaults v1.8.0 - github.com/ethereum/go-ethereum v1.17.1 - github.com/ethpandaops/beacon v0.69.0 - github.com/ethpandaops/ethcore v0.0.0-20260513090510-be891b9812d8 + github.com/ethereum/go-ethereum v1.17.3-0.20260507223249-73944e329925 + github.com/ethpandaops/beacon v0.69.1-0.20260514032911-81b9ef3395fd + github.com/ethpandaops/ethcore v0.0.0-20260514003726-f67d7a6e9f91 github.com/ethpandaops/ethwallclock v0.4.0 github.com/ethpandaops/go-eth2-client v0.1.3-0.20260513062559-5fb497ba414f github.com/failsafe-go/failsafe-go v0.9.6 @@ -96,7 +102,7 @@ require ( github.com/Jeffail/grok v1.1.0 // indirect github.com/Jeffail/shutdown v1.1.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/OffchainLabs/go-bitfield v0.0.0-20251031151322-f427d04d8506 // indirect + github.com/OffchainLabs/go-bitfield v0.0.0-20260504143531-5cbb6d0f5f2e github.com/OffchainLabs/prysm/v6 v6.1.1 // indirect github.com/OneOfOne/xxhash v1.2.8 // indirect github.com/ProjectZKM/Ziren/crates/go-runtime/zkvm_runtime v0.0.0-20251001021608-1fe7b43fc4d6 // indirect @@ -115,7 +121,7 @@ require ( github.com/containerd/platforms v1.0.0-rc.1 // indirect github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect - github.com/crate-crypto/go-eth-kzg v1.4.0 // indirect + github.com/crate-crypto/go-eth-kzg v1.5.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect github.com/deckarep/golang-set/v2 v2.8.0 // indirect @@ -265,7 +271,7 @@ require ( github.com/protolambda/bls12-381-util v0.1.0 // indirect github.com/protolambda/zrnt v0.34.1 // indirect github.com/protolambda/ztyp v0.2.2 // indirect - github.com/prysmaticlabs/fastssz v0.0.0-20251103153600-259302269bfc // indirect + github.com/prysmaticlabs/fastssz v0.0.0-20260421202104-7a6eb71e6e45 // indirect github.com/prysmaticlabs/go-bitfield v0.0.0-20240618144021-706c95b2dd15 // indirect github.com/prysmaticlabs/gohashtree v0.0.5-beta // indirect github.com/quic-go/qpack v0.6.0 // indirect diff --git a/go.sum b/go.sum index 2afcd63c..ede48417 100644 --- a/go.sum +++ b/go.sum @@ -31,12 +31,14 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= -github.com/OffchainLabs/go-bitfield v0.0.0-20251031151322-f427d04d8506 h1:d/SJkN8/9Ca+1YmuDiUJxAiV4w/a9S8NcsG7GMQSrVI= -github.com/OffchainLabs/go-bitfield v0.0.0-20251031151322-f427d04d8506/go.mod h1:6TZI4FU6zT8x6ZfWa1J8YQ2NgW0wLV/W3fHRca8ISBo= +github.com/OffchainLabs/go-bitfield v0.0.0-20260504143531-5cbb6d0f5f2e h1:M9Ia6En5b8/imySo4xQeeoJPG2tOOJEKk/GnfBI86Hk= +github.com/OffchainLabs/go-bitfield v0.0.0-20260504143531-5cbb6d0f5f2e/go.mod h1:6TZI4FU6zT8x6ZfWa1J8YQ2NgW0wLV/W3fHRca8ISBo= +github.com/OffchainLabs/hashtree v0.2.3 h1:nM8dBAQZzHLzzM14FaAHXnHTAXZIst69v5xWuS48y/c= +github.com/OffchainLabs/hashtree v0.2.3/go.mod h1:b07+cRZs+eAR8TR57CB9TQlt5Gnl/06Xs76xt/1wq0M= github.com/OffchainLabs/prysm/v6 v6.1.1 h1:OpkmHJFdM9rmEh8jZPOhjSVRexhnGuBPPzjOOf2R/5E= github.com/OffchainLabs/prysm/v6 v6.1.1/go.mod h1:g/rVgpjtbxpHDR6CDBmWVxIBZ9aog8ikvpBHLknhEZQ= -github.com/OffchainLabs/prysm/v7 v7.0.0 h1:rtByY17isH3J3ddxrA0fgEXVJnZzP4JAvUtQn/Mr47s= -github.com/OffchainLabs/prysm/v7 v7.0.0/go.mod h1:2b+Y0Oxqg0cvOOe5LW5gC4o+WMrhaOqhoqz8UC2/yFg= +github.com/OffchainLabs/prysm/v7 v7.1.3-rc.3.0.20260511221050-17a03b4a55e4 h1:3Aqf+My4rofozIl19qoa93Xi4kjNAFMY2iGM6B/NiJE= +github.com/OffchainLabs/prysm/v7 v7.1.3-rc.3.0.20260511221050-17a03b4a55e4/go.mod h1:CQIQ78uNqci0Q27YOym3fzh48iNcSO4537FwhJv6MS8= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= github.com/ProjectZKM/Ziren/crates/go-runtime/zkvm_runtime v0.0.0-20251001021608-1fe7b43fc4d6 h1:1zYrtlhrZ6/b6SAjLSfKzWtdgqK0U+HtH/VcBWh1BaU= @@ -51,8 +53,8 @@ github.com/alicebob/miniredis/v2 v2.33.0 h1:uvTF0EDeu9RLnUEG27Db5I68ESoIxTiXbNUi github.com/alicebob/miniredis/v2 v2.33.0/go.mod h1:MhP4a3EU7aENRi9aO+tHfTBZicLqQevyi/DJpoj6mi0= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/attestantio/go-eth2-client v0.26.0 h1:oDWKvIUJfvr1EBi/w9L6mawYZHOCymjHkml7fZplT20= -github.com/attestantio/go-eth2-client v0.26.0/go.mod h1:fvULSL9WtNskkOB4i+Yyr6BKpNHXvmpGZj9969fCrfY= +github.com/attestantio/go-eth2-client v0.27.1 h1:g7bm+gG/p+gfzYdEuxuAepVWYb8EO+2KojV5/Lo2BxM= +github.com/attestantio/go-eth2-client v0.27.1/go.mod h1:fvULSL9WtNskkOB4i+Yyr6BKpNHXvmpGZj9969fCrfY= github.com/avast/retry-go/v4 v4.6.1 h1:VkOLRubHdisGrHnTu89g08aQEWEgRU7LVEop3GbIcMk= github.com/avast/retry-go/v4 v4.6.1/go.mod h1:V6oF8njAwxJ5gRo1Q7Cxab24xs5NCWZBeaHHBklR8mA= github.com/bazelbuild/rules_go v0.23.2 h1:Wxu7JjqnF78cKZbsBsARLSXx/jlGaSLCnUV3mTlyHvM= @@ -118,8 +120,8 @@ github.com/cpuguy83/dockercfg v0.3.2/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHf github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/crate-crypto/go-eth-kzg v1.4.0 h1:WzDGjHk4gFg6YzV0rJOAsTK4z3Qkz5jd4RE3DAvPFkg= -github.com/crate-crypto/go-eth-kzg v1.4.0/go.mod h1:J9/u5sWfznSObptgfa92Jq8rTswn6ahQWEuiLHOjCUI= +github.com/crate-crypto/go-eth-kzg v1.5.0 h1:FYRiJMJG2iv+2Dy3fi14SVGjcPteZ5HAAUe4YWlJygc= +github.com/crate-crypto/go-eth-kzg v1.5.0/go.mod h1:J9/u5sWfznSObptgfa92Jq8rTswn6ahQWEuiLHOjCUI= github.com/crate-crypto/go-kzg-4844 v1.1.0 h1:EN/u9k2TF6OWSHrCCDBBU6GLNMq88OspHHlMnHfoyU4= github.com/crate-crypto/go-kzg-4844 v1.1.0/go.mod h1:JolLjpSff1tCCJKaJx4psrlEdlXuJEC996PL3tTAFks= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -179,12 +181,12 @@ github.com/ethereum/c-kzg-4844/v2 v2.1.6 h1:xQymkKCT5E2Jiaoqf3v4wsNgjZLY0lRSkZn2 github.com/ethereum/c-kzg-4844/v2 v2.1.6/go.mod h1:8HMkUZ5JRv4hpw/XUrYWSQNAUzhHMg2UDb/U+5m+XNw= github.com/ethereum/go-bigmodexpfix v0.0.0-20250911101455-f9e208c548ab h1:rvv6MJhy07IMfEKuARQ9TKojGqLVNxQajaXEp/BoqSk= github.com/ethereum/go-bigmodexpfix v0.0.0-20250911101455-f9e208c548ab/go.mod h1:IuLm4IsPipXKF7CW5Lzf68PIbZ5yl7FFd74l/E0o9A8= -github.com/ethereum/go-ethereum v1.17.1 h1:IjlQDjgxg2uL+GzPRkygGULPMLzcYWncEI7wbaizvho= -github.com/ethereum/go-ethereum v1.17.1/go.mod h1:7UWOVHL7K3b8RfVRea022btnzLCaanwHtBuH1jUCH/I= -github.com/ethpandaops/beacon v0.69.0 h1:qGfy9y+zp8qLna6dgxvzLfAsAdGez0JL8BFJjr1Zudo= -github.com/ethpandaops/beacon v0.69.0/go.mod h1:TSvV8MOrn2kfWgWEFOg5b3AvlMLF5BWbkpsMPPGf4/I= -github.com/ethpandaops/ethcore v0.0.0-20260513090510-be891b9812d8 h1:KCZkl5/P79QqwpSVq5JWUnA331J+3Xg5VMp0MQFunvQ= -github.com/ethpandaops/ethcore v0.0.0-20260513090510-be891b9812d8/go.mod h1:RbeOhj2Umh5rF3tJ69vlOBGn8zXtSWGsZz8cLnClkv4= +github.com/ethereum/go-ethereum v1.17.3-0.20260507223249-73944e329925 h1:d0kQnVKgCER1xIEYB0ucuNLfq4PtBZw+abMceZKUO8g= +github.com/ethereum/go-ethereum v1.17.3-0.20260507223249-73944e329925/go.mod h1:f2EhRwqewIZkGoQekywI2Y2RZAMTSavLNkD9qItFy1A= +github.com/ethpandaops/beacon v0.69.1-0.20260514032911-81b9ef3395fd h1:AaLk72yt995XuS+Hmo+KimdBT+3e8hoe2oQwX7xmaHA= +github.com/ethpandaops/beacon v0.69.1-0.20260514032911-81b9ef3395fd/go.mod h1:vrxMPxDejPbdEyHr4o3ajDYP2sasPXkw40Hv/x90fg8= +github.com/ethpandaops/ethcore v0.0.0-20260514003726-f67d7a6e9f91 h1:Ul0YjpD4MWCTN41Vj70ad19PP0zsIdLuMJhvu/N+fPU= +github.com/ethpandaops/ethcore v0.0.0-20260514003726-f67d7a6e9f91/go.mod h1:+wq6Rg1Fmu9JCHO2nA+LyKdpNQm2vMGnwqftGWbftiU= github.com/ethpandaops/ethereum-package-go v0.8.1 h1:VN5l8UXveyw7gp0Glj8BRzS/D5RKyvhLeaoi/C5Jy5M= github.com/ethpandaops/ethereum-package-go v0.8.1/go.mod h1:LQThCwlCeeNBTdXOFV+xSwudoced53x+o/Orya3Y+oo= github.com/ethpandaops/ethwallclock v0.4.0 h1:+sgnhf4pk6hLPukP076VxkiLloE4L0Yk1yat+ZyHh1g= @@ -696,8 +698,8 @@ github.com/protolambda/zrnt v0.34.1 h1:qW55rnhZJDnOb3TwFiFRJZi3yTXFrJdGOFQM7vCwY github.com/protolambda/zrnt v0.34.1/go.mod h1:A0fezkp9Tt3GBLATSPIbuY4ywYESyAuc/FFmPKg8Lqs= github.com/protolambda/ztyp v0.2.2 h1:rVcL3vBu9W/aV646zF6caLS/dyn9BN8NYiuJzicLNyY= github.com/protolambda/ztyp v0.2.2/go.mod h1:9bYgKGqg3wJqT9ac1gI2hnVb0STQq7p/1lapqrqY1dU= -github.com/prysmaticlabs/fastssz v0.0.0-20251103153600-259302269bfc h1:ASmh3y4ALne2OoabF5pPL8OcIpBko8gFMg5018MxkBI= -github.com/prysmaticlabs/fastssz v0.0.0-20251103153600-259302269bfc/go.mod h1:h2OlIZD/M6wFvV3YMZbW16lFgh3Rsye00G44J2cwLyU= +github.com/prysmaticlabs/fastssz v0.0.0-20260421202104-7a6eb71e6e45 h1:UkcU1rqEBOInBQdP1mCE4Smo90Eux82VEOyBhEK9TA0= +github.com/prysmaticlabs/fastssz v0.0.0-20260421202104-7a6eb71e6e45/go.mod h1:6lF+KRHYePGWv4zcbdfmq+EoCy1rch1Ew/oyZmi6AZ0= github.com/prysmaticlabs/go-bitfield v0.0.0-20240618144021-706c95b2dd15 h1:lC8kiphgdOBTcbTvo8MwkvpKjO0SlAgjv4xIK5FGJ94= github.com/prysmaticlabs/go-bitfield v0.0.0-20240618144021-706c95b2dd15/go.mod h1:8svFBIKKu31YriBG/pNizo9N0Jr9i5PQ+dFkxWg3x5k= github.com/prysmaticlabs/gohashtree v0.0.5-beta h1:ct41mg7HyIZd7uoSM/ud23f+3DxQG9tlMlQG+BVX23c= diff --git a/pkg/cannon/cannon.go b/pkg/cannon/cannon.go index 6ac0201e..be4a1428 100644 --- a/pkg/cannon/cannon.go +++ b/pkg/cannon/cannon.go @@ -698,6 +698,63 @@ func (c *Cannon) startBeaconBlockProcessor(ctx context.Context) error { c.beacon, clientMeta, ), + v2.NewBlockAccessListDeriver( + c.log, + &c.Config.Derivers.BlockAccessListConfig, + iterator.NewBackfillingCheckpoint( + c.log, + networkName, + networkID, + xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST, + c.coordinatorClient, + wallclock, + &backfillingCheckpointIteratorMetrics, + c.beacon, + finalizedCheckpoint, + 3, + &c.Config.Derivers.BlockAccessListConfig.Iterator, + ), + c.beacon, + clientMeta, + ), + v2.NewPayloadAttestationDeriver( + c.log, + &c.Config.Derivers.PayloadAttestationConfig, + iterator.NewBackfillingCheckpoint( + c.log, + networkName, + networkID, + xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION, + c.coordinatorClient, + wallclock, + &backfillingCheckpointIteratorMetrics, + c.beacon, + finalizedCheckpoint, + 3, + &c.Config.Derivers.PayloadAttestationConfig.Iterator, + ), + c.beacon, + clientMeta, + ), + v2.NewExecutionPayloadBidDeriver( + c.log, + &c.Config.Derivers.ExecutionPayloadBidConfig, + iterator.NewBackfillingCheckpoint( + c.log, + networkName, + networkID, + xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID, + c.coordinatorClient, + wallclock, + &backfillingCheckpointIteratorMetrics, + c.beacon, + finalizedCheckpoint, + 3, + &c.Config.Derivers.ExecutionPayloadBidConfig.Iterator, + ), + c.beacon, + clientMeta, + ), } c.eventDerivers = eventDerivers diff --git a/pkg/cannon/deriver/beacon/eth/v1/beacon_blob.go b/pkg/cannon/deriver/beacon/eth/v1/beacon_blob.go index 404559eb..a057c5b0 100644 --- a/pkg/cannon/deriver/beacon/eth/v1/beacon_blob.go +++ b/pkg/cannon/deriver/beacon/eth/v1/beacon_blob.go @@ -49,8 +49,8 @@ type BeaconBlobDeriver struct { func NewBeaconBlobDeriver(log observability.ContextualLogger, config *BeaconBlobDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *BeaconBlobDeriver { return &BeaconBlobDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v1/beacon_blob", - "type": BeaconBlobDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v1/beacon_blob", + typeLogField: BeaconBlobDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v1/beacon_committee.go b/pkg/cannon/deriver/beacon/eth/v1/beacon_committee.go index 6fbe6781..0cc6e712 100644 --- a/pkg/cannon/deriver/beacon/eth/v1/beacon_committee.go +++ b/pkg/cannon/deriver/beacon/eth/v1/beacon_committee.go @@ -47,8 +47,8 @@ type BeaconCommitteeDeriver struct { func NewBeaconCommitteeDeriver(log observability.ContextualLogger, config *BeaconCommitteeDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *BeaconCommitteeDeriver { return &BeaconCommitteeDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v1/beacon_committee", - "type": BeaconCommitteeDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v1/beacon_committee", + typeLogField: BeaconCommitteeDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v1/beacon_sync_committee.go b/pkg/cannon/deriver/beacon/eth/v1/beacon_sync_committee.go index 2481ba32..60759f2a 100644 --- a/pkg/cannon/deriver/beacon/eth/v1/beacon_sync_committee.go +++ b/pkg/cannon/deriver/beacon/eth/v1/beacon_sync_committee.go @@ -53,8 +53,8 @@ func NewBeaconSyncCommitteeDeriver( ) *BeaconSyncCommitteeDeriver { return &BeaconSyncCommitteeDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v1/beacon_sync_committee", - "type": BeaconSyncCommitteeDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v1/beacon_sync_committee", + typeLogField: BeaconSyncCommitteeDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v1/beacon_validators.go b/pkg/cannon/deriver/beacon/eth/v1/beacon_validators.go index 481f10ab..3e691e15 100644 --- a/pkg/cannon/deriver/beacon/eth/v1/beacon_validators.go +++ b/pkg/cannon/deriver/beacon/eth/v1/beacon_validators.go @@ -48,8 +48,8 @@ type BeaconValidatorsDeriver struct { func NewBeaconValidatorsDeriver(log observability.ContextualLogger, config *BeaconValidatorsDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *BeaconValidatorsDeriver { return &BeaconValidatorsDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v1/validators", - "type": BeaconValidatorsDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v1/validators", + typeLogField: BeaconValidatorsDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v1/log_fields.go b/pkg/cannon/deriver/beacon/eth/v1/log_fields.go new file mode 100644 index 00000000..0999b6d6 --- /dev/null +++ b/pkg/cannon/deriver/beacon/eth/v1/log_fields.go @@ -0,0 +1,7 @@ +package v1 + +// Log field keys shared across the v1 cannon derivers. +const ( + moduleLogField = "module" + typeLogField = "type" +) diff --git a/pkg/cannon/deriver/beacon/eth/v1/proposer_duty.go b/pkg/cannon/deriver/beacon/eth/v1/proposer_duty.go index 1f1e4e8d..2b859837 100644 --- a/pkg/cannon/deriver/beacon/eth/v1/proposer_duty.go +++ b/pkg/cannon/deriver/beacon/eth/v1/proposer_duty.go @@ -48,8 +48,8 @@ type ProposerDutyDeriver struct { func NewProposerDutyDeriver(log observability.ContextualLogger, config *ProposerDutyDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ProposerDutyDeriver { return &ProposerDutyDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v1/proposer_duty", - "type": ProposerDutyDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v1/proposer_duty", + typeLogField: ProposerDutyDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v2/attester_slashing.go b/pkg/cannon/deriver/beacon/eth/v2/attester_slashing.go index 26632b56..f89b4ffe 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/attester_slashing.go +++ b/pkg/cannon/deriver/beacon/eth/v2/attester_slashing.go @@ -45,8 +45,8 @@ type AttesterSlashingDeriver struct { func NewAttesterSlashingDeriver(log observability.ContextualLogger, config *AttesterSlashingDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *AttesterSlashingDeriver { return &AttesterSlashingDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/attester_slashing", - "type": AttesterSlashingDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/attester_slashing", + typeLogField: AttesterSlashingDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v2/beacon_block.go b/pkg/cannon/deriver/beacon/eth/v2/beacon_block.go index 39fa10a6..334de3ca 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/beacon_block.go +++ b/pkg/cannon/deriver/beacon/eth/v2/beacon_block.go @@ -49,8 +49,8 @@ type BeaconBlockDeriver struct { func NewBeaconBlockDeriver(log observability.ContextualLogger, config *BeaconBlockDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *BeaconBlockDeriver { return &BeaconBlockDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/beacon_block", - "type": BeaconBlockDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/beacon_block", + typeLogField: BeaconBlockDeriverName.String(), }), cfg: config, iterator: iter, @@ -400,6 +400,8 @@ func getBlockMessage(block *spec.VersionedSignedBeaconBlock) (ssz.Marshaler, err return block.Electra.Message, nil case spec.DataVersionFulu: return block.Fulu.Message, nil + case spec.DataVersionGloas: + return block.Gloas.Message, nil default: return nil, fmt.Errorf("unsupported block version: %s", block.Version) } diff --git a/pkg/cannon/deriver/beacon/eth/v2/beacon_block_sync_aggregate.go b/pkg/cannon/deriver/beacon/eth/v2/beacon_block_sync_aggregate.go index e43e5ae8..1128c081 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/beacon_block_sync_aggregate.go +++ b/pkg/cannon/deriver/beacon/eth/v2/beacon_block_sync_aggregate.go @@ -60,8 +60,8 @@ func NewBeaconBlockSyncAggregateDeriver( ) *BeaconBlockSyncAggregateDeriver { return &BeaconBlockSyncAggregateDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/beacon_block_sync_aggregate", - "type": BeaconBlockSyncAggregateDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/beacon_block_sync_aggregate", + typeLogField: BeaconBlockSyncAggregateDeriverName.String(), }), cfg: config, iterator: iter, @@ -365,6 +365,14 @@ func (b *BeaconBlockSyncAggregateDeriver) getSyncAggregate( sa := block.Fulu.Message.Body.SyncAggregate bits = sa.SyncCommitteeBits[:] signature = sa.SyncCommitteeSignature[:] + case spec.DataVersionGloas: + if block.Gloas == nil || block.Gloas.Message == nil || block.Gloas.Message.Body == nil { + return nil, nil //nolint:nilnil // nil indicates no sync aggregate available + } + + sa := block.Gloas.Message.Body.SyncAggregate + bits = sa.SyncCommitteeBits[:] + signature = sa.SyncCommitteeSignature[:] default: return nil, fmt.Errorf("unsupported block version: %s", block.Version) } diff --git a/pkg/cannon/deriver/beacon/eth/v2/block_access_list.go b/pkg/cannon/deriver/beacon/eth/v2/block_access_list.go new file mode 100644 index 00000000..b8ad08cd --- /dev/null +++ b/pkg/cannon/deriver/beacon/eth/v2/block_access_list.go @@ -0,0 +1,489 @@ +package v2 + +import ( + "context" + "fmt" + "time" + + backoff "github.com/cenkalti/backoff/v5" + "github.com/ethpandaops/go-eth2-client/spec" + "github.com/ethpandaops/go-eth2-client/spec/phase0" + "github.com/ethpandaops/xatu/pkg/cannon/ethereum" + "github.com/ethpandaops/xatu/pkg/cannon/iterator" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/google/uuid" + "github.com/pkg/errors" + "github.com/sirupsen/logrus" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + BlockAccessListDeriverName = xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST +) + +// BlockAccessListDeriverConfig holds the configuration for the BAL deriver. +type BlockAccessListDeriverConfig struct { + Enabled bool `yaml:"enabled" default:"true"` + Iterator iterator.BackfillingCheckpointConfig `yaml:"iterator"` +} + +// BlockAccessListDeriver extracts block access list data from Gloas beacon blocks. +// BAL (Block Access List) is introduced in EIP-7928 and only exists from the +// Gloas fork onwards. The BAL data is embedded in the ExecutionPayload as the +// BlockAccessList field. +type BlockAccessListDeriver struct { + log observability.ContextualLogger + cfg *BlockAccessListDeriverConfig + iterator *iterator.BackfillingCheckpoint + onEventsCallbacks []func(ctx context.Context, events []*xatu.DecoratedEvent) error + beacon *ethereum.BeaconNode + clientMeta *xatu.ClientMeta +} + +// NewBlockAccessListDeriver creates a new BlockAccessListDeriver. +func NewBlockAccessListDeriver( + log observability.ContextualLogger, + config *BlockAccessListDeriverConfig, + iter *iterator.BackfillingCheckpoint, + beacon *ethereum.BeaconNode, + clientMeta *xatu.ClientMeta, +) *BlockAccessListDeriver { + return &BlockAccessListDeriver{ + log: log.WithFields(logrus.Fields{ + moduleLogField: "cannon/event/beacon/eth/v2/block_access_list", + typeLogField: BlockAccessListDeriverName.String(), + }), + cfg: config, + iterator: iter, + beacon: beacon, + clientMeta: clientMeta, + } +} + +// CannonType returns the cannon type for this deriver. +func (b *BlockAccessListDeriver) CannonType() xatu.CannonType { + return BlockAccessListDeriverName +} + +// Name returns the human-readable name for this deriver. +func (b *BlockAccessListDeriver) Name() string { + return BlockAccessListDeriverName.String() +} + +// ActivationFork returns the fork at which this deriver activates. +func (b *BlockAccessListDeriver) ActivationFork() spec.DataVersion { + return spec.DataVersionGloas +} + +// OnEventsDerived registers a callback for when events are derived. +func (b *BlockAccessListDeriver) OnEventsDerived( + ctx context.Context, + fn func(ctx context.Context, events []*xatu.DecoratedEvent) error, +) { + b.onEventsCallbacks = append(b.onEventsCallbacks, fn) +} + +// Start begins the deriver's main processing loop. +func (b *BlockAccessListDeriver) Start(ctx context.Context) error { + if !b.cfg.Enabled { + b.log.WithContext(ctx).Info("Block access list deriver disabled") + + return nil + } + + b.log.WithContext(ctx).Info("Block access list deriver enabled") + + if err := b.iterator.Start(ctx, b.ActivationFork()); err != nil { + return errors.Wrap(err, "failed to start iterator") + } + + // Start our main loop + b.run(ctx) + + return nil +} + +// Stop gracefully stops the deriver. +func (b *BlockAccessListDeriver) Stop(ctx context.Context) error { + return nil +} + +func (b *BlockAccessListDeriver) run(rctx context.Context) { + bo := backoff.NewExponentialBackOff() + bo.MaxInterval = 3 * time.Minute + + for { + select { + case <-rctx.Done(): + return + default: + operation := func() (string, error) { + ctx, span := observability.Tracer().Start(rctx, + fmt.Sprintf("Derive %s", b.Name()), + trace.WithAttributes( + attribute.String("network", + string(b.beacon.Metadata().Network.Name))), + ) + defer span.End() + + time.Sleep(100 * time.Millisecond) + + if err := b.beacon.Synced(ctx); err != nil { + return "", err + } + + // Get the next position + position, err := b.iterator.Next(ctx) + if err != nil { + return "", err + } + + // Process the epoch + events, err := b.processEpoch(ctx, position.Next) + if err != nil { + b.log.WithError(err).WithContext(ctx).Error("Failed to process epoch") + + return "", err + } + + // Look ahead + b.lookAhead(ctx, position.LookAheads) + + for _, fn := range b.onEventsCallbacks { + if errr := fn(ctx, events); errr != nil { + return "", errors.Wrapf(errr, "failed to send events") + } + } + + // Update our location + if err := b.iterator.UpdateLocation(ctx, position.Next, + position.Direction); err != nil { + return "", err + } + + bo.Reset() + + return "", nil + } + + retryOpts := []backoff.RetryOption{ + backoff.WithBackOff(bo), + backoff.WithNotify(func(err error, timer time.Duration) { + b.log.WithError(err).WithField("next_attempt", timer).WithContext(rctx). + Warn("Failed to process") + }), + } + if _, err := backoff.Retry(rctx, operation, retryOpts...); err != nil { + b.log.WithError(err).WithContext(rctx).Warn("Failed to process") + } + } + } +} + +func (b *BlockAccessListDeriver) processEpoch( + ctx context.Context, + epoch phase0.Epoch, +) ([]*xatu.DecoratedEvent, error) { + ctx, span := observability.Tracer().Start(ctx, + "BlockAccessListDeriver.processEpoch", + //nolint:gosec // epoch value will never overflow int64 + trace.WithAttributes(attribute.Int64("epoch", int64(epoch))), + ) + defer span.End() + + sp, err := b.beacon.Node().Spec() + if err != nil { + return nil, errors.Wrap(err, "failed to obtain spec") + } + + allEvents := make([]*xatu.DecoratedEvent, 0, sp.SlotsPerEpoch) + + for i := uint64(0); i <= uint64(sp.SlotsPerEpoch-1); i++ { + slot := phase0.Slot(i + uint64(epoch)*uint64(sp.SlotsPerEpoch)) + + events, err := b.processSlot(ctx, slot) + if err != nil { + return nil, errors.Wrapf(err, "failed to process slot %d", slot) + } + + allEvents = append(allEvents, events...) + } + + return allEvents, nil +} + +func (b *BlockAccessListDeriver) processSlot( + ctx context.Context, + slot phase0.Slot, +) ([]*xatu.DecoratedEvent, error) { + ctx, span := observability.Tracer().Start(ctx, + "BlockAccessListDeriver.processSlot", + //nolint:gosec // slot value will never overflow int64 + trace.WithAttributes(attribute.Int64("slot", int64(slot))), + ) + defer span.End() + + // Get the block + block, err := b.beacon.GetBeaconBlock(ctx, xatuethv1.SlotAsString(slot)) + if err != nil { + return nil, errors.Wrapf(err, + "failed to get beacon block for slot %d", slot) + } + + if block == nil { + return []*xatu.DecoratedEvent{}, nil + } + + // BAL only exists from Gloas onwards. Pre-Gloas blocks have no BAL data. + if block.Version < spec.DataVersionGloas { + return []*xatu.DecoratedEvent{}, nil + } + + // EIP-7732: Gloas block bodies no longer carry ExecutionPayload inline. + // The payload (and its BlockAccessList) arrives in a separate + // ExecutionPayloadEnvelope, fetched here by block ID. + if block.Gloas == nil || block.Gloas.Message == nil || block.Gloas.Message.Body == nil { + return []*xatu.DecoratedEvent{}, nil + } + + blockIdentifier, err := GetBlockIdentifier( + block, b.beacon.Metadata().Wallclock(), + ) + if err != nil { + return nil, errors.Wrapf(err, + "failed to get block identifier for slot %d", slot) + } + + envelope, err := b.beacon.GetExecutionPayloadEnvelope(ctx, xatuethv1.SlotAsString(slot)) + if err != nil { + return nil, errors.Wrapf(err, + "failed to get execution payload envelope for slot %d", slot) + } + + // envelope==nil ⇒ builder withheld payload (payload_status = EMPTY); no BAL to emit. + if envelope == nil || envelope.Message == nil || envelope.Message.Payload == nil { + return []*xatu.DecoratedEvent{}, nil + } + + execPayload := envelope.Message.Payload + execBlockNumber := execPayload.BlockNumber + execBlockHash := fmt.Sprintf("%#x", execPayload.BlockHash) + + // Decode the BAL from the ExecutionPayload (now sourced via envelope) + rawBAL := execPayload.BlockAccessList + b.log.WithField("slot", slot).WithField("raw_bal_len", len(rawBAL)).WithContext(ctx).Debug("Processing BAL data") + + bal := xatuethv1.NewBlockAccessListFromGloas(rawBAL) + + b.log.WithField("slot", slot).WithField("entries", len(bal.GetEntries())).WithContext(ctx).Debug("Decoded BAL entries") + + if bal == nil || len(bal.GetEntries()) == 0 { + return []*xatu.DecoratedEvent{}, nil + } + + events := make([]*xatu.DecoratedEvent, 0) + + for _, entry := range bal.GetEntries() { + entryEvents, err := b.processEntry(ctx, entry, blockIdentifier, execBlockNumber, execBlockHash) + if err != nil { + return nil, err + } + + events = append(events, entryEvents...) + } + + return events, nil +} + +func (b *BlockAccessListDeriver) processEntry( + ctx context.Context, + entry *xatuethv1.BlockAccessListEntry, + blockIdentifier *xatu.BlockIdentifier, + execBlockNumber uint64, + execBlockHash string, +) ([]*xatu.DecoratedEvent, error) { + address := entry.GetAddress() + events := make([]*xatu.DecoratedEvent, 0) + + for _, sc := range entry.GetStorageChanges() { + change := &xatuethv1.BlockAccessListChange{ + Address: address, + ChangeType: "storage", + BlockAccessIndex: sc.GetBlockAccessIndex(), + StorageKey: sc.GetKey(), + NewValue: sc.GetNewValue(), + } + + event, err := b.createEvent(ctx, change, blockIdentifier, execBlockNumber, execBlockHash) + if err != nil { + return nil, errors.Wrap(err, "failed to create storage change event") + } + + events = append(events, event) + } + + for _, bc := range entry.GetBalanceChanges() { + change := &xatuethv1.BlockAccessListChange{ + Address: address, + ChangeType: "balance", + BlockAccessIndex: bc.GetBlockAccessIndex(), + NewValue: bc.GetPostBalance(), + } + + event, err := b.createEvent(ctx, change, blockIdentifier, execBlockNumber, execBlockHash) + if err != nil { + return nil, errors.Wrap(err, "failed to create balance change event") + } + + events = append(events, event) + } + + for _, nc := range entry.GetNonceChanges() { + var newValue *wrapperspb.StringValue + if nc.GetNewNonce() != nil { + newValue = &wrapperspb.StringValue{ + Value: fmt.Sprintf("%d", nc.GetNewNonce().GetValue()), + } + } + + change := &xatuethv1.BlockAccessListChange{ + Address: address, + ChangeType: "nonce", + BlockAccessIndex: nc.GetBlockAccessIndex(), + NewValue: newValue, + } + + event, err := b.createEvent(ctx, change, blockIdentifier, execBlockNumber, execBlockHash) + if err != nil { + return nil, errors.Wrap(err, "failed to create nonce change event") + } + + events = append(events, event) + } + + for _, cc := range entry.GetCodeChanges() { + change := &xatuethv1.BlockAccessListChange{ + Address: address, + ChangeType: "code", + BlockAccessIndex: cc.GetBlockAccessIndex(), + NewValue: cc.GetNewCode(), + } + + event, err := b.createEvent(ctx, change, blockIdentifier, execBlockNumber, execBlockHash) + if err != nil { + return nil, errors.Wrap(err, "failed to create code change event") + } + + events = append(events, event) + } + + for _, readKey := range entry.GetStorageReads() { + change := &xatuethv1.BlockAccessListChange{ + Address: address, + ChangeType: "storage_read", + StorageKey: readKey.GetKey(), + } + + event, err := b.createEvent(ctx, change, blockIdentifier, execBlockNumber, execBlockHash) + if err != nil { + return nil, errors.Wrap(err, "failed to create storage read event") + } + + events = append(events, event) + } + + // Emit a "touched" event for accounts with no state changes and no storage + // reads. These are accounts accessed via BALANCE, EXTCODESIZE, calls, etc. + // that had no state interactions. Valuable for parallel execution analysis. + if len(entry.GetStorageChanges()) == 0 && + len(entry.GetStorageReads()) == 0 && + len(entry.GetBalanceChanges()) == 0 && + len(entry.GetNonceChanges()) == 0 && + len(entry.GetCodeChanges()) == 0 { + change := &xatuethv1.BlockAccessListChange{ + Address: address, + ChangeType: "touched", + } + + event, err := b.createEvent(ctx, change, blockIdentifier, execBlockNumber, execBlockHash) + if err != nil { + return nil, errors.Wrap(err, "failed to create touched account event") + } + + events = append(events, event) + } + + return events, nil +} + +func (b *BlockAccessListDeriver) createEvent( + ctx context.Context, + change *xatuethv1.BlockAccessListChange, + blockIdentifier *xatu.BlockIdentifier, + execBlockNumber uint64, + execBlockHash string, +) (*xatu.DecoratedEvent, error) { + metadata, ok := proto.Clone(b.clientMeta).(*xatu.ClientMeta) + if !ok { + return nil, errors.New("failed to clone client metadata") + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST, + DateTime: timestamppb.New(time.Now()), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: change, + }, + } + + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: &xatu.ClientMeta_AdditionalEthV2BeaconBlockAccessListData{ + Block: blockIdentifier, + BlockNumber: &wrapperspb.UInt64Value{Value: execBlockNumber}, + BlockHash: execBlockHash, + }, + } + + return decoratedEvent, nil +} + +// lookAhead attempts to pre-load any blocks that might be required for +// the epochs that are coming up. +func (b *BlockAccessListDeriver) lookAhead( + ctx context.Context, + epochs []phase0.Epoch, +) { + _, span := observability.Tracer().Start(ctx, + "BlockAccessListDeriver.lookAhead", + ) + defer span.End() + + sp, err := b.beacon.Node().Spec() + if err != nil { + b.log.WithError(err).WithContext(ctx).Warn("Failed to look ahead at epoch") + + return + } + + for _, epoch := range epochs { + for i := uint64(0); i <= uint64(sp.SlotsPerEpoch-1); i++ { + slot := phase0.Slot(i + uint64(epoch)*uint64(sp.SlotsPerEpoch)) + + // Add the block to the preload queue so it's available when + // we need it + b.beacon.LazyLoadBeaconBlock(xatuethv1.SlotAsString(slot)) + } + } +} diff --git a/pkg/cannon/deriver/beacon/eth/v2/bls_to_execution_change.go b/pkg/cannon/deriver/beacon/eth/v2/bls_to_execution_change.go index 1bb85134..96b75e1a 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/bls_to_execution_change.go +++ b/pkg/cannon/deriver/beacon/eth/v2/bls_to_execution_change.go @@ -47,8 +47,8 @@ type BLSToExecutionChangeDeriver struct { func NewBLSToExecutionChangeDeriver(log observability.ContextualLogger, config *BLSToExecutionChangeDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *BLSToExecutionChangeDeriver { return &BLSToExecutionChangeDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/bls_to_execution_change", - "type": BLSToExecutionChangeDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/bls_to_execution_change", + typeLogField: BLSToExecutionChangeDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v2/deposit.go b/pkg/cannon/deriver/beacon/eth/v2/deposit.go index ae003b16..cdc44751 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/deposit.go +++ b/pkg/cannon/deriver/beacon/eth/v2/deposit.go @@ -45,8 +45,8 @@ type DepositDeriver struct { func NewDepositDeriver(log observability.ContextualLogger, config *DepositDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *DepositDeriver { return &DepositDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/deposit", - "type": DepositDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/deposit", + typeLogField: DepositDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v2/elaborated_attestation.go b/pkg/cannon/deriver/beacon/eth/v2/elaborated_attestation.go index 598bfb16..3966c9d5 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/elaborated_attestation.go +++ b/pkg/cannon/deriver/beacon/eth/v2/elaborated_attestation.go @@ -47,8 +47,8 @@ type ElaboratedAttestationDeriver struct { func NewElaboratedAttestationDeriver(log observability.ContextualLogger, config *ElaboratedAttestationDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ElaboratedAttestationDeriver { return &ElaboratedAttestationDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/elaborated_attestation", - "type": ElaboratedAttestationDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/elaborated_attestation", + typeLogField: ElaboratedAttestationDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v2/execution_payload_bid.go b/pkg/cannon/deriver/beacon/eth/v2/execution_payload_bid.go new file mode 100644 index 00000000..fd94dcda --- /dev/null +++ b/pkg/cannon/deriver/beacon/eth/v2/execution_payload_bid.go @@ -0,0 +1,299 @@ +package v2 + +import ( + "context" + "fmt" + "time" + + backoff "github.com/cenkalti/backoff/v5" + "github.com/ethpandaops/go-eth2-client/spec" + "github.com/ethpandaops/go-eth2-client/spec/phase0" + "github.com/ethpandaops/xatu/pkg/cannon/ethereum" + "github.com/ethpandaops/xatu/pkg/cannon/iterator" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/google/uuid" + "github.com/pkg/errors" + "github.com/sirupsen/logrus" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + ExecutionPayloadBidDeriverName = xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID +) + +// ExecutionPayloadBidDeriverConfig configures the cannon deriver that emits +// the winning execution payload bid from each Gloas+ beacon block. +type ExecutionPayloadBidDeriverConfig struct { + Enabled bool `yaml:"enabled" default:"true"` + Iterator iterator.BackfillingCheckpointConfig `yaml:"iterator"` +} + +// ExecutionPayloadBidDeriver derives BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID +// events from `block.Body.SignedExecutionPayloadBid` on Gloas+ blocks. One +// bid per block (the proposer's chosen builder). +type ExecutionPayloadBidDeriver struct { + log observability.ContextualLogger + cfg *ExecutionPayloadBidDeriverConfig + iterator *iterator.BackfillingCheckpoint + onEventsCallbacks []func(ctx context.Context, events []*xatu.DecoratedEvent) error + beacon *ethereum.BeaconNode + clientMeta *xatu.ClientMeta +} + +func NewExecutionPayloadBidDeriver(log observability.ContextualLogger, config *ExecutionPayloadBidDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ExecutionPayloadBidDeriver { + return &ExecutionPayloadBidDeriver{ + log: log.WithFields(logrus.Fields{ + moduleLogField: "cannon/event/beacon/eth/v2/execution_payload_bid", + typeLogField: ExecutionPayloadBidDeriverName.String(), + }), + cfg: config, + iterator: iter, + beacon: beacon, + clientMeta: clientMeta, + } +} + +func (b *ExecutionPayloadBidDeriver) CannonType() xatu.CannonType { + return ExecutionPayloadBidDeriverName +} + +func (b *ExecutionPayloadBidDeriver) Name() string { + return ExecutionPayloadBidDeriverName.String() +} + +// ActivationFork pegs this deriver to Gloas — execution payload bids didn't +// exist on prior forks. +func (b *ExecutionPayloadBidDeriver) ActivationFork() spec.DataVersion { + return spec.DataVersionGloas +} + +func (b *ExecutionPayloadBidDeriver) OnEventsDerived(ctx context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error) { + b.onEventsCallbacks = append(b.onEventsCallbacks, fn) +} + +func (b *ExecutionPayloadBidDeriver) Start(ctx context.Context) error { + if !b.cfg.Enabled { + b.log.WithContext(ctx).Info("Execution payload bid deriver disabled") + + return nil + } + + b.log.WithContext(ctx).Info("Execution payload bid deriver enabled") + + if err := b.iterator.Start(ctx, b.ActivationFork()); err != nil { + return errors.Wrap(err, "failed to start iterator") + } + + b.run(ctx) + + return nil +} + +func (b *ExecutionPayloadBidDeriver) Stop(ctx context.Context) error { + return nil +} + +func (b *ExecutionPayloadBidDeriver) run(rctx context.Context) { + bo := backoff.NewExponentialBackOff() + bo.MaxInterval = 3 * time.Minute + + for { + select { + case <-rctx.Done(): + return + default: + operation := func() (string, error) { + ctx, span := observability.Tracer().Start(rctx, fmt.Sprintf("Derive %s", b.Name()), + trace.WithAttributes( + attribute.String("network", string(b.beacon.Metadata().Network.Name))), + ) + defer span.End() + + time.Sleep(100 * time.Millisecond) + + if err := b.beacon.Synced(ctx); err != nil { + return "", err + } + + position, err := b.iterator.Next(ctx) + if err != nil { + return "", err + } + + events, err := b.processEpoch(ctx, position.Next) + if err != nil { + b.log.WithError(err).WithContext(ctx).Error("Failed to process epoch") + + return "", err + } + + b.lookAhead(ctx, position.LookAheads) + + for _, fn := range b.onEventsCallbacks { + if err := fn(ctx, events); err != nil { + return "", errors.Wrap(err, "failed to send events") + } + } + + if err := b.iterator.UpdateLocation(ctx, position.Next, position.Direction); err != nil { + return "", err + } + + bo.Reset() + + return "", nil + } + + retryOpts := []backoff.RetryOption{ + backoff.WithBackOff(bo), + backoff.WithNotify(func(err error, timer time.Duration) { + b.log.WithError(err).WithField("next_attempt", timer).WithContext(rctx).Warn("Failed to process") + }), + } + if _, err := backoff.Retry(rctx, operation, retryOpts...); err != nil { + b.log.WithError(err).WithContext(rctx).Warn("Failed to process") + } + } + } +} + +func (b *ExecutionPayloadBidDeriver) processEpoch(ctx context.Context, epoch phase0.Epoch) ([]*xatu.DecoratedEvent, error) { + ctx, span := observability.Tracer().Start(ctx, + "ExecutionPayloadBidDeriver.processEpoch", + //nolint:gosec // epoch fits int64 + trace.WithAttributes(attribute.Int64("epoch", int64(epoch))), + ) + defer span.End() + + sp, err := b.beacon.Node().Spec() + if err != nil { + return nil, errors.Wrap(err, "failed to obtain spec") + } + + allEvents := make([]*xatu.DecoratedEvent, 0, sp.SlotsPerEpoch) + + for i := uint64(0); i <= uint64(sp.SlotsPerEpoch-1); i++ { + slot := phase0.Slot(i + uint64(epoch)*uint64(sp.SlotsPerEpoch)) + + events, err := b.processSlot(ctx, slot) + if err != nil { + return nil, errors.Wrapf(err, "failed to process slot %d", slot) + } + + allEvents = append(allEvents, events...) + } + + return allEvents, nil +} + +func (b *ExecutionPayloadBidDeriver) processSlot(ctx context.Context, slot phase0.Slot) ([]*xatu.DecoratedEvent, error) { + ctx, span := observability.Tracer().Start(ctx, + "ExecutionPayloadBidDeriver.processSlot", + //nolint:gosec // slot fits int64 + trace.WithAttributes(attribute.Int64("slot", int64(slot))), + ) + defer span.End() + + block, err := b.beacon.GetBeaconBlock(ctx, xatuethv1.SlotAsString(slot)) + if err != nil { + return nil, errors.Wrapf(err, "failed to get beacon block for slot %d", slot) + } + + if block == nil { + return []*xatu.DecoratedEvent{}, nil + } + + // Execution payload bids only exist on Gloas+ blocks. + if block.Version < spec.DataVersionGloas { + return []*xatu.DecoratedEvent{}, nil + } + + if block.Gloas == nil || block.Gloas.Message == nil || block.Gloas.Message.Body == nil { + return []*xatu.DecoratedEvent{}, nil + } + + rawBid := block.Gloas.Message.Body.SignedExecutionPayloadBid + if rawBid == nil || rawBid.Message == nil { + return []*xatu.DecoratedEvent{}, nil + } + + blockIdentifier, err := GetBlockIdentifier(block, b.beacon.Metadata().Wallclock()) + if err != nil { + return nil, errors.Wrapf(err, "failed to get block identifier for slot %d", slot) + } + + bid := xatuethv1.NewSignedExecutionPayloadBidFromGloas(rawBid) + if bid == nil { + return []*xatu.DecoratedEvent{}, nil + } + + event, err := b.createEvent(ctx, bid, blockIdentifier) + if err != nil { + b.log.WithError(err).WithContext(ctx).Error("Failed to create event") + + return nil, errors.Wrapf(err, "failed to create execution payload bid event for slot %d", slot) + } + + return []*xatu.DecoratedEvent{event}, nil +} + +// lookAhead pre-loads upcoming epoch blocks so the iterator's next pass has them ready. +func (b *ExecutionPayloadBidDeriver) lookAhead(ctx context.Context, epochs []phase0.Epoch) { + _, span := observability.Tracer().Start(ctx, + "ExecutionPayloadBidDeriver.lookAhead", + ) + defer span.End() + + if epochs == nil { + return + } + + sp, err := b.beacon.Node().Spec() + if err != nil { + b.log.WithError(err).WithContext(ctx).Warn("Failed to look ahead at epoch") + + return + } + + for _, epoch := range epochs { + for i := uint64(0); i <= uint64(sp.SlotsPerEpoch-1); i++ { + slot := phase0.Slot(i + uint64(epoch)*uint64(sp.SlotsPerEpoch)) + + b.beacon.LazyLoadBeaconBlock(xatuethv1.SlotAsString(slot)) + } + } +} + +func (b *ExecutionPayloadBidDeriver) createEvent(ctx context.Context, bid *xatuethv1.SignedExecutionPayloadBid, identifier *xatu.BlockIdentifier) (*xatu.DecoratedEvent, error) { + metadata, ok := proto.Clone(b.clientMeta).(*xatu.ClientMeta) + if !ok { + return nil, errors.New("failed to clone client metadata") + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID, + DateTime: timestamppb.New(time.Now()), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid{ + EthV2BeaconBlockExecutionPayloadBid: bid, + }, + } + + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV2BeaconBlockExecutionPayloadBid{ + EthV2BeaconBlockExecutionPayloadBid: &xatu.ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData{ + Block: identifier, + }, + } + + return decoratedEvent, nil +} diff --git a/pkg/cannon/deriver/beacon/eth/v2/execution_transaction.go b/pkg/cannon/deriver/beacon/eth/v2/execution_transaction.go index 6e42e5ae..3f7c1204 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/execution_transaction.go +++ b/pkg/cannon/deriver/beacon/eth/v2/execution_transaction.go @@ -13,6 +13,7 @@ import ( "github.com/ethpandaops/go-eth2-client/api" "github.com/ethpandaops/go-eth2-client/spec" "github.com/ethpandaops/go-eth2-client/spec/deneb" + "github.com/ethpandaops/go-eth2-client/spec/gloas" "github.com/ethpandaops/go-eth2-client/spec/phase0" "github.com/google/uuid" "github.com/pkg/errors" @@ -51,8 +52,8 @@ const ( func NewExecutionTransactionDeriver(log observability.ContextualLogger, config *ExecutionTransactionDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ExecutionTransactionDeriver { return &ExecutionTransactionDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/execution_transaction", - "type": ExecutionTransactionDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/execution_transaction", + typeLogField: ExecutionTransactionDeriverName.String(), }), cfg: config, iterator: iter, @@ -271,7 +272,23 @@ func (b *ExecutionTransactionDeriver) processSlot(ctx context.Context, slot phas events := []*xatu.DecoratedEvent{} - transactions, err := b.getExecutionTransactions(ctx, block) + // EIP-7732: under ePBS the execution payload (transactions, base fee, etc.) + // arrives in a separate ExecutionPayloadEnvelope. Fetch it once here so + // downstream helpers (getExecutionTransactions, GetGasPrice) can read from + // it. envelope==nil means the builder withheld the payload — emit nothing. + var envelope *gloas.SignedExecutionPayloadEnvelope + if block.Version >= spec.DataVersionGloas { + envelope, err = b.beacon.GetExecutionPayloadEnvelope(ctx, xatuethv1.SlotAsString(slot)) + if err != nil { + return nil, errors.Wrapf(err, "failed to get execution payload envelope for slot %d", slot) + } + + if envelope == nil || envelope.Message == nil || envelope.Message.Payload == nil { + return events, nil + } + } + + transactions, err := b.getExecutionTransactions(ctx, block, envelope) if err != nil { return nil, err } @@ -289,7 +306,7 @@ func (b *ExecutionTransactionDeriver) processSlot(ctx context.Context, slot phas return nil, fmt.Errorf("failed to get transaction sender: %v", err) } - gasPrice, err := GetGasPrice(block, transaction) + gasPrice, err := GetGasPrice(block, transaction, envelope) if err != nil { return nil, fmt.Errorf("failed to get transaction gas price: %v", err) } @@ -365,17 +382,43 @@ func (b *ExecutionTransactionDeriver) processSlot(ctx context.Context, slot phas return events, nil } -func (b *ExecutionTransactionDeriver) getExecutionTransactions(ctx context.Context, block *spec.VersionedSignedBeaconBlock) ([]*types.Transaction, error) { - transactions := []*types.Transaction{} +func (b *ExecutionTransactionDeriver) getExecutionTransactions( + ctx context.Context, + block *spec.VersionedSignedBeaconBlock, + envelope *gloas.SignedExecutionPayloadEnvelope, +) ([]*types.Transaction, error) { + var rawTxs [][]byte + + switch { + case block.Version >= spec.DataVersionGloas: + // EIP-7732: transactions live in the envelope's payload, not the body. + // Caller is responsible for fetching the envelope and short-circuiting + // when it is absent; by the time we get here it must be populated. + if envelope == nil || envelope.Message == nil || envelope.Message.Payload == nil { + return nil, errors.New("gloas envelope required to source transactions but was nil") + } - txs, err := block.ExecutionTransactions() - if err != nil { - return nil, fmt.Errorf("failed to get execution transactions: %v", err) + rawTxs = make([][]byte, len(envelope.Message.Payload.Transactions)) + for i, tx := range envelope.Message.Payload.Transactions { + rawTxs[i] = tx + } + default: + txs, err := block.ExecutionTransactions() + if err != nil { + return nil, fmt.Errorf("failed to get execution transactions: %v", err) + } + + rawTxs = make([][]byte, len(txs)) + for i, tx := range txs { + rawTxs[i] = tx + } } - for _, transaction := range txs { + transactions := make([]*types.Transaction, 0, len(rawTxs)) + + for _, raw := range rawTxs { ethTransaction := new(types.Transaction) - if err := ethTransaction.UnmarshalBinary(transaction); err != nil { + if err := ethTransaction.UnmarshalBinary(raw); err != nil { return nil, fmt.Errorf("failed to unmarshal transaction: %v", err) } @@ -420,7 +463,14 @@ func (b *ExecutionTransactionDeriver) createEvent(ctx context.Context, transacti return decoratedEvent, nil } -func GetGasPrice(block *spec.VersionedSignedBeaconBlock, transaction *types.Transaction) (*big.Int, error) { +// GetGasPrice computes the effective gas price for a transaction. For Gloas+ +// (EIP-7732) blocks the base fee comes from the envelope's payload; envelope +// must be supplied by the caller in that case. +func GetGasPrice( + block *spec.VersionedSignedBeaconBlock, + transaction *types.Transaction, + envelope *gloas.SignedExecutionPayloadEnvelope, +) (*big.Int, error) { if transaction.Type() == 0 || transaction.Type() == 1 { return transaction.GasPrice(), nil } @@ -447,6 +497,12 @@ func GetGasPrice(block *spec.VersionedSignedBeaconBlock, transaction *types.Tran case spec.DataVersionFulu: executionPayload := block.Fulu.Message.Body.ExecutionPayload baseFee.SetBytes(executionPayload.BaseFeePerGas.Bytes()) + case spec.DataVersionGloas: + if envelope == nil || envelope.Message == nil || envelope.Message.Payload == nil { + return nil, errors.New("gloas envelope required to compute gas price but was nil") + } + + baseFee.SetBytes(envelope.Message.Payload.BaseFeePerGas.Bytes()) default: return nil, fmt.Errorf("unknown block version: %d", block.Version) } diff --git a/pkg/cannon/deriver/beacon/eth/v2/execution_transaction_test.go b/pkg/cannon/deriver/beacon/eth/v2/execution_transaction_test.go new file mode 100644 index 00000000..f768b72e --- /dev/null +++ b/pkg/cannon/deriver/beacon/eth/v2/execution_transaction_test.go @@ -0,0 +1,239 @@ +package v2 + +import ( + "math/big" + "testing" + + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethpandaops/go-eth2-client/spec" + "github.com/ethpandaops/go-eth2-client/spec/bellatrix" + "github.com/ethpandaops/go-eth2-client/spec/capella" + "github.com/ethpandaops/go-eth2-client/spec/deneb" + "github.com/ethpandaops/go-eth2-client/spec/electra" + "github.com/ethpandaops/go-eth2-client/spec/gloas" + "github.com/ethpandaops/go-eth2-client/spec/phase0" + "github.com/holiman/uint256" +) + +func TestGetGasPrice_Legacy(t *testing.T) { + tx := types.NewTx(&types.LegacyTx{ + GasPrice: big.NewInt(1_000), + Gas: 21_000, + }) + + got, err := GetGasPrice(&spec.VersionedSignedBeaconBlock{Version: spec.DataVersionGloas}, tx, nil) + if err != nil { + t.Fatalf("unexpected error for legacy tx: %v", err) + } + + if got.Cmp(big.NewInt(1_000)) != 0 { + t.Errorf("legacy gas price: got %s want 1000", got) + } +} + +func TestGetGasPrice_AccessList(t *testing.T) { + tx := types.NewTx(&types.AccessListTx{ + GasPrice: big.NewInt(2_000), + Gas: 21_000, + }) + + // Type-1 is also fork-agnostic — the block argument is unused for this branch. + got, err := GetGasPrice(&spec.VersionedSignedBeaconBlock{Version: spec.DataVersionGloas}, tx, nil) + if err != nil { + t.Fatalf("unexpected error for access-list tx: %v", err) + } + + if got.Cmp(big.NewInt(2_000)) != 0 { + t.Errorf("access-list gas price: got %s want 2000", got) + } +} + +func TestGetGasPrice_DynamicFee_PreGloas(t *testing.T) { + dynamicFeeTx := func() *types.Transaction { + return types.NewTx(&types.DynamicFeeTx{ + Gas: 21_000, + GasTipCap: big.NewInt(2), + GasFeeCap: big.NewInt(100), + }) + } + + tests := []struct { + name string + block *spec.VersionedSignedBeaconBlock + want *big.Int + }{ + { + // Bellatrix's BaseFeePerGasLE is a fixed little-endian [32]byte — + // the production code reverses it to big-endian then SetBytes, + // so put the value in the least-significant byte (index 0) to encode 10. + name: "Bellatrix base_fee=10", + block: &spec.VersionedSignedBeaconBlock{ + Version: spec.DataVersionBellatrix, + Bellatrix: &bellatrix.SignedBeaconBlock{ + Message: &bellatrix.BeaconBlock{ + Body: &bellatrix.BeaconBlockBody{ + ExecutionPayload: &bellatrix.ExecutionPayload{ + BaseFeePerGasLE: [32]byte{0: 10}, + }, + }, + }, + }, + }, + want: big.NewInt(12), // baseFee 10 + tip 2 = 12, below cap 100 + }, + { + name: "Deneb base_fee=20", + block: &spec.VersionedSignedBeaconBlock{ + Version: spec.DataVersionDeneb, + Deneb: &deneb.SignedBeaconBlock{ + Message: &deneb.BeaconBlock{ + Body: &deneb.BeaconBlockBody{ + ExecutionPayload: &deneb.ExecutionPayload{ + BaseFeePerGas: uint256.NewInt(20), + }, + }, + }, + }, + }, + want: big.NewInt(22), + }, + { + name: "Electra base_fee=30", + block: &spec.VersionedSignedBeaconBlock{ + Version: spec.DataVersionElectra, + Electra: &electra.SignedBeaconBlock{ + Message: &electra.BeaconBlock{ + Body: &electra.BeaconBlockBody{ + ExecutionPayload: &deneb.ExecutionPayload{ + BaseFeePerGas: uint256.NewInt(30), + }, + }, + }, + }, + }, + want: big.NewInt(32), + }, + { + name: "Fulu base_fee=40", + block: &spec.VersionedSignedBeaconBlock{ + Version: spec.DataVersionFulu, + // Fulu reuses electra.SignedBeaconBlock in the SDK — no + // dedicated fulu.* types exist for the block. + Fulu: &electra.SignedBeaconBlock{ + Message: &electra.BeaconBlock{ + Body: &electra.BeaconBlockBody{ + ExecutionPayload: &deneb.ExecutionPayload{ + BaseFeePerGas: uint256.NewInt(40), + }, + }, + }, + }, + }, + want: big.NewInt(42), + }, + { + name: "FeeCap clamps very high baseFee", + block: &spec.VersionedSignedBeaconBlock{ + Version: spec.DataVersionDeneb, + Deneb: &deneb.SignedBeaconBlock{ + Message: &deneb.BeaconBlock{ + Body: &deneb.BeaconBlockBody{ + ExecutionPayload: &deneb.ExecutionPayload{ + BaseFeePerGas: uint256.NewInt(1_000), + }, + }, + }, + }, + }, + want: big.NewInt(100), // baseFee 1000 + tip 2 > cap 100, clamped + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := GetGasPrice(tt.block, dynamicFeeTx(), nil) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + + if got.Cmp(tt.want) != 0 { + t.Errorf("got %s want %s", got, tt.want) + } + }) + } +} + +func TestGetGasPrice_Gloas_NilEnvelope(t *testing.T) { + tx := types.NewTx(&types.DynamicFeeTx{ + Gas: 21_000, + GasTipCap: big.NewInt(2), + GasFeeCap: big.NewInt(100), + }) + + block := &spec.VersionedSignedBeaconBlock{Version: spec.DataVersionGloas} + + if _, err := GetGasPrice(block, tx, nil); err == nil { + t.Fatal("expected error for Gloas EIP-1559 tx with nil envelope") + } + + // Also reject a partially-formed envelope. + if _, err := GetGasPrice(block, tx, &gloas.SignedExecutionPayloadEnvelope{}); err == nil { + t.Fatal("expected error for Gloas EIP-1559 tx with envelope.Message == nil") + } + + if _, err := GetGasPrice(block, tx, &gloas.SignedExecutionPayloadEnvelope{ + Message: &gloas.ExecutionPayloadEnvelope{}, + }); err == nil { + t.Fatal("expected error for Gloas EIP-1559 tx with envelope.Message.Payload == nil") + } +} + +func TestGetGasPrice_Gloas_WithEnvelope(t *testing.T) { + tx := types.NewTx(&types.DynamicFeeTx{ + Gas: 21_000, + GasTipCap: big.NewInt(3), + GasFeeCap: big.NewInt(100), + }) + + envelope := &gloas.SignedExecutionPayloadEnvelope{ + Message: &gloas.ExecutionPayloadEnvelope{ + Payload: &gloas.ExecutionPayload{ + ParentHash: phase0.Hash32{0x01}, + FeeRecipient: bellatrix.ExecutionAddress{}, + Withdrawals: []*capella.Withdrawal{}, + BaseFeePerGas: uint256.NewInt(50), + }, + }, + } + + block := &spec.VersionedSignedBeaconBlock{Version: spec.DataVersionGloas} + + got, err := GetGasPrice(block, tx, envelope) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + + if got.Cmp(big.NewInt(53)) != 0 { + t.Errorf("Gloas gas price: got %s want 53 (baseFee 50 + tip 3)", got) + } +} + +func TestGetGasPrice_UnknownTxType(t *testing.T) { + // SetCodeTx (type 4) is supported; any other type beyond {0,1,2,3,4} + // falls through to the "unknown transaction type" error. Currently + // go-ethereum's types package only defines up through type 4, so this + // test just guards the error path against a hypothetical type-5. + // Use a DynamicFeeTx with an unknown version on the block to trigger + // the "unknown block version" branch instead, which is reachable today. + tx := types.NewTx(&types.DynamicFeeTx{ + Gas: 21_000, + GasTipCap: big.NewInt(1), + GasFeeCap: big.NewInt(2), + }) + + block := &spec.VersionedSignedBeaconBlock{Version: spec.DataVersionUnknown} + + if _, err := GetGasPrice(block, tx, nil); err == nil { + t.Fatal("expected error for unknown block version with EIP-1559 tx") + } +} diff --git a/pkg/cannon/deriver/beacon/eth/v2/log_fields.go b/pkg/cannon/deriver/beacon/eth/v2/log_fields.go new file mode 100644 index 00000000..d5a5c6ba --- /dev/null +++ b/pkg/cannon/deriver/beacon/eth/v2/log_fields.go @@ -0,0 +1,7 @@ +package v2 + +// Log field keys shared across the v2 cannon derivers. +const ( + moduleLogField = "module" + typeLogField = "type" +) diff --git a/pkg/cannon/deriver/beacon/eth/v2/payload_attestation.go b/pkg/cannon/deriver/beacon/eth/v2/payload_attestation.go new file mode 100644 index 00000000..12176f78 --- /dev/null +++ b/pkg/cannon/deriver/beacon/eth/v2/payload_attestation.go @@ -0,0 +1,307 @@ +package v2 + +import ( + "context" + "fmt" + "time" + + backoff "github.com/cenkalti/backoff/v5" + "github.com/ethpandaops/go-eth2-client/spec" + "github.com/ethpandaops/go-eth2-client/spec/phase0" + "github.com/ethpandaops/xatu/pkg/cannon/ethereum" + "github.com/ethpandaops/xatu/pkg/cannon/iterator" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/google/uuid" + "github.com/pkg/errors" + "github.com/sirupsen/logrus" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + PayloadAttestationDeriverName = xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION +) + +// PayloadAttestationDeriverConfig configures the cannon deriver that emits +// aggregated PTC payload attestations from Gloas+ beacon blocks. +type PayloadAttestationDeriverConfig struct { + Enabled bool `yaml:"enabled" default:"true"` + Iterator iterator.BackfillingCheckpointConfig `yaml:"iterator"` +} + +// PayloadAttestationDeriver derives BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION +// events from `block.Body.PayloadAttestations` on Gloas+ blocks. Up to +// MAX_PAYLOAD_ATTESTATIONS=4 entries per block. +type PayloadAttestationDeriver struct { + log observability.ContextualLogger + cfg *PayloadAttestationDeriverConfig + iterator *iterator.BackfillingCheckpoint + onEventsCallbacks []func(ctx context.Context, events []*xatu.DecoratedEvent) error + beacon *ethereum.BeaconNode + clientMeta *xatu.ClientMeta +} + +func NewPayloadAttestationDeriver(log observability.ContextualLogger, config *PayloadAttestationDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *PayloadAttestationDeriver { + return &PayloadAttestationDeriver{ + log: log.WithFields(logrus.Fields{ + moduleLogField: "cannon/event/beacon/eth/v2/payload_attestation", + typeLogField: PayloadAttestationDeriverName.String(), + }), + cfg: config, + iterator: iter, + beacon: beacon, + clientMeta: clientMeta, + } +} + +func (b *PayloadAttestationDeriver) CannonType() xatu.CannonType { + return PayloadAttestationDeriverName +} + +func (b *PayloadAttestationDeriver) Name() string { + return PayloadAttestationDeriverName.String() +} + +// ActivationFork pegs this deriver to Gloas — payload attestations didn't +// exist on prior forks, so the iterator starts at the Gloas activation epoch. +func (b *PayloadAttestationDeriver) ActivationFork() spec.DataVersion { + return spec.DataVersionGloas +} + +func (b *PayloadAttestationDeriver) OnEventsDerived(ctx context.Context, fn func(ctx context.Context, events []*xatu.DecoratedEvent) error) { + b.onEventsCallbacks = append(b.onEventsCallbacks, fn) +} + +func (b *PayloadAttestationDeriver) Start(ctx context.Context) error { + if !b.cfg.Enabled { + b.log.WithContext(ctx).Info("Payload attestation deriver disabled") + + return nil + } + + b.log.WithContext(ctx).Info("Payload attestation deriver enabled") + + if err := b.iterator.Start(ctx, b.ActivationFork()); err != nil { + return errors.Wrap(err, "failed to start iterator") + } + + b.run(ctx) + + return nil +} + +func (b *PayloadAttestationDeriver) Stop(ctx context.Context) error { + return nil +} + +func (b *PayloadAttestationDeriver) run(rctx context.Context) { + bo := backoff.NewExponentialBackOff() + bo.MaxInterval = 3 * time.Minute + + for { + select { + case <-rctx.Done(): + return + default: + operation := func() (string, error) { + ctx, span := observability.Tracer().Start(rctx, fmt.Sprintf("Derive %s", b.Name()), + trace.WithAttributes( + attribute.String("network", string(b.beacon.Metadata().Network.Name))), + ) + defer span.End() + + time.Sleep(100 * time.Millisecond) + + if err := b.beacon.Synced(ctx); err != nil { + return "", err + } + + position, err := b.iterator.Next(ctx) + if err != nil { + return "", err + } + + events, err := b.processEpoch(ctx, position.Next) + if err != nil { + b.log.WithError(err).WithContext(ctx).Error("Failed to process epoch") + + return "", err + } + + b.lookAhead(ctx, position.LookAheads) + + for _, fn := range b.onEventsCallbacks { + if err := fn(ctx, events); err != nil { + return "", errors.Wrap(err, "failed to send events") + } + } + + if err := b.iterator.UpdateLocation(ctx, position.Next, position.Direction); err != nil { + return "", err + } + + bo.Reset() + + return "", nil + } + + retryOpts := []backoff.RetryOption{ + backoff.WithBackOff(bo), + backoff.WithNotify(func(err error, timer time.Duration) { + b.log.WithError(err).WithField("next_attempt", timer).WithContext(rctx).Warn("Failed to process") + }), + } + if _, err := backoff.Retry(rctx, operation, retryOpts...); err != nil { + b.log.WithError(err).WithContext(rctx).Warn("Failed to process") + } + } + } +} + +func (b *PayloadAttestationDeriver) processEpoch(ctx context.Context, epoch phase0.Epoch) ([]*xatu.DecoratedEvent, error) { + ctx, span := observability.Tracer().Start(ctx, + "PayloadAttestationDeriver.processEpoch", + //nolint:gosec // epoch fits int64 + trace.WithAttributes(attribute.Int64("epoch", int64(epoch))), + ) + defer span.End() + + sp, err := b.beacon.Node().Spec() + if err != nil { + return nil, errors.Wrap(err, "failed to obtain spec") + } + + allEvents := make([]*xatu.DecoratedEvent, 0, sp.SlotsPerEpoch) + + for i := uint64(0); i <= uint64(sp.SlotsPerEpoch-1); i++ { + slot := phase0.Slot(i + uint64(epoch)*uint64(sp.SlotsPerEpoch)) + + events, err := b.processSlot(ctx, slot) + if err != nil { + return nil, errors.Wrapf(err, "failed to process slot %d", slot) + } + + allEvents = append(allEvents, events...) + } + + return allEvents, nil +} + +func (b *PayloadAttestationDeriver) processSlot(ctx context.Context, slot phase0.Slot) ([]*xatu.DecoratedEvent, error) { + ctx, span := observability.Tracer().Start(ctx, + "PayloadAttestationDeriver.processSlot", + //nolint:gosec // slot fits int64 + trace.WithAttributes(attribute.Int64("slot", int64(slot))), + ) + defer span.End() + + block, err := b.beacon.GetBeaconBlock(ctx, xatuethv1.SlotAsString(slot)) + if err != nil { + return nil, errors.Wrapf(err, "failed to get beacon block for slot %d", slot) + } + + if block == nil { + return []*xatu.DecoratedEvent{}, nil + } + + // Payload attestations only exist on Gloas+ blocks. + if block.Version < spec.DataVersionGloas { + return []*xatu.DecoratedEvent{}, nil + } + + if block.Gloas == nil || block.Gloas.Message == nil || block.Gloas.Message.Body == nil { + return []*xatu.DecoratedEvent{}, nil + } + + attestations := block.Gloas.Message.Body.PayloadAttestations + if len(attestations) == 0 { + return []*xatu.DecoratedEvent{}, nil + } + + blockIdentifier, err := GetBlockIdentifier(block, b.beacon.Metadata().Wallclock()) + if err != nil { + return nil, errors.Wrapf(err, "failed to get block identifier for slot %d", slot) + } + + converted := xatuethv1.NewPayloadAttestationsFromGloas(attestations) + + events := make([]*xatu.DecoratedEvent, 0, len(converted)) + + var position uint32 + + for _, att := range converted { + event, err := b.createEvent(ctx, att, blockIdentifier, position) + if err != nil { + b.log.WithError(err).WithContext(ctx).Error("Failed to create event") + + return nil, errors.Wrapf(err, "failed to create payload attestation event for slot %d", slot) + } + + events = append(events, event) + position++ + } + + return events, nil +} + +// lookAhead pre-loads upcoming epoch blocks so the iterator's next pass has them ready. +func (b *PayloadAttestationDeriver) lookAhead(ctx context.Context, epochs []phase0.Epoch) { + _, span := observability.Tracer().Start(ctx, + "PayloadAttestationDeriver.lookAhead", + ) + defer span.End() + + if epochs == nil { + return + } + + sp, err := b.beacon.Node().Spec() + if err != nil { + b.log.WithError(err).WithContext(ctx).Warn("Failed to look ahead at epoch") + + return + } + + for _, epoch := range epochs { + for i := uint64(0); i <= uint64(sp.SlotsPerEpoch-1); i++ { + slot := phase0.Slot(i + uint64(epoch)*uint64(sp.SlotsPerEpoch)) + + b.beacon.LazyLoadBeaconBlock(xatuethv1.SlotAsString(slot)) + } + } +} + +func (b *PayloadAttestationDeriver) createEvent(ctx context.Context, attestation *xatuethv1.PayloadAttestation, identifier *xatu.BlockIdentifier, position uint32) (*xatu.DecoratedEvent, error) { + metadata, ok := proto.Clone(b.clientMeta).(*xatu.ClientMeta) + if !ok { + return nil, errors.New("failed to clone client metadata") + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION, + DateTime: timestamppb.New(time.Now()), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_EthV2BeaconBlockPayloadAttestation{ + EthV2BeaconBlockPayloadAttestation: attestation, + }, + } + + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV2BeaconBlockPayloadAttestation{ + EthV2BeaconBlockPayloadAttestation: &xatu.ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData{ + Block: identifier, + Position: &wrapperspb.UInt32Value{Value: position}, + }, + } + + return decoratedEvent, nil +} diff --git a/pkg/cannon/deriver/beacon/eth/v2/proposer_slashing.go b/pkg/cannon/deriver/beacon/eth/v2/proposer_slashing.go index d6a48584..c357af85 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/proposer_slashing.go +++ b/pkg/cannon/deriver/beacon/eth/v2/proposer_slashing.go @@ -45,8 +45,8 @@ type ProposerSlashingDeriver struct { func NewProposerSlashingDeriver(log observability.ContextualLogger, config *ProposerSlashingDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *ProposerSlashingDeriver { return &ProposerSlashingDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/proposer_slashing", - "type": ProposerSlashingDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/proposer_slashing", + typeLogField: ProposerSlashingDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v2/voluntary_exit.go b/pkg/cannon/deriver/beacon/eth/v2/voluntary_exit.go index 835d3645..6df8233a 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/voluntary_exit.go +++ b/pkg/cannon/deriver/beacon/eth/v2/voluntary_exit.go @@ -45,8 +45,8 @@ type VoluntaryExitDeriver struct { func NewVoluntaryExitDeriver(log observability.ContextualLogger, config *VoluntaryExitDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *VoluntaryExitDeriver { return &VoluntaryExitDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/voluntary_exit", - "type": VoluntaryExitDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/voluntary_exit", + typeLogField: VoluntaryExitDeriverName.String(), }), cfg: config, iterator: iter, diff --git a/pkg/cannon/deriver/beacon/eth/v2/withdrawal.go b/pkg/cannon/deriver/beacon/eth/v2/withdrawal.go index 70712c30..90305e60 100644 --- a/pkg/cannon/deriver/beacon/eth/v2/withdrawal.go +++ b/pkg/cannon/deriver/beacon/eth/v2/withdrawal.go @@ -45,8 +45,8 @@ type WithdrawalDeriver struct { func NewWithdrawalDeriver(log observability.ContextualLogger, config *WithdrawalDeriverConfig, iter *iterator.BackfillingCheckpoint, beacon *ethereum.BeaconNode, clientMeta *xatu.ClientMeta) *WithdrawalDeriver { return &WithdrawalDeriver{ log: log.WithFields(logrus.Fields{ - "module": "cannon/event/beacon/eth/v2/withdrawal", - "type": WithdrawalDeriverName.String(), + moduleLogField: "cannon/event/beacon/eth/v2/withdrawal", + typeLogField: WithdrawalDeriverName.String(), }), cfg: config, iterator: iter, @@ -251,7 +251,20 @@ func (b *WithdrawalDeriver) lookAhead(ctx context.Context, epochs []phase0.Epoch } } +// builderWithdrawalIndexFlag is the bit set on validator_index for builder +// withdrawals under EIP-7732 (validator_index >= 2^40 ⇒ builder withdrawal). +const builderWithdrawalIndexFlag = uint64(1) << 40 + func (b *WithdrawalDeriver) getWithdrawals(ctx context.Context, block *spec.VersionedSignedBeaconBlock) ([]*xatuethv1.WithdrawalV2, error) { + // EIP-7732 (Gloas): the block body no longer carries an inline + // ExecutionPayload. Withdrawals arrive in a separate + // ExecutionPayloadEnvelope, fetched here by block ID. envelope == nil + // means the builder withheld the payload (payload_status = EMPTY); no + // withdrawals to emit. + if block.Version >= spec.DataVersionGloas { + return b.getGloasWithdrawals(ctx, block) + } + withdrawals := []*xatuethv1.WithdrawalV2{} withd, err := block.Withdrawals() @@ -271,6 +284,47 @@ func (b *WithdrawalDeriver) getWithdrawals(ctx context.Context, block *spec.Vers return withdrawals, nil } +func (b *WithdrawalDeriver) getGloasWithdrawals(ctx context.Context, block *spec.VersionedSignedBeaconBlock) ([]*xatuethv1.WithdrawalV2, error) { + if block.Gloas == nil || block.Gloas.Message == nil { + return []*xatuethv1.WithdrawalV2{}, nil + } + + slot := uint64(block.Gloas.Message.Slot) + + envelope, err := b.beacon.GetExecutionPayloadEnvelope(ctx, xatuethv1.SlotAsString(phase0.Slot(slot))) + if err != nil { + return nil, errors.Wrapf(err, "failed to fetch execution payload envelope for slot %d", slot) + } + + // Builder withheld payload — no withdrawals applied this slot. + if envelope == nil || envelope.Message == nil || envelope.Message.Payload == nil { + return []*xatuethv1.WithdrawalV2{}, nil + } + + withd := envelope.Message.Payload.Withdrawals + + withdrawals := make([]*xatuethv1.WithdrawalV2, 0, len(withd)) + + for _, withdrawal := range withd { + validatorIndex := uint64(withdrawal.ValidatorIndex) + + withdrawalType := "validator" + if validatorIndex >= builderWithdrawalIndexFlag { + withdrawalType = "builder" + } + + withdrawals = append(withdrawals, &xatuethv1.WithdrawalV2{ + Index: &wrapperspb.UInt64Value{Value: uint64(withdrawal.Index)}, + ValidatorIndex: &wrapperspb.UInt64Value{Value: validatorIndex}, + Address: withdrawal.Address.String(), + Amount: &wrapperspb.UInt64Value{Value: uint64(withdrawal.Amount)}, + WithdrawalType: withdrawalType, + }) + } + + return withdrawals, nil +} + func (b *WithdrawalDeriver) createEvent(ctx context.Context, withdrawal *xatuethv1.WithdrawalV2, identifier *xatu.BlockIdentifier) (*xatu.DecoratedEvent, error) { // Make a clone of the metadata metadata, ok := proto.Clone(b.clientMeta).(*xatu.ClientMeta) diff --git a/pkg/cannon/deriver/config.go b/pkg/cannon/deriver/config.go index c1fec7b7..1effcabd 100644 --- a/pkg/cannon/deriver/config.go +++ b/pkg/cannon/deriver/config.go @@ -21,6 +21,9 @@ type Config struct { BeaconCommitteeConfig v1.BeaconCommitteeDeriverConfig `yaml:"beaconCommittee"` BeaconSyncCommitteeConfig v1.BeaconSyncCommitteeDeriverConfig `yaml:"beaconSyncCommittee"` BeaconBlockSyncAggregateConfig v2.BeaconBlockSyncAggregateDeriverConfig `yaml:"beaconBlockSyncAggregate"` + BlockAccessListConfig v2.BlockAccessListDeriverConfig `yaml:"blockAccessList"` + PayloadAttestationConfig v2.PayloadAttestationDeriverConfig `yaml:"payloadAttestation"` + ExecutionPayloadBidConfig v2.ExecutionPayloadBidDeriverConfig `yaml:"executionPayloadBid"` } func (c *Config) Validate() error { diff --git a/pkg/cannon/ethereum/beacon.go b/pkg/cannon/ethereum/beacon.go index 8a17fc53..5799d2f3 100644 --- a/pkg/cannon/ethereum/beacon.go +++ b/pkg/cannon/ethereum/beacon.go @@ -12,6 +12,7 @@ import ( apiv1 "github.com/ethpandaops/go-eth2-client/api/v1" ehttp "github.com/ethpandaops/go-eth2-client/http" "github.com/ethpandaops/go-eth2-client/spec" + "github.com/ethpandaops/go-eth2-client/spec/gloas" "github.com/ethpandaops/go-eth2-client/spec/phase0" "github.com/jellydator/ttlcache/v3" "github.com/pkg/errors" @@ -45,6 +46,14 @@ type BeaconNode struct { validatorsCache *ttlcache.Cache[string, map[phase0.ValidatorIndex]*apiv1.Validator] validatorsPreloadChan chan string validatorsPreloadSem chan struct{} + + // envelopeCache holds Gloas (EIP-7732) ExecutionPayloadEnvelopes keyed by + // block root. The envelope is fetched separately from the block — many + // derivers consume it per slot, so we cache to avoid duplicate fetches. + // A nil value means "envelope known to be absent" (builder withheld payload — + // payload_status = EMPTY); we cache the negative answer too. + envelopeSfGroup *singleflight.Group + envelopeCache *ttlcache.Cache[string, *gloas.SignedExecutionPayloadEnvelope] } func NewBeaconNode(ctx context.Context, name string, config *Config, log observability.ContextualLogger) (*BeaconNode, error) { @@ -56,7 +65,6 @@ func NewBeaconNode(ctx context.Context, name string, config *Config, log observa DisablePrometheusMetrics() opts.GoEth2ClientParams = []ehttp.Parameter{ - // Default JSON until https://github.com/ethpandaops/go-eth2-client/pull/198 is merged. ehttp.WithEnforceJSON(true), } @@ -107,7 +115,12 @@ func NewBeaconNode(ctx context.Context, name string, config *Config, log observa ), validatorsPreloadChan: make(chan string, 2), validatorsPreloadSem: validatorsSem, - metrics: NewMetrics(namespace, name), + envelopeSfGroup: &singleflight.Group{}, + envelopeCache: ttlcache.New( + ttlcache.WithTTL[string, *gloas.SignedExecutionPayloadEnvelope](config.BlockCacheTTL.Duration), + ttlcache.WithCapacity[string, *gloas.SignedExecutionPayloadEnvelope](256), + ), + metrics: NewMetrics(namespace, name), }, nil } @@ -362,7 +375,7 @@ func (b *BeaconNode) GetValidators(ctx context.Context, identifier string) (map[ span.AddEvent("Semaphore acquired. Fetching validators from beacon api...") - client, err := b.getValidatorsClient(ctx) + client, err := b.getValidatorsClient() if err != nil { return nil, err } @@ -406,7 +419,7 @@ func (b *BeaconNode) LazyLoadValidators(stateID string) { b.validatorsPreloadChan <- stateID } -func (b *BeaconNode) getValidatorsClient(ctx context.Context) (client.ValidatorsProvider, error) { +func (b *BeaconNode) getValidatorsClient() (client.ValidatorsProvider, error) { if provider, isProvider := b.beacon.Service().(client.ValidatorsProvider); isProvider { return provider, nil } @@ -414,6 +427,75 @@ func (b *BeaconNode) getValidatorsClient(ctx context.Context) (client.Validators return nil, errors.New("validator states client not found") } +// GetExecutionPayloadEnvelope returns the Gloas (EIP-7732) ExecutionPayloadEnvelope +// for a given block ID (root, slot, "head", etc.). Multiple derivers consume the +// envelope per slot; the cache + singleflight pattern prevents duplicate fetches. +// +// A nil-but-no-error result means the envelope is known to be absent — typically +// the builder withheld the payload (payload_status = EMPTY). Callers should treat +// this as a no-op for envelope-sourced data and emit nothing for the slot. +func (b *BeaconNode) GetExecutionPayloadEnvelope( + ctx context.Context, + blockID string, +) (*gloas.SignedExecutionPayloadEnvelope, error) { + ctx, span := observability.Tracer().Start(ctx, "ethereum.beacon.GetExecutionPayloadEnvelope", + trace.WithAttributes(attribute.String("block_id", blockID))) + defer span.End() + + if item := b.envelopeCache.Get(blockID); item != nil { + span.SetAttributes(attribute.Bool("cached", true)) + + return item.Value(), nil + } + + span.SetAttributes(attribute.Bool("cached", false)) + + x, err, shared := b.envelopeSfGroup.Do(blockID, func() (any, error) { + provider, err := b.getExecutionPayloadProvider() + if err != nil { + return nil, err + } + + resp, err := provider.SignedExecutionPayloadEnvelope(ctx, &api.SignedExecutionPayloadEnvelopeOpts{ + Block: blockID, + }) + if err != nil { + return nil, err + } + + var envelope *gloas.SignedExecutionPayloadEnvelope + if resp != nil && resp.Data != nil { + envelope = resp.Data.Gloas + } + + b.envelopeCache.Set(blockID, envelope, time.Hour) + + return envelope, nil + }) + if err != nil { + span.SetStatus(codes.Error, err.Error()) + + return nil, err + } + + span.AddEvent("Envelope fetch complete.", trace.WithAttributes(attribute.Bool("shared", shared))) + + envelope, ok := x.(*gloas.SignedExecutionPayloadEnvelope) + if !ok { + return nil, fmt.Errorf("envelope singleflight returned unexpected type %T", x) + } + + return envelope, nil +} + +func (b *BeaconNode) getExecutionPayloadProvider() (client.ExecutionPayloadProvider, error) { + if provider, isProvider := b.beacon.Service().(client.ExecutionPayloadProvider); isProvider { + return provider, nil + } + + return nil, errors.New("execution payload provider not available") +} + func (b *BeaconNode) DeleteValidatorsFromCache(stateID string) { b.validatorsCache.Delete(stateID) } diff --git a/pkg/cannon/iterator/backfilling_checkpoint_iterator.go b/pkg/cannon/iterator/backfilling_checkpoint_iterator.go index c6340fc4..9000437f 100644 --- a/pkg/cannon/iterator/backfilling_checkpoint_iterator.go +++ b/pkg/cannon/iterator/backfilling_checkpoint_iterator.go @@ -429,6 +429,12 @@ func (c *BackfillingCheckpoint) GetMarker(location *xatu.CannonLocation) (*xatu. marker = location.GetEthV1BeaconSyncCommittee().GetBackfillingCheckpointMarker() case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE: marker = location.GetEthV2BeaconBlockSyncAggregate().GetBackfillingCheckpointMarker() + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST: + marker = location.GetEthV2BeaconBlockAccessList().GetBackfillingCheckpointMarker() + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION: + marker = location.GetEthV2BeaconBlockPayloadAttestation().GetBackfillingCheckpointMarker() + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID: + marker = location.GetEthV2BeaconBlockExecutionPayloadBid().GetBackfillingCheckpointMarker() default: return nil, errors.Errorf("unknown cannon type %s", location.Type) } @@ -564,6 +570,24 @@ func (c *BackfillingCheckpoint) createLocationFromEpochNumber(finalized, backfil BackfillingCheckpointMarker: marker, }, } + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST: + location.Data = &xatu.CannonLocation_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: &xatu.CannonLocationEthV2BeaconBlockAccessList{ + BackfillingCheckpointMarker: marker, + }, + } + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION: + location.Data = &xatu.CannonLocation_EthV2BeaconBlockPayloadAttestation{ + EthV2BeaconBlockPayloadAttestation: &xatu.CannonLocationEthV2BeaconBlockPayloadAttestation{ + BackfillingCheckpointMarker: marker, + }, + } + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID: + location.Data = &xatu.CannonLocation_EthV2BeaconBlockExecutionPayloadBid{ + EthV2BeaconBlockExecutionPayloadBid: &xatu.CannonLocationEthV2BeaconBlockExecutionPayloadBid{ + BackfillingCheckpointMarker: marker, + }, + } default: return location, errors.Errorf("unknown cannon type %s", location.Type) } diff --git a/pkg/clickhouse/route/beacon/additional_common.go b/pkg/clickhouse/route/beacon/additional_common.go index ebc3dc11..d829d628 100644 --- a/pkg/clickhouse/route/beacon/additional_common.go +++ b/pkg/clickhouse/route/beacon/additional_common.go @@ -9,6 +9,7 @@ type beaconSlotEpochPropagationV2 interface { } type beaconSlotEpochPropagationAdditional struct { + Slot uint64 SlotStartDateTime int64 PropagationSlotStartDiff uint64 Epoch uint64 @@ -24,6 +25,10 @@ func extractBeaconSlotEpochPropagation( } if slot := additionalV2.GetSlot(); slot != nil { + if number := slot.GetNumber(); number != nil { + out.Slot = number.GetValue() + } + if startDateTime := slot.GetStartDateTime(); startDateTime != nil { out.SlotStartDateTime = startDateTime.AsTime().Unix() } diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload.gen.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload.gen.go new file mode 100644 index 00000000..e65d110b --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload.gen.go @@ -0,0 +1,274 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconApiEthV1EventsExecutionPayloadTableName route.TableName = "beacon_api_eth_v1_events_execution_payload" + +type beaconApiEthV1EventsExecutionPayloadBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BlockRoot route.SafeColFixedStr + BuilderIndex proto.ColUInt64 + BlockHash route.SafeColFixedStr + StateRoot route.SafeColFixedStr + SlotNumber *proto.ColNullable[uint64] + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconApiEthV1EventsExecutionPayloadBatch() *beaconApiEthV1EventsExecutionPayloadBatch { + return &beaconApiEthV1EventsExecutionPayloadBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + StateRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + SlotNumber: new(proto.ColUInt64).Nullable(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) Rows() int { + return b.rows +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "builder_index", Data: &b.BuilderIndex}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "state_root", Data: &b.StateRoot}, + {Name: "slot_number", Data: b.SlotNumber}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BlockRoot.Reset() + b.BuilderIndex.Reset() + b.BlockHash.Reset() + b.StateRoot.Reset() + b.SlotNumber.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 34) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["block_root"] = string(b.BlockRoot.Row(i)) + row["builder_index"] = b.BuilderIndex.Row(i) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["state_root"] = string(b.StateRoot.Row(i)) + if v := b.SlotNumber.Row(i); v.Set { + row["slot_number"] = v.Value + } else { + row["slot_number"] = nil + } + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload.go new file mode 100644 index 00000000..84162e2e --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload.go @@ -0,0 +1,114 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ClickHouse/ch-go/proto" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconApiEthV1EventsExecutionPayloadEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD, +} + +func init() { + r, err := route.NewStaticRoute( + beaconApiEthV1EventsExecutionPayloadTableName, + beaconApiEthV1EventsExecutionPayloadEventNames, + func() route.ColumnarBatch { return newbeaconApiEthV1EventsExecutionPayloadBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV1EventsExecutionPayload() == nil { + return fmt.Errorf("nil eth_v1_events_execution_payload payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) appendPayload(event *xatu.DecoratedEvent) { + envelope := event.GetEthV1EventsExecutionPayload() + + msg := envelope.GetMessage() + + b.BlockRoot.Append([]byte(msg.GetBeaconBlockRoot())) + + if builderIndex := msg.GetBuilderIndex(); builderIndex != nil { + b.BuilderIndex.Append(builderIndex.GetValue()) + } else { + b.BuilderIndex.Append(0) + } + + if payload := msg.GetPayload(); payload != nil { + b.BlockHash.Append([]byte(payload.GetBlockHash())) + b.StateRoot.Append([]byte(payload.GetStateRoot())) + + if sn := payload.GetSlotNumber(); sn != nil { + b.SlotNumber.Append(proto.NewNullable[uint64](sn.GetValue())) + } else { + b.SlotNumber.Append(proto.Nullable[uint64]{}) + } + } else { + b.BlockHash.Append(nil) + b.StateRoot.Append(nil) + b.SlotNumber.Append(proto.Nullable[uint64]{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + client := event.GetMeta().GetClient() + additional := extractBeaconSlotEpochPropagation(client.GetEthV1EventsExecutionPayload()) + + b.Slot.Append(uint32(additional.Slot)) //nolint:gosec // slot fits uint32 + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available.gen.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available.gen.go new file mode 100644 index 00000000..fbc832bc --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available.gen.go @@ -0,0 +1,251 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconApiEthV1EventsExecutionPayloadAvailableTableName route.TableName = "beacon_api_eth_v1_events_execution_payload_available" + +type beaconApiEthV1EventsExecutionPayloadAvailableBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BlockRoot route.SafeColFixedStr + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconApiEthV1EventsExecutionPayloadAvailableBatch() *beaconApiEthV1EventsExecutionPayloadAvailableBatch { + return &beaconApiEthV1EventsExecutionPayloadAvailableBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) Rows() int { + return b.rows +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BlockRoot.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 30) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["block_root"] = string(b.BlockRoot.Row(i)) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available.go new file mode 100644 index 00000000..07d1877c --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available.go @@ -0,0 +1,89 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconApiEthV1EventsExecutionPayloadAvailableEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE, +} + +func init() { + r, err := route.NewStaticRoute( + beaconApiEthV1EventsExecutionPayloadAvailableTableName, + beaconApiEthV1EventsExecutionPayloadAvailableEventNames, + func() route.ColumnarBatch { return newbeaconApiEthV1EventsExecutionPayloadAvailableBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV1EventsExecutionPayloadAvailable() == nil { + return fmt.Errorf("nil eth_v1_events_execution_payload_available payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) appendPayload(event *xatu.DecoratedEvent) { + signal := event.GetEthV1EventsExecutionPayloadAvailable() + + b.BlockRoot.Append([]byte(signal.GetBlockRoot())) +} + +func (b *beaconApiEthV1EventsExecutionPayloadAvailableBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + client := event.GetMeta().GetClient() + additional := extractBeaconSlotEpochPropagation(client.GetEthV1EventsExecutionPayloadAvailable()) + + b.Slot.Append(uint32(additional.Slot)) //nolint:gosec // slot fits uint32 + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available_test.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available_test.go new file mode 100644 index 00000000..cfedceff --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_available_test.go @@ -0,0 +1,27 @@ +package beacon + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_beacon_api_eth_v1_events_execution_payload_available(t *testing.T) { + if len(beaconApiEthV1EventsExecutionPayloadAvailableEventNames) == 0 { + t.Skip("no event names registered for beacon_api_eth_v1_events_execution_payload_available") + } + + testfixture.AssertSnapshot(t, newbeaconApiEthV1EventsExecutionPayloadAvailableBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconApiEthV1EventsExecutionPayloadAvailableEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO: Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO: Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid.gen.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid.gen.go new file mode 100644 index 00000000..0dc05f21 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid.gen.go @@ -0,0 +1,286 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconApiEthV1EventsExecutionPayloadBidTableName route.TableName = "beacon_api_eth_v1_events_execution_payload_bid" + +type beaconApiEthV1EventsExecutionPayloadBidBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BuilderIndex proto.ColUInt64 + BlockHash route.SafeColFixedStr + ParentBlockHash route.SafeColFixedStr + ParentBlockRoot route.SafeColFixedStr + Value proto.ColUInt64 + ExecutionPayment proto.ColUInt64 + FeeRecipient route.SafeColFixedStr + GasLimit proto.ColUInt64 + BlobKzgCommitmentCount proto.ColUInt32 + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconApiEthV1EventsExecutionPayloadBidBatch() *beaconApiEthV1EventsExecutionPayloadBidBatch { + return &beaconApiEthV1EventsExecutionPayloadBidBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + ParentBlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + ParentBlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + FeeRecipient: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(42); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) Rows() int { + return b.rows +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "builder_index", Data: &b.BuilderIndex}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "parent_block_hash", Data: &b.ParentBlockHash}, + {Name: "parent_block_root", Data: &b.ParentBlockRoot}, + {Name: "value", Data: &b.Value}, + {Name: "execution_payment", Data: &b.ExecutionPayment}, + {Name: "fee_recipient", Data: &b.FeeRecipient}, + {Name: "gas_limit", Data: &b.GasLimit}, + {Name: "blob_kzg_commitment_count", Data: &b.BlobKzgCommitmentCount}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BuilderIndex.Reset() + b.BlockHash.Reset() + b.ParentBlockHash.Reset() + b.ParentBlockRoot.Reset() + b.Value.Reset() + b.ExecutionPayment.Reset() + b.FeeRecipient.Reset() + b.GasLimit.Reset() + b.BlobKzgCommitmentCount.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 38) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["builder_index"] = b.BuilderIndex.Row(i) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["parent_block_hash"] = string(b.ParentBlockHash.Row(i)) + row["parent_block_root"] = string(b.ParentBlockRoot.Row(i)) + row["value"] = b.Value.Row(i) + row["execution_payment"] = b.ExecutionPayment.Row(i) + row["fee_recipient"] = string(b.FeeRecipient.Row(i)) + row["gas_limit"] = b.GasLimit.Row(i) + row["blob_kzg_commitment_count"] = b.BlobKzgCommitmentCount.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid.go new file mode 100644 index 00000000..2292785a --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid.go @@ -0,0 +1,121 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconApiEthV1EventsExecutionPayloadBidEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID, +} + +func init() { + r, err := route.NewStaticRoute( + beaconApiEthV1EventsExecutionPayloadBidTableName, + beaconApiEthV1EventsExecutionPayloadBidEventNames, + func() route.ColumnarBatch { return newbeaconApiEthV1EventsExecutionPayloadBidBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV1EventsExecutionPayloadBid() == nil { + return fmt.Errorf("nil eth_v1_events_execution_payload_bid payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) appendPayload(event *xatu.DecoratedEvent) { + signed := event.GetEthV1EventsExecutionPayloadBid() + bid := signed.GetMessage() + + if builderIndex := bid.GetBuilderIndex(); builderIndex != nil { + b.BuilderIndex.Append(builderIndex.GetValue()) + } else { + b.BuilderIndex.Append(0) + } + + b.BlockHash.Append([]byte(bid.GetBlockHash())) + b.ParentBlockHash.Append([]byte(bid.GetParentBlockHash())) + b.ParentBlockRoot.Append([]byte(bid.GetParentBlockRoot())) + + if value := bid.GetValue(); value != nil { + b.Value.Append(value.GetValue()) + } else { + b.Value.Append(0) + } + + if executionPayment := bid.GetExecutionPayment(); executionPayment != nil { + b.ExecutionPayment.Append(executionPayment.GetValue()) + } else { + b.ExecutionPayment.Append(0) + } + + b.FeeRecipient.Append([]byte(bid.GetFeeRecipient())) + + if gasLimit := bid.GetGasLimit(); gasLimit != nil { + b.GasLimit.Append(gasLimit.GetValue()) + } else { + b.GasLimit.Append(0) + } + + //nolint:gosec // G115: length of blob kzg commitments fits uint32 + b.BlobKzgCommitmentCount.Append(uint32(len(bid.GetBlobKzgCommitments()))) +} + +func (b *beaconApiEthV1EventsExecutionPayloadBidBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + client := event.GetMeta().GetClient() + additional := extractBeaconSlotEpochPropagation(client.GetEthV1EventsExecutionPayloadBid()) + + b.Slot.Append(uint32(additional.Slot)) //nolint:gosec // slot fits uint32 + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid_test.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid_test.go new file mode 100644 index 00000000..766d0697 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_bid_test.go @@ -0,0 +1,27 @@ +package beacon + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_beacon_api_eth_v1_events_execution_payload_bid(t *testing.T) { + if len(beaconApiEthV1EventsExecutionPayloadBidEventNames) == 0 { + t.Skip("no event names registered for beacon_api_eth_v1_events_execution_payload_bid") + } + + testfixture.AssertSnapshot(t, newbeaconApiEthV1EventsExecutionPayloadBidBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconApiEthV1EventsExecutionPayloadBidEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip.gen.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip.gen.go new file mode 100644 index 00000000..0fafb793 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip.gen.go @@ -0,0 +1,274 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconApiEthV1EventsExecutionPayloadGossipTableName route.TableName = "beacon_api_eth_v1_events_execution_payload_gossip" + +type beaconApiEthV1EventsExecutionPayloadGossipBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BlockRoot route.SafeColFixedStr + BuilderIndex proto.ColUInt64 + BlockHash route.SafeColFixedStr + StateRoot route.SafeColFixedStr + SlotNumber *proto.ColNullable[uint64] + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconApiEthV1EventsExecutionPayloadGossipBatch() *beaconApiEthV1EventsExecutionPayloadGossipBatch { + return &beaconApiEthV1EventsExecutionPayloadGossipBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + StateRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + SlotNumber: new(proto.ColUInt64).Nullable(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) Rows() int { + return b.rows +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "builder_index", Data: &b.BuilderIndex}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "state_root", Data: &b.StateRoot}, + {Name: "slot_number", Data: b.SlotNumber}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BlockRoot.Reset() + b.BuilderIndex.Reset() + b.BlockHash.Reset() + b.StateRoot.Reset() + b.SlotNumber.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 34) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["block_root"] = string(b.BlockRoot.Row(i)) + row["builder_index"] = b.BuilderIndex.Row(i) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["state_root"] = string(b.StateRoot.Row(i)) + if v := b.SlotNumber.Row(i); v.Set { + row["slot_number"] = v.Value + } else { + row["slot_number"] = nil + } + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip.go new file mode 100644 index 00000000..d9a908d1 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip.go @@ -0,0 +1,114 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ClickHouse/ch-go/proto" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconApiEthV1EventsExecutionPayloadGossipEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP, +} + +func init() { + r, err := route.NewStaticRoute( + beaconApiEthV1EventsExecutionPayloadGossipTableName, + beaconApiEthV1EventsExecutionPayloadGossipEventNames, + func() route.ColumnarBatch { return newbeaconApiEthV1EventsExecutionPayloadGossipBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV1EventsExecutionPayloadGossip() == nil { + return fmt.Errorf("nil eth_v1_events_execution_payload_gossip payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) appendPayload(event *xatu.DecoratedEvent) { + envelope := event.GetEthV1EventsExecutionPayloadGossip() + + msg := envelope.GetMessage() + + b.BlockRoot.Append([]byte(msg.GetBeaconBlockRoot())) + + if builderIndex := msg.GetBuilderIndex(); builderIndex != nil { + b.BuilderIndex.Append(builderIndex.GetValue()) + } else { + b.BuilderIndex.Append(0) + } + + if payload := msg.GetPayload(); payload != nil { + b.BlockHash.Append([]byte(payload.GetBlockHash())) + b.StateRoot.Append([]byte(payload.GetStateRoot())) + + if sn := payload.GetSlotNumber(); sn != nil { + b.SlotNumber.Append(proto.NewNullable[uint64](sn.GetValue())) + } else { + b.SlotNumber.Append(proto.Nullable[uint64]{}) + } + } else { + b.BlockHash.Append(nil) + b.StateRoot.Append(nil) + b.SlotNumber.Append(proto.Nullable[uint64]{}) + } +} + +func (b *beaconApiEthV1EventsExecutionPayloadGossipBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + client := event.GetMeta().GetClient() + additional := extractBeaconSlotEpochPropagation(client.GetEthV1EventsExecutionPayloadGossip()) + + b.Slot.Append(uint32(additional.Slot)) //nolint:gosec // slot fits uint32 + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip_test.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip_test.go new file mode 100644 index 00000000..55ac06e7 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_gossip_test.go @@ -0,0 +1,27 @@ +package beacon + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_beacon_api_eth_v1_events_execution_payload_gossip(t *testing.T) { + if len(beaconApiEthV1EventsExecutionPayloadGossipEventNames) == 0 { + t.Skip("no event names registered for beacon_api_eth_v1_events_execution_payload_gossip") + } + + testfixture.AssertSnapshot(t, newbeaconApiEthV1EventsExecutionPayloadGossipBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconApiEthV1EventsExecutionPayloadGossipEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO: Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO: Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_test.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_test.go new file mode 100644 index 00000000..7736102e --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_execution_payload_test.go @@ -0,0 +1,100 @@ +package beacon + +import ( + "strings" + "testing" + + "google.golang.org/protobuf/types/known/wrapperspb" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + colBuilderIndex = "builder_index" + colExecBlockHash = "block_hash" + colStateRoot = "state_root" + colSlotNumber = "slot_number" +) + +// TestSnapshot_beacon_api_eth_v1_events_execution_payload verifies the +// envelope SSE event flattens to ClickHouse columns. Includes coverage +// for EIP-7843 SLOTNUM — the execution payload's `slot_number` field is +// projected onto the `slot_number` ClickHouse column. +// +// The `slot_number_absent` case exercises the path where the emitting CL +// hasn't populated `slot_number` (e.g., a pre-EIP-7843 CL release on a +// Gloas-aware client): the column must be NULL, not zero. +func TestSnapshot_beacon_api_eth_v1_events_execution_payload(t *testing.T) { + if len(beaconApiEthV1EventsExecutionPayloadEventNames) == 0 { + t.Skip("no event names registered for beacon_api_eth_v1_events_execution_payload") + } + + cases := []struct { + name string + slotNumber *uint64 // nil → CL sent the envelope without slot_number + }{ + { + name: "slot_number_present", + slotNumber: uint64Ptr(8_675_309), + }, + { + name: "slot_number_absent", + slotNumber: nil, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + payload := ðv1.ExecutionPayloadGloas{ + ParentHash: "0x3333333333333333333333333333333333333333333333333333333333333333", + FeeRecipient: "0x1111111111111111111111111111111111111111", + StateRoot: "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + ReceiptsRoot: "0x2222222222222222222222222222222222222222222222222222222222222222", + LogsBloom: "0x" + strings.Repeat("00", 256), + PrevRandao: "0x0f10000000000000000000000000000000000000000000000000000000000000", + BlockNumber: wrapperspb.UInt64(123456), + GasLimit: wrapperspb.UInt64(30_000_000), + GasUsed: wrapperspb.UInt64(21_000), + Timestamp: wrapperspb.UInt64(1_700_000_000), + BaseFeePerGas: "7", + BlockHash: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + BlobGasUsed: wrapperspb.UInt64(131072), + ExcessBlobGas: wrapperspb.UInt64(0), + } + if tc.slotNumber != nil { + payload.SlotNumber = wrapperspb.UInt64(*tc.slotNumber) + } + + envelope := ðv1.SignedExecutionPayloadEnvelope{ + Message: ðv1.ExecutionPayloadEnvelope{ + BuilderIndex: wrapperspb.UInt64(42), + BeaconBlockRoot: blockRoot64A, + Payload: payload, + }, + Signature: "0xdead", + } + + expected := map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + colBuilderIndex: uint64(42), + colExecBlockHash: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + colStateRoot: "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + colSlotNumber: nullableUint64Expected(tc.slotNumber), + } + + testfixture.AssertSnapshot(t, newbeaconApiEthV1EventsExecutionPayloadBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconApiEthV1EventsExecutionPayloadEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + Data: &xatu.DecoratedEvent_EthV1EventsExecutionPayload{ + EthV1EventsExecutionPayload: envelope, + }, + }, 1, expected) + }) + } +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation.gen.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation.gen.go new file mode 100644 index 00000000..1a66340e --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation.gen.go @@ -0,0 +1,263 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconApiEthV1EventsPayloadAttestationTableName route.TableName = "beacon_api_eth_v1_events_payload_attestation" + +type beaconApiEthV1EventsPayloadAttestationBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + ValidatorIndex proto.ColUInt32 + BeaconBlockRoot route.SafeColFixedStr + PayloadPresent proto.ColBool + BlobDataAvailable proto.ColBool + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconApiEthV1EventsPayloadAttestationBatch() *beaconApiEthV1EventsPayloadAttestationBatch { + return &beaconApiEthV1EventsPayloadAttestationBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BeaconBlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) Rows() int { + return b.rows +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "validator_index", Data: &b.ValidatorIndex}, + {Name: "beacon_block_root", Data: &b.BeaconBlockRoot}, + {Name: "payload_present", Data: &b.PayloadPresent}, + {Name: "blob_data_available", Data: &b.BlobDataAvailable}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.ValidatorIndex.Reset() + b.BeaconBlockRoot.Reset() + b.PayloadPresent.Reset() + b.BlobDataAvailable.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 33) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["validator_index"] = b.ValidatorIndex.Row(i) + row["beacon_block_root"] = string(b.BeaconBlockRoot.Row(i)) + row["payload_present"] = b.PayloadPresent.Row(i) + row["blob_data_available"] = b.BlobDataAvailable.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation.go new file mode 100644 index 00000000..db40aa47 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation.go @@ -0,0 +1,105 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconApiEthV1EventsPayloadAttestationEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION, +} + +func init() { + r, err := route.NewStaticRoute( + beaconApiEthV1EventsPayloadAttestationTableName, + beaconApiEthV1EventsPayloadAttestationEventNames, + func() route.ColumnarBatch { return newbeaconApiEthV1EventsPayloadAttestationBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV1EventsPayloadAttestation() == nil { + return fmt.Errorf("nil eth_v1_events_payload_attestation payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +//nolint:gosec // G115: proto uint64 values are bounded by ClickHouse column schema +func (b *beaconApiEthV1EventsPayloadAttestationBatch) appendPayload(event *xatu.DecoratedEvent) { + msg := event.GetEthV1EventsPayloadAttestation() + + if validatorIndex := msg.GetValidatorIndex(); validatorIndex != nil { + b.ValidatorIndex.Append(uint32(validatorIndex.GetValue())) + } else { + b.ValidatorIndex.Append(0) + } + + data := msg.GetData() + if data != nil { + b.BeaconBlockRoot.Append([]byte(data.GetBeaconBlockRoot())) + b.PayloadPresent.Append(data.GetPayloadPresent()) + b.BlobDataAvailable.Append(data.GetBlobDataAvailable()) + } else { + b.BeaconBlockRoot.Append(nil) + b.PayloadPresent.Append(false) + b.BlobDataAvailable.Append(false) + } +} + +func (b *beaconApiEthV1EventsPayloadAttestationBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + client := event.GetMeta().GetClient() + additional := extractBeaconSlotEpochPropagation(client.GetEthV1EventsPayloadAttestation()) + + b.Slot.Append(uint32(additional.Slot)) //nolint:gosec // slot fits uint32 + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation_test.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation_test.go new file mode 100644 index 00000000..cde3156e --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_payload_attestation_test.go @@ -0,0 +1,27 @@ +package beacon + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_beacon_api_eth_v1_events_payload_attestation(t *testing.T) { + if len(beaconApiEthV1EventsPayloadAttestationEventNames) == 0 { + t.Skip("no event names registered for beacon_api_eth_v1_events_payload_attestation") + } + + testfixture.AssertSnapshot(t, newbeaconApiEthV1EventsPayloadAttestationBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconApiEthV1EventsPayloadAttestationEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences.gen.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences.gen.go new file mode 100644 index 00000000..7d7f3b91 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences.gen.go @@ -0,0 +1,259 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconApiEthV1EventsProposerPreferencesTableName route.TableName = "beacon_api_eth_v1_events_proposer_preferences" + +type beaconApiEthV1EventsProposerPreferencesBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + ValidatorIndex proto.ColUInt32 + FeeRecipient route.SafeColFixedStr + GasLimit proto.ColUInt64 + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconApiEthV1EventsProposerPreferencesBatch() *beaconApiEthV1EventsProposerPreferencesBatch { + return &beaconApiEthV1EventsProposerPreferencesBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + FeeRecipient: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(42); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) Rows() int { + return b.rows +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "validator_index", Data: &b.ValidatorIndex}, + {Name: "fee_recipient", Data: &b.FeeRecipient}, + {Name: "gas_limit", Data: &b.GasLimit}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.ValidatorIndex.Reset() + b.FeeRecipient.Reset() + b.GasLimit.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 32) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["validator_index"] = b.ValidatorIndex.Row(i) + row["fee_recipient"] = string(b.FeeRecipient.Row(i)) + row["gas_limit"] = b.GasLimit.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences.go new file mode 100644 index 00000000..c3cfdc88 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences.go @@ -0,0 +1,103 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconApiEthV1EventsProposerPreferencesEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES, +} + +func init() { + r, err := route.NewStaticRoute( + beaconApiEthV1EventsProposerPreferencesTableName, + beaconApiEthV1EventsProposerPreferencesEventNames, + func() route.ColumnarBatch { return newbeaconApiEthV1EventsProposerPreferencesBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV1EventsProposerPreferences() == nil { + return fmt.Errorf("nil eth_v1_events_proposer_preferences payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +//nolint:gosec // G115: proto uint64 values are bounded by ClickHouse column schema +func (b *beaconApiEthV1EventsProposerPreferencesBatch) appendPayload(event *xatu.DecoratedEvent) { + signed := event.GetEthV1EventsProposerPreferences() + prefs := signed.GetMessage() + + if validatorIndex := prefs.GetValidatorIndex(); validatorIndex != nil { + b.ValidatorIndex.Append(uint32(validatorIndex.GetValue())) + } else { + b.ValidatorIndex.Append(0) + } + + b.FeeRecipient.Append([]byte(prefs.GetFeeRecipient())) + + if gasLimit := prefs.GetGasLimit(); gasLimit != nil { + b.GasLimit.Append(gasLimit.GetValue()) + } else { + b.GasLimit.Append(0) + } +} + +func (b *beaconApiEthV1EventsProposerPreferencesBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + client := event.GetMeta().GetClient() + additional := extractBeaconSlotEpochPropagation(client.GetEthV1EventsProposerPreferences()) + + b.Slot.Append(uint32(additional.Slot)) //nolint:gosec // slot fits uint32 + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences_test.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences_test.go new file mode 100644 index 00000000..e90a84fe --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v1_events_proposer_preferences_test.go @@ -0,0 +1,27 @@ +package beacon + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_beacon_api_eth_v1_events_proposer_preferences(t *testing.T) { + if len(beaconApiEthV1EventsProposerPreferencesEventNames) == 0 { + t.Skip("no event names registered for beacon_api_eth_v1_events_proposer_preferences") + } + + testfixture.AssertSnapshot(t, newbeaconApiEthV1EventsProposerPreferencesBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconApiEthV1EventsProposerPreferencesEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.gen.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.gen.go index be542065..c39ba23d 100644 --- a/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.gen.go +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.gen.go @@ -35,6 +35,11 @@ type beaconApiEthV2BeaconBlockBatch struct { ExecutionPayloadBaseFeePerGas *proto.ColNullable[proto.UInt128] ExecutionPayloadBlobGasUsed *proto.ColNullable[uint64] ExecutionPayloadExcessBlobGas *proto.ColNullable[uint64] + ExecutionPayloadSlotNumber *proto.ColNullable[uint64] + BuilderIndex *proto.ColNullable[uint64] + BidValue *proto.ColNullable[uint64] + ExecutionPayment *proto.ColNullable[uint64] + PayloadPresent *proto.ColNullable[bool] ExecutionPayloadGasLimit *proto.ColNullable[uint64] ExecutionPayloadGasUsed *proto.ColNullable[uint64] ExecutionPayloadStateRoot route.SafeColFixedStr @@ -80,6 +85,11 @@ func newbeaconApiEthV2BeaconBlockBatch() *beaconApiEthV2BeaconBlockBatch { ExecutionPayloadBaseFeePerGas: new(proto.ColUInt128).Nullable(), ExecutionPayloadBlobGasUsed: new(proto.ColUInt64).Nullable(), ExecutionPayloadExcessBlobGas: new(proto.ColUInt64).Nullable(), + ExecutionPayloadSlotNumber: new(proto.ColUInt64).Nullable(), + BuilderIndex: new(proto.ColUInt64).Nullable(), + BidValue: new(proto.ColUInt64).Nullable(), + ExecutionPayment: new(proto.ColUInt64).Nullable(), + PayloadPresent: new(proto.ColBool).Nullable(), ExecutionPayloadGasLimit: new(proto.ColUInt64).Nullable(), ExecutionPayloadGasUsed: new(proto.ColUInt64).Nullable(), ExecutionPayloadStateRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), @@ -168,6 +178,11 @@ func (b *beaconApiEthV2BeaconBlockBatch) Input() proto.Input { {Name: "execution_payload_base_fee_per_gas", Data: b.ExecutionPayloadBaseFeePerGas}, {Name: "execution_payload_blob_gas_used", Data: b.ExecutionPayloadBlobGasUsed}, {Name: "execution_payload_excess_blob_gas", Data: b.ExecutionPayloadExcessBlobGas}, + {Name: "execution_payload_slot_number", Data: b.ExecutionPayloadSlotNumber}, + {Name: "builder_index", Data: b.BuilderIndex}, + {Name: "bid_value", Data: b.BidValue}, + {Name: "execution_payment", Data: b.ExecutionPayment}, + {Name: "payload_present", Data: b.PayloadPresent}, {Name: "execution_payload_gas_limit", Data: b.ExecutionPayloadGasLimit}, {Name: "execution_payload_gas_used", Data: b.ExecutionPayloadGasUsed}, {Name: "execution_payload_state_root", Data: &b.ExecutionPayloadStateRoot}, @@ -219,6 +234,11 @@ func (b *beaconApiEthV2BeaconBlockBatch) Reset() { b.ExecutionPayloadBaseFeePerGas.Reset() b.ExecutionPayloadBlobGasUsed.Reset() b.ExecutionPayloadExcessBlobGas.Reset() + b.ExecutionPayloadSlotNumber.Reset() + b.BuilderIndex.Reset() + b.BidValue.Reset() + b.ExecutionPayment.Reset() + b.PayloadPresent.Reset() b.ExecutionPayloadGasLimit.Reset() b.ExecutionPayloadGasUsed.Reset() b.ExecutionPayloadStateRoot.Reset() @@ -253,7 +273,7 @@ func (b *beaconApiEthV2BeaconBlockBatch) Snapshot() []map[string]any { out := make([]map[string]any, n) for i := 0; i < n; i++ { - row := make(map[string]any, 47) + row := make(map[string]any, 52) row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() row["slot"] = b.Slot.Row(i) @@ -307,6 +327,31 @@ func (b *beaconApiEthV2BeaconBlockBatch) Snapshot() []map[string]any { } else { row["execution_payload_excess_blob_gas"] = nil } + if v := b.ExecutionPayloadSlotNumber.Row(i); v.Set { + row["execution_payload_slot_number"] = v.Value + } else { + row["execution_payload_slot_number"] = nil + } + if v := b.BuilderIndex.Row(i); v.Set { + row["builder_index"] = v.Value + } else { + row["builder_index"] = nil + } + if v := b.BidValue.Row(i); v.Set { + row["bid_value"] = v.Value + } else { + row["bid_value"] = nil + } + if v := b.ExecutionPayment.Row(i); v.Set { + row["execution_payment"] = v.Value + } else { + row["execution_payment"] = nil + } + if v := b.PayloadPresent.Row(i); v.Set { + row["payload_present"] = v.Value + } else { + row["payload_present"] = nil + } if v := b.ExecutionPayloadGasLimit.Row(i); v.Set { row["execution_payload_gas_limit"] = v.Value } else { diff --git a/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.go b/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.go index 10a75151..d548558b 100644 --- a/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.go +++ b/pkg/clickhouse/route/beacon/beacon_api_eth_v2_beacon_block.go @@ -70,7 +70,8 @@ func (b *beaconApiEthV2BeaconBlockBatch) validate(event *xatu.DecoratedEvent) er payload.GetCapellaBlock() == nil && payload.GetDenebBlock() == nil && payload.GetElectraBlock() == nil && - payload.GetFuluBlock() == nil { + payload.GetFuluBlock() == nil && + payload.GetGloasBlock() == nil { return fmt.Errorf("nil Message: %w", route.ErrInvalidEvent) } @@ -250,6 +251,34 @@ func (b *beaconApiEthV2BeaconBlockBatch) appendPayloadFromEventBlockV2( return b.appendExecutionPayloadElectra(body.GetExecutionPayload()) } + if gloasBlock := eventBlock.GetGloasBlock(); gloasBlock != nil { + if slot := gloasBlock.GetSlot(); slot != nil { + b.Slot.Append(uint32(slot.GetValue())) //nolint:gosec // slot fits uint32 + } else { + b.Slot.Append(0) + } + + b.ParentRoot.Append([]byte(gloasBlock.GetParentRoot())) + b.StateRoot.Append([]byte(gloasBlock.GetStateRoot())) + + if pi := gloasBlock.GetProposerIndex(); pi != nil { + b.ProposerIndex.Append(uint32(pi.GetValue())) //nolint:gosec // proposer index fits uint32 + } else { + b.ProposerIndex.Append(0) + } + + body := gloasBlock.GetBody() + b.appendEth1Data(body.GetEth1Data()) + + // Gloas blocks have no inline execution payload — it arrives + // via the ExecutionPayloadEnvelope event. EPBS columns come + // from the bid in the block body. + b.appendNullInlinePayloadFields() + b.appendEpbsFromBid(body.GetSignedExecutionPayloadBid()) + + return nil + } + // Unknown block type: append zero values. b.Slot.Append(0) b.ParentRoot.Append(nil) @@ -274,18 +303,68 @@ func (b *beaconApiEthV2BeaconBlockBatch) appendEth1Data(eth1Data *ethv1.Eth1Data } func (b *beaconApiEthV2BeaconBlockBatch) appendNoExecutionPayload() { + b.appendNullInlinePayloadFields() + b.appendNullEpbsColumns() +} + +// appendNullInlinePayloadFields appends NULL/zero for every column that comes +// from the (pre-Gloas) inline execution payload. Gloas blocks call this in +// lieu of `appendNoExecutionPayload` because they populate the EPBS columns +// from the bid instead. +func (b *beaconApiEthV2BeaconBlockBatch) appendNullInlinePayloadFields() { b.ExecutionPayloadBlockHash.Append(proto.Nullable[[]byte]{}) b.ExecutionPayloadBlockNumber.Append(proto.Nullable[uint32]{}) b.ExecutionPayloadFeeRecipient.Append(proto.Nullable[string]{}) b.ExecutionPayloadBaseFeePerGas.Append(proto.Nullable[proto.UInt128]{}) b.ExecutionPayloadBlobGasUsed.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadExcessBlobGas.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadGasLimit.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadGasUsed.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadStateRoot.Append(nil) b.ExecutionPayloadParentHash.Append(nil) } +func (b *beaconApiEthV2BeaconBlockBatch) appendNullEpbsColumns() { + b.BuilderIndex.Append(proto.Nullable[uint64]{}) + b.BidValue.Append(proto.Nullable[uint64]{}) + b.ExecutionPayment.Append(proto.Nullable[uint64]{}) + b.PayloadPresent.Append(proto.Nullable[bool]{}) +} + +// appendEpbsFromBid populates the four EPBS columns from a Gloas block's +// SignedExecutionPayloadBid. payload_present is post-fact (requires PTC vote +// or envelope arrival), so it stays NULL — fold in via downstream join. +func (b *beaconApiEthV2BeaconBlockBatch) appendEpbsFromBid(bid *ethv1.SignedExecutionPayloadBid) { + if bid == nil || bid.GetMessage() == nil { + b.appendNullEpbsColumns() + + return + } + + msg := bid.GetMessage() + + if v := msg.GetBuilderIndex(); v != nil { + b.BuilderIndex.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.BuilderIndex.Append(proto.Nullable[uint64]{}) + } + + if v := msg.GetValue(); v != nil { + b.BidValue.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.BidValue.Append(proto.Nullable[uint64]{}) + } + + if v := msg.GetExecutionPayment(); v != nil { + b.ExecutionPayment.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.ExecutionPayment.Append(proto.Nullable[uint64]{}) + } + + b.PayloadPresent.Append(proto.Nullable[bool]{}) +} + func (b *beaconApiEthV2BeaconBlockBatch) appendExecutionPayloadV2( payload *ethv1.ExecutionPayloadV2, ) error { @@ -327,6 +406,9 @@ func (b *beaconApiEthV2BeaconBlockBatch) appendExecutionPayloadV2( b.ExecutionPayloadBlobGasUsed.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadExcessBlobGas.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + + b.appendNullEpbsColumns() return nil } @@ -372,6 +454,9 @@ func (b *beaconApiEthV2BeaconBlockBatch) appendExecutionPayloadCapellaV2( b.ExecutionPayloadBlobGasUsed.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadExcessBlobGas.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + + b.appendNullEpbsColumns() return nil } @@ -427,6 +512,10 @@ func (b *beaconApiEthV2BeaconBlockBatch) appendExecutionPayloadDeneb( b.ExecutionPayloadGasUsed.Append(proto.Nullable[uint64]{}) } + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + + b.appendNullEpbsColumns() + return nil } @@ -481,6 +570,10 @@ func (b *beaconApiEthV2BeaconBlockBatch) appendExecutionPayloadElectra( b.ExecutionPayloadGasUsed.Append(proto.Nullable[uint64]{}) } + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + + b.appendNullEpbsColumns() + return nil } diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement.gen.go b/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement.gen.go new file mode 100644 index 00000000..f39655bd --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement.gen.go @@ -0,0 +1,259 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconSyntheticBuilderPendingPaymentSettlementTableName route.TableName = "beacon_synthetic_builder_pending_payment_settlement" + +type beaconSyntheticBuilderPendingPaymentSettlementBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BuilderIndex proto.ColUInt64 + FeeRecipient route.SafeColFixedStr + Amount proto.ColUInt64 + Weight proto.ColUInt64 + Quorum proto.ColUInt64 + Outcome proto.ColStr + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconSyntheticBuilderPendingPaymentSettlementBatch() *beaconSyntheticBuilderPendingPaymentSettlementBatch { + return &beaconSyntheticBuilderPendingPaymentSettlementBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + FeeRecipient: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(42); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) Rows() int { + return b.rows +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "builder_index", Data: &b.BuilderIndex}, + {Name: "fee_recipient", Data: &b.FeeRecipient}, + {Name: "amount", Data: &b.Amount}, + {Name: "weight", Data: &b.Weight}, + {Name: "quorum", Data: &b.Quorum}, + {Name: "outcome", Data: &b.Outcome}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BuilderIndex.Reset() + b.FeeRecipient.Reset() + b.Amount.Reset() + b.Weight.Reset() + b.Quorum.Reset() + b.Outcome.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 32) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["builder_index"] = b.BuilderIndex.Row(i) + row["fee_recipient"] = string(b.FeeRecipient.Row(i)) + row["amount"] = b.Amount.Row(i) + row["weight"] = b.Weight.Row(i) + row["quorum"] = b.Quorum.Row(i) + row["outcome"] = b.Outcome.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement.go b/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement.go new file mode 100644 index 00000000..49bd4e8c --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement.go @@ -0,0 +1,150 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconSyntheticBuilderPendingPaymentSettlementEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT, +} + +func init() { + r, err := route.NewStaticRoute( + beaconSyntheticBuilderPendingPaymentSettlementTableName, + beaconSyntheticBuilderPendingPaymentSettlementEventNames, + func() route.ColumnarBatch { return newbeaconSyntheticBuilderPendingPaymentSettlementBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetBeaconSyntheticBuilderPendingPaymentSettlement() == nil { + return fmt.Errorf( + "nil beacon_synthetic_builder_pending_payment_settlement payload: %w", + route.ErrInvalidEvent, + ) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) appendRuntime( + event *xatu.DecoratedEvent, +) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) appendPayload( + event *xatu.DecoratedEvent, +) { + payload := event.GetBeaconSyntheticBuilderPendingPaymentSettlement() + + if v := payload.GetBuilderIndex(); v != nil { + b.BuilderIndex.Append(v.GetValue()) + } else { + b.BuilderIndex.Append(0) + } + + b.FeeRecipient.Append([]byte(payload.GetFeeRecipient())) + + if v := payload.GetAmount(); v != nil { + b.Amount.Append(v.GetValue()) + } else { + b.Amount.Append(0) + } + + if v := payload.GetWeight(); v != nil { + b.Weight.Append(v.GetValue()) + } else { + b.Weight.Append(0) + } + + if v := payload.GetQuorum(); v != nil { + b.Quorum.Append(v.GetValue()) + } else { + b.Quorum.Append(0) + } + + b.Outcome.Append(builderPendingPaymentOutcomeEnumName(payload.GetOutcome())) +} + +func (b *beaconSyntheticBuilderPendingPaymentSettlementBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + additional := event.GetMeta().GetClient().GetBeaconSyntheticBuilderPendingPaymentSettlement() + if additional == nil { + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + if epoch := additional.GetEpoch(); epoch != nil { + if epochNumber := epoch.GetNumber(); epochNumber != nil { + b.Epoch.Append(uint32(epochNumber.GetValue())) //nolint:gosec // epoch values fit uint32 + } else { + b.Epoch.Append(0) + } + + if sdt := epoch.GetStartDateTime(); sdt != nil { + b.EpochStartDateTime.Append(sdt.AsTime()) + } else { + b.EpochStartDateTime.Append(time.Time{}) + } + } else { + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + } +} + +// builderPendingPaymentOutcomeEnumName returns the human-readable name for the +// outcome enum used in the ClickHouse table (matches the migration's +// LowCardinality(String)). +func builderPendingPaymentOutcomeEnumName(o ethv1.BuilderPendingPaymentOutcome) string { + switch o { + case ethv1.BuilderPendingPaymentOutcome_BUILDER_PENDING_PAYMENT_OUTCOME_SETTLED: + return "SETTLED" + case ethv1.BuilderPendingPaymentOutcome_BUILDER_PENDING_PAYMENT_OUTCOME_DROPPED: + return "DROPPED" + default: + return "UNKNOWN" + } +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement_test.go b/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement_test.go new file mode 100644 index 00000000..433e39a0 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_builder_pending_payment_settlement_test.go @@ -0,0 +1,27 @@ +package beacon + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_beacon_synthetic_builder_pending_payment_settlement(t *testing.T) { + if len(beaconSyntheticBuilderPendingPaymentSettlementEventNames) == 0 { + t.Skip("no event names registered for beacon_synthetic_builder_pending_payment_settlement") + } + + testfixture.AssertSnapshot(t, newbeaconSyntheticBuilderPendingPaymentSettlementBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconSyntheticBuilderPendingPaymentSettlementEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed.gen.go b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed.gen.go new file mode 100644 index 00000000..454e097c --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed.gen.go @@ -0,0 +1,276 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconSyntheticPayloadAttestationProcessedTableName route.TableName = "beacon_synthetic_payload_attestation_processed" + +type beaconSyntheticPayloadAttestationProcessedBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BeaconBlockRoot route.SafeColFixedStr + ValidatorIndex proto.ColUInt32 + PayloadPresent proto.ColBool + BlobDataAvailable proto.ColBool + PeerID proto.ColStr + ProcessingDurationMs proto.ColUInt64 + ReceivedAt proto.ColDateTime64 + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconSyntheticPayloadAttestationProcessedBatch() *beaconSyntheticPayloadAttestationProcessedBatch { + return &beaconSyntheticPayloadAttestationProcessedBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BeaconBlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + ReceivedAt: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) Rows() int { + return b.rows +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "beacon_block_root", Data: &b.BeaconBlockRoot}, + {Name: "validator_index", Data: &b.ValidatorIndex}, + {Name: "payload_present", Data: &b.PayloadPresent}, + {Name: "blob_data_available", Data: &b.BlobDataAvailable}, + {Name: "peer_id", Data: &b.PeerID}, + {Name: "processing_duration_ms", Data: &b.ProcessingDurationMs}, + {Name: "received_at", Data: &b.ReceivedAt}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BeaconBlockRoot.Reset() + b.ValidatorIndex.Reset() + b.PayloadPresent.Reset() + b.BlobDataAvailable.Reset() + b.PeerID.Reset() + b.ProcessingDurationMs.Reset() + b.ReceivedAt.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 36) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["beacon_block_root"] = string(b.BeaconBlockRoot.Row(i)) + row["validator_index"] = b.ValidatorIndex.Row(i) + row["payload_present"] = b.PayloadPresent.Row(i) + row["blob_data_available"] = b.BlobDataAvailable.Row(i) + row["peer_id"] = b.PeerID.Row(i) + row["processing_duration_ms"] = b.ProcessingDurationMs.Row(i) + row["received_at"] = b.ReceivedAt.Row(i).UnixMilli() + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed.go b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed.go new file mode 100644 index 00000000..9c034ee9 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed.go @@ -0,0 +1,121 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconSyntheticPayloadAttestationProcessedEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED, +} + +func init() { + r, err := route.NewStaticRoute( + beaconSyntheticPayloadAttestationProcessedTableName, + beaconSyntheticPayloadAttestationProcessedEventNames, + func() route.ColumnarBatch { return newbeaconSyntheticPayloadAttestationProcessedBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetBeaconSyntheticPayloadAttestationProcessed() == nil { + return fmt.Errorf( + "nil beacon_synthetic_payload_attestation_processed payload: %w", + route.ErrInvalidEvent, + ) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) appendRuntime( + event *xatu.DecoratedEvent, +) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) appendPayload( + event *xatu.DecoratedEvent, +) { + payload := event.GetBeaconSyntheticPayloadAttestationProcessed() + + if slot := payload.GetSlot(); slot != nil { + b.Slot.Append(uint32(slot.GetValue())) //nolint:gosec // slot values fit uint32 + } else { + b.Slot.Append(0) + } + + b.BeaconBlockRoot.Append([]byte(payload.GetBeaconBlockRoot())) + + if v := payload.GetValidatorIndex(); v != nil { + b.ValidatorIndex.Append(uint32(v.GetValue())) //nolint:gosec // validator index fits uint32 + } else { + b.ValidatorIndex.Append(0) + } + + b.PayloadPresent.Append(payload.GetPayloadPresent()) + b.BlobDataAvailable.Append(payload.GetBlobDataAvailable()) + b.PeerID.Append(payload.GetPeerId()) + + if v := payload.GetProcessingDurationMs(); v != nil { + b.ProcessingDurationMs.Append(v.GetValue()) + } else { + b.ProcessingDurationMs.Append(0) + } + + if v := payload.GetReceivedAt(); v != nil { + b.ReceivedAt.Append(v.AsTime()) + } else { + b.ReceivedAt.Append(time.Time{}) + } +} + +func (b *beaconSyntheticPayloadAttestationProcessedBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + additional := extractBeaconSlotEpochPropagation(event.GetMeta().GetClient().GetBeaconSyntheticPayloadAttestationProcessed()) + + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed_test.go b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed_test.go new file mode 100644 index 00000000..b6d51e5c --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_attestation_processed_test.go @@ -0,0 +1,68 @@ +package beacon + +import ( + "testing" + "time" + + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +// TestSnapshot_beacon_synthetic_payload_attestation_processed verifies the +// per-PTC-vote enrichment event flattens to ClickHouse columns. Asserts the +// processing-latency, validator-identity, and PTC vote payload bits round-trip +// correctly. EIP-7732 ePBS. +func TestSnapshot_beacon_synthetic_payload_attestation_processed(t *testing.T) { + if len(beaconSyntheticPayloadAttestationProcessedEventNames) == 0 { + t.Skip("no event names registered for beacon_synthetic_payload_attestation_processed") + } + + const ( + colBeaconBlockRoot = "beacon_block_root" + colValidatorIndex = "validator_index" + colPayloadPresent = "payload_present" + colBlobDataAvailable = "blob_data_available" + colPeerID = "peer_id" + colProcessingDurationMs = "processing_duration_ms" + ) + + receivedAt := time.Unix(1_700_000_000, 0).UTC() + processedAt := receivedAt.Add(17 * time.Millisecond) + + payload := ðv1.PayloadAttestationProcessed{ + Slot: wrapperspb.UInt64(12345), + BeaconBlockRoot: blockRoot64A, + ValidatorIndex: wrapperspb.UInt64(987654), + PayloadPresent: true, + BlobDataAvailable: true, + PeerId: "16Uiu2HAmExamplePeerIDForSnapshotTest1234567890", + ProcessingDurationMs: wrapperspb.UInt64(17), + ReceivedAt: timestamppb.New(receivedAt), + ProcessedAt: timestamppb.New(processedAt), + } + + testfixture.AssertSnapshot(t, newbeaconSyntheticPayloadAttestationProcessedBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconSyntheticPayloadAttestationProcessedEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + Data: &xatu.DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed{ + BeaconSyntheticPayloadAttestationProcessed: payload, + }, + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + colSlot: uint32(12345), + colBeaconBlockRoot: blockRoot64A, + colValidatorIndex: uint32(987654), + colPayloadPresent: true, + colBlobDataAvailable: true, + colPeerID: "16Uiu2HAmExamplePeerIDForSnapshotTest1234567890", + colProcessingDurationMs: uint64(17), + }) +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved.gen.go b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved.gen.go new file mode 100644 index 00000000..22d6d829 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved.gen.go @@ -0,0 +1,312 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package beacon + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const beaconSyntheticPayloadStatusResolvedTableName route.TableName = "beacon_synthetic_payload_status_resolved" + +type beaconSyntheticPayloadStatusResolvedBatch struct { + UpdatedDateTime proto.ColDateTime + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BlockRoot route.SafeColFixedStr + BlockHash route.SafeColFixedStr + Status proto.ColStr + PreviousStatus proto.ColStr + PayloadTimelinessVotesPositive proto.ColUInt64 + PayloadTimelinessVotesNegative *proto.ColNullable[uint64] + PayloadTimelinessVotesAbsent *proto.ColNullable[uint64] + DataAvailableVotesPositive proto.ColUInt64 + DataAvailableVotesNegative *proto.ColNullable[uint64] + DataAvailableVotesAbsent *proto.ColNullable[uint64] + PtcSize proto.ColUInt64 + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newbeaconSyntheticPayloadStatusResolvedBatch() *beaconSyntheticPayloadStatusResolvedBatch { + return &beaconSyntheticPayloadStatusResolvedBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + PayloadTimelinessVotesNegative: new(proto.ColUInt64).Nullable(), + PayloadTimelinessVotesAbsent: new(proto.ColUInt64).Nullable(), + DataAvailableVotesNegative: new(proto.ColUInt64).Nullable(), + DataAvailableVotesAbsent: new(proto.ColUInt64).Nullable(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) Rows() int { + return b.rows +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "status", Data: &b.Status}, + {Name: "previous_status", Data: &b.PreviousStatus}, + {Name: "payload_timeliness_votes_positive", Data: &b.PayloadTimelinessVotesPositive}, + {Name: "payload_timeliness_votes_negative", Data: b.PayloadTimelinessVotesNegative}, + {Name: "payload_timeliness_votes_absent", Data: b.PayloadTimelinessVotesAbsent}, + {Name: "data_available_votes_positive", Data: &b.DataAvailableVotesPositive}, + {Name: "data_available_votes_negative", Data: b.DataAvailableVotesNegative}, + {Name: "data_available_votes_absent", Data: b.DataAvailableVotesAbsent}, + {Name: "ptc_size", Data: &b.PtcSize}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) Reset() { + b.UpdatedDateTime.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BlockRoot.Reset() + b.BlockHash.Reset() + b.Status.Reset() + b.PreviousStatus.Reset() + b.PayloadTimelinessVotesPositive.Reset() + b.PayloadTimelinessVotesNegative.Reset() + b.PayloadTimelinessVotesAbsent.Reset() + b.DataAvailableVotesPositive.Reset() + b.DataAvailableVotesNegative.Reset() + b.DataAvailableVotesAbsent.Reset() + b.PtcSize.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 40) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["block_root"] = string(b.BlockRoot.Row(i)) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["status"] = b.Status.Row(i) + row["previous_status"] = b.PreviousStatus.Row(i) + row["payload_timeliness_votes_positive"] = b.PayloadTimelinessVotesPositive.Row(i) + if v := b.PayloadTimelinessVotesNegative.Row(i); v.Set { + row["payload_timeliness_votes_negative"] = v.Value + } else { + row["payload_timeliness_votes_negative"] = nil + } + if v := b.PayloadTimelinessVotesAbsent.Row(i); v.Set { + row["payload_timeliness_votes_absent"] = v.Value + } else { + row["payload_timeliness_votes_absent"] = nil + } + row["data_available_votes_positive"] = b.DataAvailableVotesPositive.Row(i) + if v := b.DataAvailableVotesNegative.Row(i); v.Set { + row["data_available_votes_negative"] = v.Value + } else { + row["data_available_votes_negative"] = nil + } + if v := b.DataAvailableVotesAbsent.Row(i); v.Set { + row["data_available_votes_absent"] = v.Value + } else { + row["data_available_votes_absent"] = nil + } + row["ptc_size"] = b.PtcSize.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved.go b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved.go new file mode 100644 index 00000000..e631a259 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved.go @@ -0,0 +1,163 @@ +package beacon + +import ( + "fmt" + "time" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var beaconSyntheticPayloadStatusResolvedEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED, +} + +func init() { + r, err := route.NewStaticRoute( + beaconSyntheticPayloadStatusResolvedTableName, + beaconSyntheticPayloadStatusResolvedEventNames, + func() route.ColumnarBatch { return newbeaconSyntheticPayloadStatusResolvedBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetBeaconSyntheticPayloadStatusResolved() == nil { + return fmt.Errorf( + "nil beacon_synthetic_payload_status_resolved payload: %w", + route.ErrInvalidEvent, + ) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) appendRuntime( + event *xatu.DecoratedEvent, +) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) appendPayload( + event *xatu.DecoratedEvent, +) { + payload := event.GetBeaconSyntheticPayloadStatusResolved() + + if slot := payload.GetSlot(); slot != nil { + b.Slot.Append(uint32(slot.GetValue())) //nolint:gosec // slot values fit uint32 + } else { + b.Slot.Append(0) + } + + b.BlockRoot.Append([]byte(payload.GetBlockRoot())) + b.BlockHash.Append([]byte(payload.GetBlockHash())) + b.Status.Append(payloadStatusEnumName(payload.GetStatus())) + b.PreviousStatus.Append(payloadStatusEnumName(payload.GetPreviousStatus())) + + if v := payload.GetPayloadTimelinessVotesPositive(); v != nil { + b.PayloadTimelinessVotesPositive.Append(v.GetValue()) + } else { + b.PayloadTimelinessVotesPositive.Append(0) + } + + if v := payload.GetPayloadTimelinessVotesNegative(); v != nil { + b.PayloadTimelinessVotesNegative.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.PayloadTimelinessVotesNegative.Append(proto.Nullable[uint64]{}) + } + + if v := payload.GetPayloadTimelinessVotesAbsent(); v != nil { + b.PayloadTimelinessVotesAbsent.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.PayloadTimelinessVotesAbsent.Append(proto.Nullable[uint64]{}) + } + + if v := payload.GetDataAvailableVotesPositive(); v != nil { + b.DataAvailableVotesPositive.Append(v.GetValue()) + } else { + b.DataAvailableVotesPositive.Append(0) + } + + if v := payload.GetDataAvailableVotesNegative(); v != nil { + b.DataAvailableVotesNegative.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.DataAvailableVotesNegative.Append(proto.Nullable[uint64]{}) + } + + if v := payload.GetDataAvailableVotesAbsent(); v != nil { + b.DataAvailableVotesAbsent.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.DataAvailableVotesAbsent.Append(proto.Nullable[uint64]{}) + } + + if v := payload.GetPtcSize(); v != nil { + b.PtcSize.Append(v.GetValue()) + } else { + b.PtcSize.Append(0) + } +} + +func (b *beaconSyntheticPayloadStatusResolvedBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + if event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.SlotStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + + return + } + + additional := extractBeaconSlotEpochPropagation(event.GetMeta().GetClient().GetBeaconSyntheticPayloadStatusResolved()) + + b.SlotStartDateTime.Append(time.Unix(additional.SlotStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(uint32(additional.PropagationSlotStartDiff)) //nolint:gosec // propagation diff fits uint32 + b.Epoch.Append(uint32(additional.Epoch)) //nolint:gosec // epoch fits uint32 + b.EpochStartDateTime.Append(time.Unix(additional.EpochStartDateTime, 0)) +} + +// payloadStatusEnumName returns the human-readable name for the payload status +// enum used in the ClickHouse table (matches the migration's LowCardinality(String)). +func payloadStatusEnumName(s ethv1.PayloadStatus) string { + switch s { + case ethv1.PayloadStatus_PAYLOAD_STATUS_PENDING: + return "PENDING" + case ethv1.PayloadStatus_PAYLOAD_STATUS_FULL: + return "FULL" + case ethv1.PayloadStatus_PAYLOAD_STATUS_EMPTY: + return "EMPTY" + case ethv1.PayloadStatus_PAYLOAD_STATUS_INVALID: + return "INVALID" + default: + return "UNKNOWN" + } +} diff --git a/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved_test.go b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved_test.go new file mode 100644 index 00000000..931dc693 --- /dev/null +++ b/pkg/clickhouse/route/beacon/beacon_synthetic_payload_status_resolved_test.go @@ -0,0 +1,180 @@ +package beacon + +import ( + "testing" + + "google.golang.org/protobuf/types/known/wrapperspb" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + colBlockRoot = "block_root" + colBlockHash = "block_hash" + statusPENDING = "PENDING" + + colSlot = "slot" + colStatus = "status" + colPreviousStatus = "previous_status" + colPayloadTimelinessVotesPositive = "payload_timeliness_votes_positive" + colPayloadTimelinessVotesNegative_ = "payload_timeliness_votes_negative" + colPayloadTimelinessVotesAbsent_ = "payload_timeliness_votes_absent" + colDataAvailableVotesPositive_ = "data_available_votes_positive" + colDataAvailableVotesNegative_ = "data_available_votes_negative" + colDataAvailableVotesAbsent_ = "data_available_votes_absent" + colPtcSize_ = "ptc_size" + + blockRoot64A = "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + blockHash64B = "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + blockRoot64C = "0xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" + blockHash64D = "0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" +) + +// uint64Ptr returns a pointer to v. Used to populate the optional +// three-state PTC vote counts when the test scenario simulates a CL that +// surfaces the breakdown (PR #5180). +func uint64Ptr(v uint64) *uint64 { return &v } + +// TestSnapshot_beacon_synthetic_payload_status_resolved verifies that the +// fork-choice payload-status-resolved synthetic event plumbs through to +// ClickHouse columns correctly, including the three-state PTC vote +// breakdown (positive / negative / absent) introduced by consensus-specs +// PR #5180. +// +// Two scenarios are exercised: +// +// - known: the emitting CL exposes the full Optional[boolean] breakdown +// and all six counts are non-nil. `positive + negative + absent == +// ptc_size` for both metrics. +// +// - unknown: the CL doesn't surface the breakdown — only positive +// counts are populated; the negative and absent counts are NULL. +func TestSnapshot_beacon_synthetic_payload_status_resolved(t *testing.T) { + if len(beaconSyntheticPayloadStatusResolvedEventNames) == 0 { + t.Skip("no event names registered for beacon_synthetic_payload_status_resolved") + } + + cases := []struct { + name string + slot uint64 + blockRoot string + blockHash string + status ethv1.PayloadStatus + statusStr string + previousStatus ethv1.PayloadStatus + + payloadPositive uint64 + payloadNegative *uint64 + payloadAbsent *uint64 + + dataPositive uint64 + dataNegative *uint64 + dataAbsent *uint64 + + ptcSize uint64 + }{ + { + name: "three_state_breakdown_known", + slot: 12345, + blockRoot: blockRoot64A, + blockHash: blockHash64B, + status: ethv1.PayloadStatus_PAYLOAD_STATUS_FULL, + statusStr: "FULL", + previousStatus: ethv1.PayloadStatus_PAYLOAD_STATUS_PENDING, + payloadPositive: 400, + payloadNegative: uint64Ptr(50), + payloadAbsent: uint64Ptr(62), + dataPositive: 380, + dataNegative: uint64Ptr(70), + dataAbsent: uint64Ptr(62), + ptcSize: 512, + }, + { + name: "three_state_breakdown_unknown", + slot: 12346, + blockRoot: blockRoot64C, + blockHash: blockHash64D, + status: ethv1.PayloadStatus_PAYLOAD_STATUS_EMPTY, + statusStr: "EMPTY", + previousStatus: ethv1.PayloadStatus_PAYLOAD_STATUS_PENDING, + payloadPositive: 100, + payloadNegative: nil, + payloadAbsent: nil, + dataPositive: 90, + dataNegative: nil, + dataAbsent: nil, + ptcSize: 512, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + payload := ðv1.PayloadStatusResolved{ + Slot: wrapperspb.UInt64(tc.slot), + BlockRoot: tc.blockRoot, + BlockHash: tc.blockHash, + Status: tc.status, + PreviousStatus: tc.previousStatus, + PayloadTimelinessVotesPositive: wrapperspb.UInt64(tc.payloadPositive), + DataAvailableVotesPositive: wrapperspb.UInt64(tc.dataPositive), + PtcSize: wrapperspb.UInt64(tc.ptcSize), + } + if tc.payloadNegative != nil { + payload.PayloadTimelinessVotesNegative = wrapperspb.UInt64(*tc.payloadNegative) + } + + if tc.payloadAbsent != nil { + payload.PayloadTimelinessVotesAbsent = wrapperspb.UInt64(*tc.payloadAbsent) + } + + if tc.dataNegative != nil { + payload.DataAvailableVotesNegative = wrapperspb.UInt64(*tc.dataNegative) + } + + if tc.dataAbsent != nil { + payload.DataAvailableVotesAbsent = wrapperspb.UInt64(*tc.dataAbsent) + } + + expected := map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + colSlot: uint32(tc.slot), + colBlockRoot: tc.blockRoot, + colBlockHash: tc.blockHash, + colStatus: tc.statusStr, + colPreviousStatus: statusPENDING, + colPayloadTimelinessVotesPositive: tc.payloadPositive, + colPayloadTimelinessVotesNegative_: nullableUint64Expected(tc.payloadNegative), + colPayloadTimelinessVotesAbsent_: nullableUint64Expected(tc.payloadAbsent), + colDataAvailableVotesPositive_: tc.dataPositive, + colDataAvailableVotesNegative_: nullableUint64Expected(tc.dataNegative), + colDataAvailableVotesAbsent_: nullableUint64Expected(tc.dataAbsent), + colPtcSize_: tc.ptcSize, + } + + testfixture.AssertSnapshot(t, newbeaconSyntheticPayloadStatusResolvedBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: beaconSyntheticPayloadStatusResolvedEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + Data: &xatu.DecoratedEvent_BeaconSyntheticPayloadStatusResolved{ + BeaconSyntheticPayloadStatusResolved: payload, + }, + }, 1, expected) + }) + } +} + +// nullableUint64Expected returns the expected snapshot value for an +// Optional[uint64] column — the dereferenced value when non-nil, otherwise +// nil (which the snapshot helper compares to a SQL NULL projection). +func nullableUint64Expected(v *uint64) any { + if v == nil { + return nil + } + + return *v +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block.gen.go b/pkg/clickhouse/route/canonical/canonical_beacon_block.gen.go index 445dcee2..3ce80542 100644 --- a/pkg/clickhouse/route/canonical/canonical_beacon_block.gen.go +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block.gen.go @@ -32,6 +32,12 @@ type canonicalBeaconBlockBatch struct { ExecutionPayloadBaseFeePerGas *proto.ColNullable[proto.UInt128] ExecutionPayloadBlobGasUsed *proto.ColNullable[uint64] ExecutionPayloadExcessBlobGas *proto.ColNullable[uint64] + ExecutionPayloadSlotNumber *proto.ColNullable[uint64] + ExecutionPayloadBlockAccessListRoot *proto.ColNullable[[]byte] + BuilderIndex *proto.ColNullable[uint64] + BidValue *proto.ColNullable[uint64] + ExecutionPayment *proto.ColNullable[uint64] + PayloadPresent *proto.ColNullable[bool] ExecutionPayloadGasLimit *proto.ColNullable[uint64] ExecutionPayloadGasUsed *proto.ColNullable[uint64] ExecutionPayloadStateRoot *proto.ColNullable[[]byte] @@ -58,6 +64,12 @@ func newcanonicalBeaconBlockBatch() *canonicalBeaconBlockBatch { ExecutionPayloadBaseFeePerGas: new(proto.ColUInt128).Nullable(), ExecutionPayloadBlobGasUsed: new(proto.ColUInt64).Nullable(), ExecutionPayloadExcessBlobGas: new(proto.ColUInt64).Nullable(), + ExecutionPayloadSlotNumber: new(proto.ColUInt64).Nullable(), + ExecutionPayloadBlockAccessListRoot: route.NewNullableFixedStr(66), + BuilderIndex: new(proto.ColUInt64).Nullable(), + BidValue: new(proto.ColUInt64).Nullable(), + ExecutionPayment: new(proto.ColUInt64).Nullable(), + PayloadPresent: new(proto.ColBool).Nullable(), ExecutionPayloadGasLimit: new(proto.ColUInt64).Nullable(), ExecutionPayloadGasUsed: new(proto.ColUInt64).Nullable(), ExecutionPayloadStateRoot: route.NewNullableFixedStr(66), @@ -103,6 +115,12 @@ func (b *canonicalBeaconBlockBatch) Input() proto.Input { {Name: "execution_payload_base_fee_per_gas", Data: b.ExecutionPayloadBaseFeePerGas}, {Name: "execution_payload_blob_gas_used", Data: b.ExecutionPayloadBlobGasUsed}, {Name: "execution_payload_excess_blob_gas", Data: b.ExecutionPayloadExcessBlobGas}, + {Name: "execution_payload_slot_number", Data: b.ExecutionPayloadSlotNumber}, + {Name: "execution_payload_block_access_list_root", Data: b.ExecutionPayloadBlockAccessListRoot}, + {Name: "builder_index", Data: b.BuilderIndex}, + {Name: "bid_value", Data: b.BidValue}, + {Name: "execution_payment", Data: b.ExecutionPayment}, + {Name: "payload_present", Data: b.PayloadPresent}, {Name: "execution_payload_gas_limit", Data: b.ExecutionPayloadGasLimit}, {Name: "execution_payload_gas_used", Data: b.ExecutionPayloadGasUsed}, {Name: "execution_payload_state_root", Data: b.ExecutionPayloadStateRoot}, @@ -135,6 +153,12 @@ func (b *canonicalBeaconBlockBatch) Reset() { b.ExecutionPayloadBaseFeePerGas.Reset() b.ExecutionPayloadBlobGasUsed.Reset() b.ExecutionPayloadExcessBlobGas.Reset() + b.ExecutionPayloadSlotNumber.Reset() + b.ExecutionPayloadBlockAccessListRoot.Reset() + b.BuilderIndex.Reset() + b.BidValue.Reset() + b.ExecutionPayment.Reset() + b.PayloadPresent.Reset() b.ExecutionPayloadGasLimit.Reset() b.ExecutionPayloadGasUsed.Reset() b.ExecutionPayloadStateRoot.Reset() @@ -151,7 +175,7 @@ func (b *canonicalBeaconBlockBatch) Snapshot() []map[string]any { out := make([]map[string]any, n) for i := 0; i < n; i++ { - row := make(map[string]any, 28) + row := make(map[string]any, 34) row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() row["slot"] = b.Slot.Row(i) row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() @@ -204,6 +228,36 @@ func (b *canonicalBeaconBlockBatch) Snapshot() []map[string]any { } else { row["execution_payload_excess_blob_gas"] = nil } + if v := b.ExecutionPayloadSlotNumber.Row(i); v.Set { + row["execution_payload_slot_number"] = v.Value + } else { + row["execution_payload_slot_number"] = nil + } + if v := b.ExecutionPayloadBlockAccessListRoot.Row(i); v.Set { + row["execution_payload_block_access_list_root"] = string(v.Value) + } else { + row["execution_payload_block_access_list_root"] = nil + } + if v := b.BuilderIndex.Row(i); v.Set { + row["builder_index"] = v.Value + } else { + row["builder_index"] = nil + } + if v := b.BidValue.Row(i); v.Set { + row["bid_value"] = v.Value + } else { + row["bid_value"] = nil + } + if v := b.ExecutionPayment.Row(i); v.Set { + row["execution_payment"] = v.Value + } else { + row["execution_payment"] = nil + } + if v := b.PayloadPresent.Row(i); v.Set { + row["payload_present"] = v.Value + } else { + row["payload_present"] = nil + } if v := b.ExecutionPayloadGasLimit.Row(i); v.Set { row["execution_payload_gas_limit"] = v.Value } else { diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block.go b/pkg/clickhouse/route/canonical/canonical_beacon_block.go index 5de1ceaf..3c8855ed 100644 --- a/pkg/clickhouse/route/canonical/canonical_beacon_block.go +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block.go @@ -242,6 +242,34 @@ func (b *canonicalBeaconBlockBatch) appendPayloadFromEventBlockV2(eventBlock *et return b.appendExecutionPayloadElectra(body.GetExecutionPayload()) } + if gloasBlock := eventBlock.GetGloasBlock(); gloasBlock != nil { + if slot := gloasBlock.GetSlot(); slot != nil { + b.Slot.Append(uint32(slot.GetValue())) + } else { + b.Slot.Append(0) + } + + if proposerIndex := gloasBlock.GetProposerIndex(); proposerIndex != nil { + b.ProposerIndex.Append(uint32(proposerIndex.GetValue())) + } else { + b.ProposerIndex.Append(0) + } + + b.ParentRoot.Append([]byte(gloasBlock.GetParentRoot())) + b.StateRoot.Append([]byte(gloasBlock.GetStateRoot())) + + body := gloasBlock.GetBody() + b.appendEth1Data(body.GetEth1Data()) + + // Gloas blocks have no inline execution payload — it arrives + // via the ExecutionPayloadEnvelope event. EPBS columns are + // populated from the bid in the block body. + b.appendNullInlinePayloadFields() + b.appendEpbsFromBid(body.GetSignedExecutionPayloadBid()) + + return nil + } + // Unknown block version - append zeros. b.Slot.Append(0) b.ProposerIndex.Append(0) @@ -267,11 +295,22 @@ func (b *canonicalBeaconBlockBatch) appendEth1Data(eth1Data *ethv1.Eth1Data) { } func (b *canonicalBeaconBlockBatch) appendNullExecutionPayload() { + b.appendNullInlinePayloadFields() + b.appendNullEpbsColumns() +} + +// appendNullInlinePayloadFields appends NULL for every column that comes from +// the (pre-Gloas) inline execution payload. Gloas blocks call this in lieu of +// `appendNullExecutionPayload` because they populate the EPBS columns from the +// bid instead. +func (b *canonicalBeaconBlockBatch) appendNullInlinePayloadFields() { b.ExecutionPayloadBlockHash.Append(proto.Nullable[[]byte]{}) b.ExecutionPayloadBlockNumber.Append(proto.Nullable[uint32]{}) b.ExecutionPayloadFeeRecipient.Append(proto.Nullable[string]{}) b.ExecutionPayloadBaseFeePerGas.Append(proto.Nullable[proto.UInt128]{}) b.ExecutionPayloadBlobGasUsed.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadBlockAccessListRoot.Append(proto.Nullable[[]byte]{}) b.ExecutionPayloadExcessBlobGas.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadGasLimit.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadGasUsed.Append(proto.Nullable[uint64]{}) @@ -279,6 +318,49 @@ func (b *canonicalBeaconBlockBatch) appendNullExecutionPayload() { b.ExecutionPayloadParentHash.Append(proto.Nullable[[]byte]{}) } +func (b *canonicalBeaconBlockBatch) appendNullEpbsColumns() { + b.BuilderIndex.Append(proto.Nullable[uint64]{}) + b.BidValue.Append(proto.Nullable[uint64]{}) + b.ExecutionPayment.Append(proto.Nullable[uint64]{}) + b.PayloadPresent.Append(proto.Nullable[bool]{}) +} + +// appendEpbsFromBid populates the four EPBS columns from a Gloas block's +// SignedExecutionPayloadBid. payload_present cannot be determined at block +// time (it requires the post-fact PTC vote / envelope arrival), so it stays +// NULL here — downstream queries can fold it in by joining against the +// payload_attestation aggregate. +func (b *canonicalBeaconBlockBatch) appendEpbsFromBid(bid *ethv1.SignedExecutionPayloadBid) { + if bid == nil || bid.GetMessage() == nil { + b.appendNullEpbsColumns() + + return + } + + msg := bid.GetMessage() + + if v := msg.GetBuilderIndex(); v != nil { + b.BuilderIndex.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.BuilderIndex.Append(proto.Nullable[uint64]{}) + } + + if v := msg.GetValue(); v != nil { + b.BidValue.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.BidValue.Append(proto.Nullable[uint64]{}) + } + + if v := msg.GetExecutionPayment(); v != nil { + b.ExecutionPayment.Append(proto.NewNullable[uint64](v.GetValue())) + } else { + b.ExecutionPayment.Append(proto.Nullable[uint64]{}) + } + + // payload_present is a post-fact determination — left NULL here. + b.PayloadPresent.Append(proto.Nullable[bool]{}) +} + //nolint:gosec // G115 func (b *canonicalBeaconBlockBatch) appendExecutionPayloadV2(payload *ethv1.ExecutionPayloadV2) error { if payload == nil { @@ -319,6 +401,10 @@ func (b *canonicalBeaconBlockBatch) appendExecutionPayloadV2(payload *ethv1.Exec b.ExecutionPayloadBlobGasUsed.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadExcessBlobGas.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadBlockAccessListRoot.Append(proto.Nullable[[]byte]{}) + + b.appendNullEpbsColumns() return nil } @@ -363,6 +449,10 @@ func (b *canonicalBeaconBlockBatch) appendExecutionPayloadCapellaV2(payload *eth b.ExecutionPayloadBlobGasUsed.Append(proto.Nullable[uint64]{}) b.ExecutionPayloadExcessBlobGas.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadBlockAccessListRoot.Append(proto.Nullable[[]byte]{}) + + b.appendNullEpbsColumns() return nil } @@ -417,6 +507,11 @@ func (b *canonicalBeaconBlockBatch) appendExecutionPayloadDeneb(payload *ethv1.E b.ExecutionPayloadGasUsed.Append(proto.Nullable[uint64]{}) } + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadBlockAccessListRoot.Append(proto.Nullable[[]byte]{}) + + b.appendNullEpbsColumns() + return nil } @@ -470,6 +565,11 @@ func (b *canonicalBeaconBlockBatch) appendExecutionPayloadElectra(payload *ethv1 b.ExecutionPayloadGasUsed.Append(proto.Nullable[uint64]{}) } + b.ExecutionPayloadSlotNumber.Append(proto.Nullable[uint64]{}) + b.ExecutionPayloadBlockAccessListRoot.Append(proto.Nullable[[]byte]{}) + + b.appendNullEpbsColumns() + return nil } diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list.gen.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list.gen.go new file mode 100644 index 00000000..b691b1c5 --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list.gen.go @@ -0,0 +1,259 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package canonical + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const canonicalBeaconBlockAccessListTableName route.TableName = "canonical_beacon_block_access_list" + +type canonicalBeaconBlockAccessListBatch struct { + UpdatedDateTime proto.ColDateTime + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BlockRoot route.SafeColFixedStr + BlockNumber proto.ColUInt64 + BlockHash route.SafeColFixedStr + Address route.SafeColFixedStr + ChangeType proto.ColStr + BlockAccessIndex proto.ColUInt32 + StorageKey route.SafeColFixedStr + NewValue *proto.ColNullable[string] + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newcanonicalBeaconBlockAccessListBatch() *canonicalBeaconBlockAccessListBatch { + return &canonicalBeaconBlockAccessListBatch{ + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + Address: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(42); return c }(), + StorageKey: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + NewValue: new(proto.ColStr).Nullable(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *canonicalBeaconBlockAccessListBatch) Rows() int { + return b.rows +} + +func (b *canonicalBeaconBlockAccessListBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(proto.NewNullable[proto.IPv6](route.NormalizeIPToIPv6(event.GetMeta().GetServer().GetClient().GetIP()))) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + b.MetaConsensusVersion.Append(route.NormalizeConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion())) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *canonicalBeaconBlockAccessListBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "block_number", Data: &b.BlockNumber}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "address", Data: &b.Address}, + {Name: "change_type", Data: &b.ChangeType}, + {Name: "block_access_index", Data: &b.BlockAccessIndex}, + {Name: "storage_key", Data: &b.StorageKey}, + {Name: "new_value", Data: b.NewValue}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *canonicalBeaconBlockAccessListBatch) Reset() { + b.UpdatedDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BlockRoot.Reset() + b.BlockNumber.Reset() + b.BlockHash.Reset() + b.Address.Reset() + b.ChangeType.Reset() + b.BlockAccessIndex.Reset() + b.StorageKey.Reset() + b.NewValue.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *canonicalBeaconBlockAccessListBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 32) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["block_root"] = string(b.BlockRoot.Row(i)) + row["block_number"] = b.BlockNumber.Row(i) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["address"] = string(b.Address.Row(i)) + row["change_type"] = b.ChangeType.Row(i) + row["block_access_index"] = b.BlockAccessIndex.Row(i) + row["storage_key"] = string(b.StorageKey.Row(i)) + if v := b.NewValue.Row(i); v.Set { + row["new_value"] = v.Value + } else { + row["new_value"] = nil + } + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list.go new file mode 100644 index 00000000..526ab789 --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list.go @@ -0,0 +1,124 @@ +package canonical + +import ( + "fmt" + "time" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var canonicalBeaconBlockAccessListEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST, +} + +func init() { + r, err := route.NewStaticRoute( + canonicalBeaconBlockAccessListTableName, + canonicalBeaconBlockAccessListEventNames, + func() route.ColumnarBatch { return newcanonicalBeaconBlockAccessListBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *canonicalBeaconBlockAccessListBatch) FlattenTo(event *xatu.DecoratedEvent) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV2BeaconBlockAccessList() == nil { + return fmt.Errorf("nil eth_v2_beacon_block_access_list payload: %w", route.ErrInvalidEvent) + } + + if err := b.validate(event); err != nil { + return err + } + + b.appendRuntime(event) + b.appendMetadata(event) + + if err := b.appendPayload(event); err != nil { + return err + } + + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *canonicalBeaconBlockAccessListBatch) validate(event *xatu.DecoratedEvent) error { + payload := event.GetEthV2BeaconBlockAccessList() + + if payload.GetAddress() == nil { + return fmt.Errorf("nil Address: %w", route.ErrInvalidEvent) + } + + return nil +} + +func (b *canonicalBeaconBlockAccessListBatch) appendRuntime(_ *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) +} + +func (b *canonicalBeaconBlockAccessListBatch) appendPayload(event *xatu.DecoratedEvent) error { + change := event.GetEthV2BeaconBlockAccessList() + + b.Address.Append([]byte(change.GetAddress().GetValue())) + b.ChangeType.Append(change.GetChangeType()) + + if blockAccessIndex := change.GetBlockAccessIndex(); blockAccessIndex != nil { + b.BlockAccessIndex.Append(blockAccessIndex.GetValue()) + } else { + b.BlockAccessIndex.Append(0) + } + + if storageKey := change.GetStorageKey(); storageKey != nil { + b.StorageKey.Append([]byte(storageKey.GetValue())) + } else { + b.StorageKey.Append(nil) + } + + if newValue := change.GetNewValue(); newValue != nil { + b.NewValue.Append(proto.NewNullable[string](newValue.GetValue())) + } else { + b.NewValue.Append(proto.Nullable[string]{}) + } + + return nil +} + +func (b *canonicalBeaconBlockAccessListBatch) appendAdditionalData(event *xatu.DecoratedEvent) { + additional := event.GetMeta().GetClient().GetEthV2BeaconBlockAccessList() + if additional == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.BlockRoot.Append(nil) + b.BlockNumber.Append(0) + b.BlockHash.Append(nil) + + return + } + + appendBlockIdentifier(additional.GetBlock(), + &b.Slot, &b.SlotStartDateTime, &b.Epoch, &b.EpochStartDateTime, nil, &b.BlockRoot) + + if blockNumber := additional.GetBlockNumber(); blockNumber != nil { + b.BlockNumber.Append(blockNumber.GetValue()) + } else { + b.BlockNumber.Append(0) + } + + b.BlockHash.Append([]byte(additional.GetBlockHash())) +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list_test.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list_test.go new file mode 100644 index 00000000..36f5931e --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_access_list_test.go @@ -0,0 +1,87 @@ +package canonical + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + balAddressKey = "address" + balChangeTypeKey = "change_type" + balBlockAccessIndexKey = "block_access_index" + balStorageKeyKey = "storage_key" + balNewValueKey = "new_value" + + balChangeTypeBalance = "balance" +) + +func TestSnapshot_canonical_beacon_block_access_list(t *testing.T) { + testfixture.AssertSnapshot(t, newcanonicalBeaconBlockAccessListBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST, + DateTime: testfixture.TS(), + Id: "cbal-1", + }, + Meta: testfixture.MetaWithAdditional(&xatu.ClientMeta{ + AdditionalData: &xatu.ClientMeta_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: &xatu.ClientMeta_AdditionalEthV2BeaconBlockAccessListData{ + Block: &xatu.BlockIdentifier{ + Epoch: testfixture.EpochAdditional(), + }, + }, + }, + }), + Data: &xatu.DecoratedEvent_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: ðv1.BlockAccessListChange{ + Address: wrapperspb.String("0x1234567890abcdef1234567890abcdef12345678"), + ChangeType: "storage", + BlockAccessIndex: wrapperspb.UInt32(5), + StorageKey: wrapperspb.String("0xabcdef"), + NewValue: wrapperspb.String("0xdeadbeef"), + }, + }, + }, 1, map[string]any{ + balAddressKey: "0x1234567890abcdef1234567890abcdef12345678", + balChangeTypeKey: "storage", + balBlockAccessIndexKey: uint32(5), + balStorageKeyKey: "0xabcdef", + balNewValueKey: "0xdeadbeef", + }) +} + +func TestSnapshot_canonical_beacon_block_access_list_balance(t *testing.T) { + testfixture.AssertSnapshot(t, newcanonicalBeaconBlockAccessListBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST, + DateTime: testfixture.TS(), + Id: "cbal-2", + }, + Meta: testfixture.MetaWithAdditional(&xatu.ClientMeta{ + AdditionalData: &xatu.ClientMeta_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: &xatu.ClientMeta_AdditionalEthV2BeaconBlockAccessListData{ + Block: &xatu.BlockIdentifier{ + Epoch: testfixture.EpochAdditional(), + }, + }, + }, + }), + Data: &xatu.DecoratedEvent_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: ðv1.BlockAccessListChange{ + Address: wrapperspb.String("0xaabbccddee112233445566778899aabbccddeeff"), + ChangeType: balChangeTypeBalance, + BlockAccessIndex: wrapperspb.UInt32(2), + NewValue: wrapperspb.String("1000000000000000000"), + }, + }, + }, 1, map[string]any{ + balAddressKey: "0xaabbccddee112233445566778899aabbccddeeff", + balChangeTypeKey: balChangeTypeBalance, + balBlockAccessIndexKey: uint32(2), + balStorageKeyKey: "", + balNewValueKey: "1000000000000000000", + }) +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid.gen.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid.gen.go new file mode 100644 index 00000000..4073564e --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid.gen.go @@ -0,0 +1,291 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package canonical + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const canonicalBeaconBlockExecutionPayloadBidTableName route.TableName = "canonical_beacon_block_execution_payload_bid" + +type canonicalBeaconBlockExecutionPayloadBidBatch struct { + UpdatedDateTime proto.ColDateTime + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BlockRoot route.SafeColFixedStr + BlockVersion proto.ColStr + BuilderIndex proto.ColUInt64 + BlockHash route.SafeColFixedStr + ParentBlockHash route.SafeColFixedStr + ParentBlockRoot route.SafeColFixedStr + Value proto.ColUInt64 + ExecutionPayment proto.ColUInt64 + FeeRecipient route.SafeColFixedStr + GasLimit proto.ColUInt64 + PrevRandao route.SafeColFixedStr + BlobKzgCommitmentCount proto.ColUInt32 + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newcanonicalBeaconBlockExecutionPayloadBidBatch() *canonicalBeaconBlockExecutionPayloadBidBatch { + return &canonicalBeaconBlockExecutionPayloadBidBatch{ + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + ParentBlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + ParentBlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + FeeRecipient: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(42); return c }(), + PrevRandao: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) Rows() int { + return b.rows +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "block_version", Data: &b.BlockVersion}, + {Name: "builder_index", Data: &b.BuilderIndex}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "parent_block_hash", Data: &b.ParentBlockHash}, + {Name: "parent_block_root", Data: &b.ParentBlockRoot}, + {Name: "value", Data: &b.Value}, + {Name: "execution_payment", Data: &b.ExecutionPayment}, + {Name: "fee_recipient", Data: &b.FeeRecipient}, + {Name: "gas_limit", Data: &b.GasLimit}, + {Name: "prev_randao", Data: &b.PrevRandao}, + {Name: "blob_kzg_commitment_count", Data: &b.BlobKzgCommitmentCount}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) Reset() { + b.UpdatedDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BlockRoot.Reset() + b.BlockVersion.Reset() + b.BuilderIndex.Reset() + b.BlockHash.Reset() + b.ParentBlockHash.Reset() + b.ParentBlockRoot.Reset() + b.Value.Reset() + b.ExecutionPayment.Reset() + b.FeeRecipient.Reset() + b.GasLimit.Reset() + b.PrevRandao.Reset() + b.BlobKzgCommitmentCount.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 39) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["block_root"] = string(b.BlockRoot.Row(i)) + row["block_version"] = b.BlockVersion.Row(i) + row["builder_index"] = b.BuilderIndex.Row(i) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["parent_block_hash"] = string(b.ParentBlockHash.Row(i)) + row["parent_block_root"] = string(b.ParentBlockRoot.Row(i)) + row["value"] = b.Value.Row(i) + row["execution_payment"] = b.ExecutionPayment.Row(i) + row["fee_recipient"] = string(b.FeeRecipient.Row(i)) + row["gas_limit"] = b.GasLimit.Row(i) + row["prev_randao"] = string(b.PrevRandao.Row(i)) + row["blob_kzg_commitment_count"] = b.BlobKzgCommitmentCount.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid.go new file mode 100644 index 00000000..cb75326c --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid.go @@ -0,0 +1,113 @@ +package canonical + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var canonicalBeaconBlockExecutionPayloadBidEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID, +} + +func init() { + r, err := route.NewStaticRoute( + canonicalBeaconBlockExecutionPayloadBidTableName, + canonicalBeaconBlockExecutionPayloadBidEventNames, + func() route.ColumnarBatch { return newcanonicalBeaconBlockExecutionPayloadBidBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV2BeaconBlockExecutionPayloadBid() == nil { + return fmt.Errorf("nil eth_v2_beacon_block_execution_payload_bid payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) appendRuntime(_ *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) appendPayload(event *xatu.DecoratedEvent) { + signed := event.GetEthV2BeaconBlockExecutionPayloadBid() + bid := signed.GetMessage() + + if builderIndex := bid.GetBuilderIndex(); builderIndex != nil { + b.BuilderIndex.Append(builderIndex.GetValue()) + } else { + b.BuilderIndex.Append(0) + } + + b.BlockHash.Append([]byte(bid.GetBlockHash())) + b.ParentBlockHash.Append([]byte(bid.GetParentBlockHash())) + b.ParentBlockRoot.Append([]byte(bid.GetParentBlockRoot())) + + if value := bid.GetValue(); value != nil { + b.Value.Append(value.GetValue()) + } else { + b.Value.Append(0) + } + + if executionPayment := bid.GetExecutionPayment(); executionPayment != nil { + b.ExecutionPayment.Append(executionPayment.GetValue()) + } else { + b.ExecutionPayment.Append(0) + } + + b.FeeRecipient.Append([]byte(bid.GetFeeRecipient())) + + if gasLimit := bid.GetGasLimit(); gasLimit != nil { + b.GasLimit.Append(gasLimit.GetValue()) + } else { + b.GasLimit.Append(0) + } + + b.PrevRandao.Append([]byte(bid.GetPrevRandao())) + + //nolint:gosec // G115: length of blob kzg commitments fits uint32 + b.BlobKzgCommitmentCount.Append(uint32(len(bid.GetBlobKzgCommitments()))) +} + +func (b *canonicalBeaconBlockExecutionPayloadBidBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + additional := event.GetMeta().GetClient().GetEthV2BeaconBlockExecutionPayloadBid() + if additional == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.BlockRoot.Append(nil) + b.BlockVersion.Append("") + + return + } + + appendBlockIdentifier(additional.GetBlock(), + &b.Slot, &b.SlotStartDateTime, &b.Epoch, &b.EpochStartDateTime, &b.BlockVersion, &b.BlockRoot) +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid_test.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid_test.go new file mode 100644 index 00000000..7ee9748d --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_execution_payload_bid_test.go @@ -0,0 +1,27 @@ +package canonical + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_canonical_beacon_block_execution_payload_bid(t *testing.T) { + if len(canonicalBeaconBlockExecutionPayloadBidEventNames) == 0 { + t.Skip("no event names registered for canonical_beacon_block_execution_payload_bid") + } + + testfixture.AssertSnapshot(t, newcanonicalBeaconBlockExecutionPayloadBidBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: canonicalBeaconBlockExecutionPayloadBidEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation.gen.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation.gen.go new file mode 100644 index 00000000..6e12f846 --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation.gen.go @@ -0,0 +1,271 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package canonical + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const canonicalBeaconBlockPayloadAttestationTableName route.TableName = "canonical_beacon_block_payload_attestation" + +type canonicalBeaconBlockPayloadAttestationBatch struct { + UpdatedDateTime proto.ColDateTime + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + BlockRoot route.SafeColFixedStr + BlockVersion proto.ColStr + Position proto.ColUInt32 + BeaconBlockRoot route.SafeColFixedStr + PayloadPresent proto.ColBool + BlobDataAvailable proto.ColBool + AggregationBits proto.ColStr + AttestingValidatorCount proto.ColUInt32 + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + MetaConsensusVersion proto.ColStr + MetaConsensusVersionMajor proto.ColStr + MetaConsensusVersionMinor proto.ColStr + MetaConsensusVersionPatch proto.ColStr + MetaConsensusImplementation proto.ColStr + MetaLabels *proto.ColMap[string, string] + rows int +} + +func newcanonicalBeaconBlockPayloadAttestationBatch() *canonicalBeaconBlockPayloadAttestationBatch { + return &canonicalBeaconBlockPayloadAttestationBatch{ + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + BeaconBlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + MetaLabels: proto.NewMap[string, string](new(proto.ColStr), new(proto.ColStr)), + } +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) Rows() int { + return b.rows +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + b.MetaConsensusVersion.Append("") + b.MetaConsensusVersionMajor.Append("") + b.MetaConsensusVersionMinor.Append("") + b.MetaConsensusVersionPatch.Append("") + b.MetaConsensusImplementation.Append("") + b.MetaLabels.Append(nil) + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) + cvNorm, cvMajor, cvMinor, cvPatch := route.ParseConsensusVersion(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetVersion()) + b.MetaConsensusVersion.Append(cvNorm) + b.MetaConsensusVersionMajor.Append(cvMajor) + b.MetaConsensusVersionMinor.Append(cvMinor) + b.MetaConsensusVersionPatch.Append(cvPatch) + b.MetaConsensusImplementation.Append(event.GetMeta().GetClient().GetEthereum().GetConsensus().GetImplementation()) + if labels := event.GetMeta().GetClient().GetLabels(); labels != nil { + b.MetaLabels.Append(labels) + } else { + b.MetaLabels.Append(map[string]string{}) + } +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "block_version", Data: &b.BlockVersion}, + {Name: "position", Data: &b.Position}, + {Name: "beacon_block_root", Data: &b.BeaconBlockRoot}, + {Name: "payload_present", Data: &b.PayloadPresent}, + {Name: "blob_data_available", Data: &b.BlobDataAvailable}, + {Name: "aggregation_bits", Data: &b.AggregationBits}, + {Name: "attesting_validator_count", Data: &b.AttestingValidatorCount}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "meta_consensus_version", Data: &b.MetaConsensusVersion}, + {Name: "meta_consensus_version_major", Data: &b.MetaConsensusVersionMajor}, + {Name: "meta_consensus_version_minor", Data: &b.MetaConsensusVersionMinor}, + {Name: "meta_consensus_version_patch", Data: &b.MetaConsensusVersionPatch}, + {Name: "meta_consensus_implementation", Data: &b.MetaConsensusImplementation}, + {Name: "meta_labels", Data: b.MetaLabels}, + } +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) Reset() { + b.UpdatedDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.BlockRoot.Reset() + b.BlockVersion.Reset() + b.Position.Reset() + b.BeaconBlockRoot.Reset() + b.PayloadPresent.Reset() + b.BlobDataAvailable.Reset() + b.AggregationBits.Reset() + b.AttestingValidatorCount.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.MetaConsensusVersion.Reset() + b.MetaConsensusVersionMajor.Reset() + b.MetaConsensusVersionMinor.Reset() + b.MetaConsensusVersionPatch.Reset() + b.MetaConsensusImplementation.Reset() + b.MetaLabels.Reset() + b.rows = 0 +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 35) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["block_root"] = string(b.BlockRoot.Row(i)) + row["block_version"] = b.BlockVersion.Row(i) + row["position"] = b.Position.Row(i) + row["beacon_block_root"] = string(b.BeaconBlockRoot.Row(i)) + row["payload_present"] = b.PayloadPresent.Row(i) + row["blob_data_available"] = b.BlobDataAvailable.Row(i) + row["aggregation_bits"] = b.AggregationBits.Row(i) + row["attesting_validator_count"] = b.AttestingValidatorCount.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["meta_consensus_version"] = b.MetaConsensusVersion.Row(i) + row["meta_consensus_version_major"] = b.MetaConsensusVersionMajor.Row(i) + row["meta_consensus_version_minor"] = b.MetaConsensusVersionMinor.Row(i) + row["meta_consensus_version_patch"] = b.MetaConsensusVersionPatch.Row(i) + row["meta_consensus_implementation"] = b.MetaConsensusImplementation.Row(i) + row["meta_labels"] = b.MetaLabels.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation.go new file mode 100644 index 00000000..53c5e044 --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation.go @@ -0,0 +1,127 @@ +package canonical + +import ( + "encoding/hex" + "fmt" + "strings" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var canonicalBeaconBlockPayloadAttestationEventNames = []xatu.Event_Name{ + xatu.Event_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION, +} + +func init() { + r, err := route.NewStaticRoute( + canonicalBeaconBlockPayloadAttestationTableName, + canonicalBeaconBlockPayloadAttestationEventNames, + func() route.ColumnarBatch { return newcanonicalBeaconBlockPayloadAttestationBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetEthV2BeaconBlockPayloadAttestation() == nil { + return fmt.Errorf("nil eth_v2_beacon_block_payload_attestation payload: %w", route.ErrInvalidEvent) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendAdditionalData(event) + b.rows++ + + return nil +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) appendRuntime(_ *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) appendPayload(event *xatu.DecoratedEvent) { + attestation := event.GetEthV2BeaconBlockPayloadAttestation() + + data := attestation.GetData() + if data != nil { + b.BeaconBlockRoot.Append([]byte(data.GetBeaconBlockRoot())) + b.PayloadPresent.Append(data.GetPayloadPresent()) + b.BlobDataAvailable.Append(data.GetBlobDataAvailable()) + } else { + b.BeaconBlockRoot.Append(nil) + b.PayloadPresent.Append(false) + b.BlobDataAvailable.Append(false) + } + + aggregationBits := attestation.GetAggregationBits() + b.AggregationBits.Append(aggregationBits) + b.AttestingValidatorCount.Append(popcountAggregationBits(aggregationBits)) +} + +// popcountAggregationBits decodes a 0x-prefixed hex aggregation bitvector and +// returns the count of set bits (i.e. attesting PTC members). Returns 0 on +// any decode error so the column degrades gracefully on malformed input. +// Iterates bits explicitly instead of using bits.OnesCount8 to avoid an +// int->uint32 conversion that gosec's G115 flags. +func popcountAggregationBits(hexStr string) uint32 { + trimmed := strings.TrimPrefix(hexStr, "0x") + + raw, err := hex.DecodeString(trimmed) + if err != nil { + return 0 + } + + var count uint32 + + for _, byteValue := range raw { + for bit := byte(1); bit != 0; bit <<= 1 { + if byteValue&bit != 0 { + count++ + } + } + } + + return count +} + +func (b *canonicalBeaconBlockPayloadAttestationBatch) appendAdditionalData( + event *xatu.DecoratedEvent, +) { + additional := event.GetMeta().GetClient().GetEthV2BeaconBlockPayloadAttestation() + if additional == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.BlockRoot.Append(nil) + b.BlockVersion.Append("") + b.Position.Append(0) + + return + } + + appendBlockIdentifier(additional.GetBlock(), + &b.Slot, &b.SlotStartDateTime, &b.Epoch, &b.EpochStartDateTime, &b.BlockVersion, &b.BlockRoot) + + if pos := additional.GetPosition(); pos != nil { + b.Position.Append(pos.GetValue()) + } else { + b.Position.Append(0) + } +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation_test.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation_test.go new file mode 100644 index 00000000..6b6988f2 --- /dev/null +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_payload_attestation_test.go @@ -0,0 +1,27 @@ +package canonical + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_canonical_beacon_block_payload_attestation(t *testing.T) { + if len(canonicalBeaconBlockPayloadAttestationEventNames) == 0 { + t.Skip("no event names registered for canonical_beacon_block_payload_attestation") + } + + testfixture.AssertSnapshot(t, newcanonicalBeaconBlockPayloadAttestationBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: canonicalBeaconBlockPayloadAttestationEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/canonical/canonical_beacon_block_withdrawal.gen.go b/pkg/clickhouse/route/canonical/canonical_beacon_block_withdrawal.gen.go index 5de9d7b7..86b15066 100644 --- a/pkg/clickhouse/route/canonical/canonical_beacon_block_withdrawal.gen.go +++ b/pkg/clickhouse/route/canonical/canonical_beacon_block_withdrawal.gen.go @@ -24,6 +24,7 @@ type canonicalBeaconBlockWithdrawalBatch struct { WithdrawalAddress route.SafeColFixedStr WithdrawalAmount proto.ColUInt128 MetaNetworkName proto.ColStr + WithdrawalType proto.ColStr rows int } @@ -61,6 +62,7 @@ func (b *canonicalBeaconBlockWithdrawalBatch) Input() proto.Input { {Name: "withdrawal_address", Data: &b.WithdrawalAddress}, {Name: "withdrawal_amount", Data: &b.WithdrawalAmount}, {Name: "meta_network_name", Data: &b.MetaNetworkName}, + {Name: "withdrawal_type", Data: &b.WithdrawalType}, } } @@ -77,6 +79,7 @@ func (b *canonicalBeaconBlockWithdrawalBatch) Reset() { b.WithdrawalAddress.Reset() b.WithdrawalAmount.Reset() b.MetaNetworkName.Reset() + b.WithdrawalType.Reset() b.rows = 0 } @@ -85,7 +88,7 @@ func (b *canonicalBeaconBlockWithdrawalBatch) Snapshot() []map[string]any { out := make([]map[string]any, n) for i := 0; i < n; i++ { - row := make(map[string]any, 12) + row := make(map[string]any, 13) row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() row["slot"] = b.Slot.Row(i) row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() @@ -98,6 +101,7 @@ func (b *canonicalBeaconBlockWithdrawalBatch) Snapshot() []map[string]any { row["withdrawal_address"] = string(b.WithdrawalAddress.Row(i)) row["withdrawal_amount"] = route.UInt128ToString(b.WithdrawalAmount.Row(i)) row["meta_network_name"] = b.MetaNetworkName.Row(i) + row["withdrawal_type"] = b.WithdrawalType.Row(i) out[i] = row } diff --git a/pkg/clickhouse/route/cmd/generate/manifest.go b/pkg/clickhouse/route/cmd/generate/manifest.go index f3fbbb22..c61a24d9 100644 --- a/pkg/clickhouse/route/cmd/generate/manifest.go +++ b/pkg/clickhouse/route/cmd/generate/manifest.go @@ -12,6 +12,7 @@ var prefixRoutes = []struct { Package string }{ {"beacon_api_eth_", "beacon"}, + {"beacon_synthetic_", "beacon"}, {"canonical_beacon_", "canonical"}, {"consensus_engine_", "execution"}, {"execution_block_metrics", "execution"}, diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid.gen.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid.gen.go new file mode 100644 index 00000000..05d6f85d --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid.gen.go @@ -0,0 +1,287 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package libp2p + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const libp2pGossipsubExecutionPayloadBidTableName route.TableName = "libp2p_gossipsub_execution_payload_bid" + +type libp2pGossipsubExecutionPayloadBidBatch struct { + UpdatedDateTime proto.ColDateTime + Version proto.ColUInt32 + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + WallclockSlot proto.ColUInt32 + WallclockSlotStartDateTime proto.ColDateTime + WallclockEpoch proto.ColUInt32 + WallclockEpochStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + BuilderIndex proto.ColUInt64 + BlockHash route.SafeColFixedStr + ParentBlockHash route.SafeColFixedStr + Value proto.ColUInt64 + ExecutionPayment proto.ColUInt64 + FeeRecipient route.SafeColFixedStr + GasLimit proto.ColUInt64 + BlobKzgCommitmentCount proto.ColUInt32 + PeerIDUniqueKey proto.ColInt64 + MessageID proto.ColStr + MessageSize proto.ColUInt32 + TopicLayer proto.ColStr + TopicForkDigestValue proto.ColStr + TopicName proto.ColStr + TopicEncoding proto.ColStr + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + rows int +} + +func newlibp2pGossipsubExecutionPayloadBidBatch() *libp2pGossipsubExecutionPayloadBidBatch { + return &libp2pGossipsubExecutionPayloadBidBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + ParentBlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + FeeRecipient: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(42); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + } +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) Rows() int { + return b.rows +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "version", Data: &b.Version}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "wallclock_slot", Data: &b.WallclockSlot}, + {Name: "wallclock_slot_start_date_time", Data: &b.WallclockSlotStartDateTime}, + {Name: "wallclock_epoch", Data: &b.WallclockEpoch}, + {Name: "wallclock_epoch_start_date_time", Data: &b.WallclockEpochStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "builder_index", Data: &b.BuilderIndex}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "parent_block_hash", Data: &b.ParentBlockHash}, + {Name: "value", Data: &b.Value}, + {Name: "execution_payment", Data: &b.ExecutionPayment}, + {Name: "fee_recipient", Data: &b.FeeRecipient}, + {Name: "gas_limit", Data: &b.GasLimit}, + {Name: "blob_kzg_commitment_count", Data: &b.BlobKzgCommitmentCount}, + {Name: "peer_id_unique_key", Data: &b.PeerIDUniqueKey}, + {Name: "message_id", Data: &b.MessageID}, + {Name: "message_size", Data: &b.MessageSize}, + {Name: "topic_layer", Data: &b.TopicLayer}, + {Name: "topic_fork_digest_value", Data: &b.TopicForkDigestValue}, + {Name: "topic_name", Data: &b.TopicName}, + {Name: "topic_encoding", Data: &b.TopicEncoding}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + } +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) Reset() { + b.UpdatedDateTime.Reset() + b.Version.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.WallclockSlot.Reset() + b.WallclockSlotStartDateTime.Reset() + b.WallclockEpoch.Reset() + b.WallclockEpochStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.BuilderIndex.Reset() + b.BlockHash.Reset() + b.ParentBlockHash.Reset() + b.Value.Reset() + b.ExecutionPayment.Reset() + b.FeeRecipient.Reset() + b.GasLimit.Reset() + b.BlobKzgCommitmentCount.Reset() + b.PeerIDUniqueKey.Reset() + b.MessageID.Reset() + b.MessageSize.Reset() + b.TopicLayer.Reset() + b.TopicForkDigestValue.Reset() + b.TopicName.Reset() + b.TopicEncoding.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.rows = 0 +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 43) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["version"] = b.Version.Row(i) + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["wallclock_slot"] = b.WallclockSlot.Row(i) + row["wallclock_slot_start_date_time"] = b.WallclockSlotStartDateTime.Row(i).Unix() + row["wallclock_epoch"] = b.WallclockEpoch.Row(i) + row["wallclock_epoch_start_date_time"] = b.WallclockEpochStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["builder_index"] = b.BuilderIndex.Row(i) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["parent_block_hash"] = string(b.ParentBlockHash.Row(i)) + row["value"] = b.Value.Row(i) + row["execution_payment"] = b.ExecutionPayment.Row(i) + row["fee_recipient"] = string(b.FeeRecipient.Row(i)) + row["gas_limit"] = b.GasLimit.Row(i) + row["blob_kzg_commitment_count"] = b.BlobKzgCommitmentCount.Row(i) + row["peer_id_unique_key"] = b.PeerIDUniqueKey.Row(i) + row["message_id"] = b.MessageID.Row(i) + row["message_size"] = b.MessageSize.Row(i) + row["topic_layer"] = b.TopicLayer.Row(i) + row["topic_fork_digest_value"] = b.TopicForkDigestValue.Row(i) + row["topic_name"] = b.TopicName.Row(i) + row["topic_encoding"] = b.TopicEncoding.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid.go new file mode 100644 index 00000000..3595ef39 --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid.go @@ -0,0 +1,202 @@ +package libp2p + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var libp2pGossipsubExecutionPayloadBidEventNames = []xatu.Event_Name{ + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID, +} + +func init() { + r, err := route.NewStaticRoute( + libp2pGossipsubExecutionPayloadBidTableName, + libp2pGossipsubExecutionPayloadBidEventNames, + func() route.ColumnarBatch { return newlibp2pGossipsubExecutionPayloadBidBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetLibp2PTraceGossipsubExecutionPayloadBid() == nil { + return fmt.Errorf( + "nil libp2p_trace_gossipsub_execution_payload_bid payload: %w", + route.ErrInvalidEvent, + ) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendClientAdditionalData(event) + b.rows++ + + return nil +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) appendPayload(event *xatu.DecoratedEvent) { + payload := event.GetLibp2PTraceGossipsubExecutionPayloadBid() + + if builderIndex := payload.GetBuilderIndex(); builderIndex != nil { + b.BuilderIndex.Append(builderIndex.GetValue()) + } else { + b.BuilderIndex.Append(0) + } + + b.BlockHash.Append([]byte(wrappedStringValue(payload.GetBlockHash()))) + b.ParentBlockHash.Append([]byte(wrappedStringValue(payload.GetParentBlockHash()))) + + if value := payload.GetValue(); value != nil { + b.Value.Append(value.GetValue()) + } else { + b.Value.Append(0) + } + + if executionPayment := payload.GetExecutionPayment(); executionPayment != nil { + b.ExecutionPayment.Append(executionPayment.GetValue()) + } else { + b.ExecutionPayment.Append(0) + } + + b.FeeRecipient.Append([]byte(wrappedStringValue(payload.GetFeeRecipient()))) + + if gasLimit := payload.GetGasLimit(); gasLimit != nil { + b.GasLimit.Append(gasLimit.GetValue()) + } else { + b.GasLimit.Append(0) + } + + if blobKzgCount := payload.GetBlobKzgCommitmentCount(); blobKzgCount != nil { + b.BlobKzgCommitmentCount.Append(blobKzgCount.GetValue()) + } else { + b.BlobKzgCommitmentCount.Append(0) + } +} + +func (b *libp2pGossipsubExecutionPayloadBidBatch) appendClientAdditionalData( + event *xatu.DecoratedEvent, +) { + if event == nil || event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + additional := event.GetMeta().GetClient().GetLibp2PTraceGossipsubExecutionPayloadBid() + if additional == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + // Extract slot/epoch/wallclock/propagation fields. + var propagationSlotStartDiff uint32 + + setGossipsubSlotEpochFields(additional, func(f gossipsubSlotEpochResult) { + b.Slot.Append(f.Slot) + b.SlotStartDateTime.Append(time.Unix(f.SlotStartDateTime, 0)) + b.Epoch.Append(f.Epoch) + b.EpochStartDateTime.Append(time.Unix(f.EpochStartDateTime, 0)) + b.WallclockSlot.Append(f.WallclockSlot) + b.WallclockSlotStartDateTime.Append(time.Unix(f.WallclockSlotStartDateTime, 0)) + b.WallclockEpoch.Append(f.WallclockEpoch) + b.WallclockEpochStartDateTime.Append(time.Unix(f.WallclockEpochStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(f.PropagationSlotStartDiff) + propagationSlotStartDiff = f.PropagationSlotStartDiff + }) + + // Compute version for ReplacingMergeTree dedup. + b.Version.Append(4294967295 - propagationSlotStartDiff) + + // Extract message fields. + b.MessageID.Append(wrappedStringValue(additional.GetMessageId())) + + if msgSize := additional.GetMessageSize(); msgSize != nil { + b.MessageSize.Append(msgSize.GetValue()) + } else { + b.MessageSize.Append(0) + } + + // Parse topic fields. + if topic := wrappedStringValue(additional.GetTopic()); topic != "" { + parsed := parseTopicFields(topic) + b.TopicLayer.Append(parsed.Layer) + b.TopicForkDigestValue.Append(parsed.ForkDigestValue) + b.TopicName.Append(parsed.Name) + b.TopicEncoding.Append(parsed.Encoding) + } else { + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + } + + // Extract peer ID from metadata. + peerID := "" + if traceMeta := additional.GetMetadata(); traceMeta != nil && traceMeta.GetPeerId() != nil { + peerID = traceMeta.GetPeerId().GetValue() + } + + networkName := event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName() + b.PeerIDUniqueKey.Append(computePeerIDUniqueKey(peerID, networkName)) +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid_test.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid_test.go new file mode 100644 index 00000000..0d6bd982 --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_bid_test.go @@ -0,0 +1,27 @@ +package libp2p + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_libp2p_gossipsub_execution_payload_bid(t *testing.T) { + if len(libp2pGossipsubExecutionPayloadBidEventNames) == 0 { + t.Skip("no event names registered for libp2p_gossipsub_execution_payload_bid") + } + + testfixture.AssertSnapshot(t, newlibp2pGossipsubExecutionPayloadBidBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: libp2pGossipsubExecutionPayloadBidEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope.gen.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope.gen.go new file mode 100644 index 00000000..db00fa66 --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope.gen.go @@ -0,0 +1,266 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package libp2p + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const libp2pGossipsubExecutionPayloadEnvelopeTableName route.TableName = "libp2p_gossipsub_execution_payload_envelope" + +type libp2pGossipsubExecutionPayloadEnvelopeBatch struct { + UpdatedDateTime proto.ColDateTime + Version proto.ColUInt32 + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + WallclockSlot proto.ColUInt32 + WallclockSlotStartDateTime proto.ColDateTime + WallclockEpoch proto.ColUInt32 + WallclockEpochStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + BlockRoot route.SafeColFixedStr + BuilderIndex proto.ColUInt64 + BlockHash route.SafeColFixedStr + PeerIDUniqueKey proto.ColInt64 + MessageID proto.ColStr + MessageSize proto.ColUInt32 + TopicLayer proto.ColStr + TopicForkDigestValue proto.ColStr + TopicName proto.ColStr + TopicEncoding proto.ColStr + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + rows int +} + +func newlibp2pGossipsubExecutionPayloadEnvelopeBatch() *libp2pGossipsubExecutionPayloadEnvelopeBatch { + return &libp2pGossipsubExecutionPayloadEnvelopeBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + BlockHash: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + } +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) Rows() int { + return b.rows +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "version", Data: &b.Version}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "wallclock_slot", Data: &b.WallclockSlot}, + {Name: "wallclock_slot_start_date_time", Data: &b.WallclockSlotStartDateTime}, + {Name: "wallclock_epoch", Data: &b.WallclockEpoch}, + {Name: "wallclock_epoch_start_date_time", Data: &b.WallclockEpochStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "block_root", Data: &b.BlockRoot}, + {Name: "builder_index", Data: &b.BuilderIndex}, + {Name: "block_hash", Data: &b.BlockHash}, + {Name: "peer_id_unique_key", Data: &b.PeerIDUniqueKey}, + {Name: "message_id", Data: &b.MessageID}, + {Name: "message_size", Data: &b.MessageSize}, + {Name: "topic_layer", Data: &b.TopicLayer}, + {Name: "topic_fork_digest_value", Data: &b.TopicForkDigestValue}, + {Name: "topic_name", Data: &b.TopicName}, + {Name: "topic_encoding", Data: &b.TopicEncoding}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + } +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) Reset() { + b.UpdatedDateTime.Reset() + b.Version.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.WallclockSlot.Reset() + b.WallclockSlotStartDateTime.Reset() + b.WallclockEpoch.Reset() + b.WallclockEpochStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.BlockRoot.Reset() + b.BuilderIndex.Reset() + b.BlockHash.Reset() + b.PeerIDUniqueKey.Reset() + b.MessageID.Reset() + b.MessageSize.Reset() + b.TopicLayer.Reset() + b.TopicForkDigestValue.Reset() + b.TopicName.Reset() + b.TopicEncoding.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.rows = 0 +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 38) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["version"] = b.Version.Row(i) + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["wallclock_slot"] = b.WallclockSlot.Row(i) + row["wallclock_slot_start_date_time"] = b.WallclockSlotStartDateTime.Row(i).Unix() + row["wallclock_epoch"] = b.WallclockEpoch.Row(i) + row["wallclock_epoch_start_date_time"] = b.WallclockEpochStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["block_root"] = string(b.BlockRoot.Row(i)) + row["builder_index"] = b.BuilderIndex.Row(i) + row["block_hash"] = string(b.BlockHash.Row(i)) + row["peer_id_unique_key"] = b.PeerIDUniqueKey.Row(i) + row["message_id"] = b.MessageID.Row(i) + row["message_size"] = b.MessageSize.Row(i) + row["topic_layer"] = b.TopicLayer.Row(i) + row["topic_fork_digest_value"] = b.TopicForkDigestValue.Row(i) + row["topic_name"] = b.TopicName.Row(i) + row["topic_encoding"] = b.TopicEncoding.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope.go new file mode 100644 index 00000000..a2e677d4 --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope.go @@ -0,0 +1,181 @@ +package libp2p + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var libp2pGossipsubExecutionPayloadEnvelopeEventNames = []xatu.Event_Name{ + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE, +} + +func init() { + r, err := route.NewStaticRoute( + libp2pGossipsubExecutionPayloadEnvelopeTableName, + libp2pGossipsubExecutionPayloadEnvelopeEventNames, + func() route.ColumnarBatch { return newlibp2pGossipsubExecutionPayloadEnvelopeBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetLibp2PTraceGossipsubExecutionPayloadEnvelope() == nil { + return fmt.Errorf( + "nil libp2p_trace_gossipsub_execution_payload_envelope payload: %w", + route.ErrInvalidEvent, + ) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendClientAdditionalData(event) + b.rows++ + + return nil +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) appendRuntime( + event *xatu.DecoratedEvent, +) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) appendPayload( + event *xatu.DecoratedEvent, +) { + payload := event.GetLibp2PTraceGossipsubExecutionPayloadEnvelope() + + b.BlockRoot.Append([]byte(wrappedStringValue(payload.GetBeaconBlockRoot()))) + + if builderIndex := payload.GetBuilderIndex(); builderIndex != nil { + b.BuilderIndex.Append(builderIndex.GetValue()) + } else { + b.BuilderIndex.Append(0) + } + + b.BlockHash.Append([]byte(wrappedStringValue(payload.GetBlockHash()))) +} + +func (b *libp2pGossipsubExecutionPayloadEnvelopeBatch) appendClientAdditionalData( + event *xatu.DecoratedEvent, +) { + if event == nil || event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + additional := event.GetMeta().GetClient().GetLibp2PTraceGossipsubExecutionPayloadEnvelope() + if additional == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + // Extract slot/epoch/wallclock/propagation fields. + var propagationSlotStartDiff uint32 + + setGossipsubSlotEpochFields(additional, func(f gossipsubSlotEpochResult) { + b.Slot.Append(f.Slot) + b.SlotStartDateTime.Append(time.Unix(f.SlotStartDateTime, 0)) + b.Epoch.Append(f.Epoch) + b.EpochStartDateTime.Append(time.Unix(f.EpochStartDateTime, 0)) + b.WallclockSlot.Append(f.WallclockSlot) + b.WallclockSlotStartDateTime.Append(time.Unix(f.WallclockSlotStartDateTime, 0)) + b.WallclockEpoch.Append(f.WallclockEpoch) + b.WallclockEpochStartDateTime.Append(time.Unix(f.WallclockEpochStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(f.PropagationSlotStartDiff) + propagationSlotStartDiff = f.PropagationSlotStartDiff + }) + + // Compute version for ReplacingMergeTree dedup. + b.Version.Append(4294967295 - propagationSlotStartDiff) + + // Extract message fields. + b.MessageID.Append(wrappedStringValue(additional.GetMessageId())) + + if msgSize := additional.GetMessageSize(); msgSize != nil { + b.MessageSize.Append(msgSize.GetValue()) + } else { + b.MessageSize.Append(0) + } + + // Parse topic fields. + if topic := wrappedStringValue(additional.GetTopic()); topic != "" { + parsed := parseTopicFields(topic) + b.TopicLayer.Append(parsed.Layer) + b.TopicForkDigestValue.Append(parsed.ForkDigestValue) + b.TopicName.Append(parsed.Name) + b.TopicEncoding.Append(parsed.Encoding) + } else { + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + } + + // Extract peer ID from metadata. + peerID := "" + if traceMeta := additional.GetMetadata(); traceMeta != nil && traceMeta.GetPeerId() != nil { + peerID = traceMeta.GetPeerId().GetValue() + } + + networkName := event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName() + b.PeerIDUniqueKey.Append(computePeerIDUniqueKey(peerID, networkName)) +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope_test.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope_test.go new file mode 100644 index 00000000..acd3b329 --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_execution_payload_envelope_test.go @@ -0,0 +1,27 @@ +package libp2p + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_libp2p_gossipsub_execution_payload_envelope(t *testing.T) { + if len(libp2pGossipsubExecutionPayloadEnvelopeEventNames) == 0 { + t.Skip("no event names registered for libp2p_gossipsub_execution_payload_envelope") + } + + testfixture.AssertSnapshot(t, newlibp2pGossipsubExecutionPayloadEnvelopeBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: libp2pGossipsubExecutionPayloadEnvelopeEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message.gen.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message.gen.go new file mode 100644 index 00000000..47bab75a --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message.gen.go @@ -0,0 +1,269 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package libp2p + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const libp2pGossipsubPayloadAttestationMessageTableName route.TableName = "libp2p_gossipsub_payload_attestation_message" + +type libp2pGossipsubPayloadAttestationMessageBatch struct { + UpdatedDateTime proto.ColDateTime + Version proto.ColUInt32 + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + WallclockSlot proto.ColUInt32 + WallclockSlotStartDateTime proto.ColDateTime + WallclockEpoch proto.ColUInt32 + WallclockEpochStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + ValidatorIndex proto.ColUInt32 + BeaconBlockRoot route.SafeColFixedStr + PayloadPresent proto.ColBool + BlobDataAvailable proto.ColBool + PeerIDUniqueKey proto.ColInt64 + MessageID proto.ColStr + MessageSize proto.ColUInt32 + TopicLayer proto.ColStr + TopicForkDigestValue proto.ColStr + TopicName proto.ColStr + TopicEncoding proto.ColStr + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + rows int +} + +func newlibp2pGossipsubPayloadAttestationMessageBatch() *libp2pGossipsubPayloadAttestationMessageBatch { + return &libp2pGossipsubPayloadAttestationMessageBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + BeaconBlockRoot: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(66); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + } +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) Rows() int { + return b.rows +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "version", Data: &b.Version}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "wallclock_slot", Data: &b.WallclockSlot}, + {Name: "wallclock_slot_start_date_time", Data: &b.WallclockSlotStartDateTime}, + {Name: "wallclock_epoch", Data: &b.WallclockEpoch}, + {Name: "wallclock_epoch_start_date_time", Data: &b.WallclockEpochStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "validator_index", Data: &b.ValidatorIndex}, + {Name: "beacon_block_root", Data: &b.BeaconBlockRoot}, + {Name: "payload_present", Data: &b.PayloadPresent}, + {Name: "blob_data_available", Data: &b.BlobDataAvailable}, + {Name: "peer_id_unique_key", Data: &b.PeerIDUniqueKey}, + {Name: "message_id", Data: &b.MessageID}, + {Name: "message_size", Data: &b.MessageSize}, + {Name: "topic_layer", Data: &b.TopicLayer}, + {Name: "topic_fork_digest_value", Data: &b.TopicForkDigestValue}, + {Name: "topic_name", Data: &b.TopicName}, + {Name: "topic_encoding", Data: &b.TopicEncoding}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + } +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) Reset() { + b.UpdatedDateTime.Reset() + b.Version.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.WallclockSlot.Reset() + b.WallclockSlotStartDateTime.Reset() + b.WallclockEpoch.Reset() + b.WallclockEpochStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.ValidatorIndex.Reset() + b.BeaconBlockRoot.Reset() + b.PayloadPresent.Reset() + b.BlobDataAvailable.Reset() + b.PeerIDUniqueKey.Reset() + b.MessageID.Reset() + b.MessageSize.Reset() + b.TopicLayer.Reset() + b.TopicForkDigestValue.Reset() + b.TopicName.Reset() + b.TopicEncoding.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.rows = 0 +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 39) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["version"] = b.Version.Row(i) + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["wallclock_slot"] = b.WallclockSlot.Row(i) + row["wallclock_slot_start_date_time"] = b.WallclockSlotStartDateTime.Row(i).Unix() + row["wallclock_epoch"] = b.WallclockEpoch.Row(i) + row["wallclock_epoch_start_date_time"] = b.WallclockEpochStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["validator_index"] = b.ValidatorIndex.Row(i) + row["beacon_block_root"] = string(b.BeaconBlockRoot.Row(i)) + row["payload_present"] = b.PayloadPresent.Row(i) + row["blob_data_available"] = b.BlobDataAvailable.Row(i) + row["peer_id_unique_key"] = b.PeerIDUniqueKey.Row(i) + row["message_id"] = b.MessageID.Row(i) + row["message_size"] = b.MessageSize.Row(i) + row["topic_layer"] = b.TopicLayer.Row(i) + row["topic_fork_digest_value"] = b.TopicForkDigestValue.Row(i) + row["topic_name"] = b.TopicName.Row(i) + row["topic_encoding"] = b.TopicEncoding.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message.go new file mode 100644 index 00000000..8c978c5c --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message.go @@ -0,0 +1,192 @@ +package libp2p + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var libp2pGossipsubPayloadAttestationMessageEventNames = []xatu.Event_Name{ + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE, +} + +func init() { + r, err := route.NewStaticRoute( + libp2pGossipsubPayloadAttestationMessageTableName, + libp2pGossipsubPayloadAttestationMessageEventNames, + func() route.ColumnarBatch { return newlibp2pGossipsubPayloadAttestationMessageBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetLibp2PTraceGossipsubPayloadAttestationMessage() == nil { + return fmt.Errorf( + "nil libp2p_trace_gossipsub_payload_attestation_message payload: %w", + route.ErrInvalidEvent, + ) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendClientAdditionalData(event) + b.rows++ + + return nil +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) appendRuntime( + event *xatu.DecoratedEvent, +) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +//nolint:gosec // G115: proto uint64 values are bounded by ClickHouse column schema +func (b *libp2pGossipsubPayloadAttestationMessageBatch) appendPayload( + event *xatu.DecoratedEvent, +) { + payload := event.GetLibp2PTraceGossipsubPayloadAttestationMessage() + + if validatorIndex := payload.GetValidatorIndex(); validatorIndex != nil { + b.ValidatorIndex.Append(uint32(validatorIndex.GetValue())) + } else { + b.ValidatorIndex.Append(0) + } + + b.BeaconBlockRoot.Append([]byte(wrappedStringValue(payload.GetBeaconBlockRoot()))) + + if pp := payload.GetPayloadPresent(); pp != nil { + b.PayloadPresent.Append(pp.GetValue()) + } else { + b.PayloadPresent.Append(false) + } + + if bda := payload.GetBlobDataAvailable(); bda != nil { + b.BlobDataAvailable.Append(bda.GetValue()) + } else { + b.BlobDataAvailable.Append(false) + } +} + +func (b *libp2pGossipsubPayloadAttestationMessageBatch) appendClientAdditionalData( + event *xatu.DecoratedEvent, +) { + if event == nil || event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + additional := event.GetMeta().GetClient().GetLibp2PTraceGossipsubPayloadAttestationMessage() + if additional == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + // Extract slot/epoch/wallclock/propagation fields. + var propagationSlotStartDiff uint32 + + setGossipsubSlotEpochFields(additional, func(f gossipsubSlotEpochResult) { + b.Slot.Append(f.Slot) + b.SlotStartDateTime.Append(time.Unix(f.SlotStartDateTime, 0)) + b.Epoch.Append(f.Epoch) + b.EpochStartDateTime.Append(time.Unix(f.EpochStartDateTime, 0)) + b.WallclockSlot.Append(f.WallclockSlot) + b.WallclockSlotStartDateTime.Append(time.Unix(f.WallclockSlotStartDateTime, 0)) + b.WallclockEpoch.Append(f.WallclockEpoch) + b.WallclockEpochStartDateTime.Append(time.Unix(f.WallclockEpochStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(f.PropagationSlotStartDiff) + propagationSlotStartDiff = f.PropagationSlotStartDiff + }) + + // Compute version for ReplacingMergeTree dedup. + b.Version.Append(4294967295 - propagationSlotStartDiff) + + // Extract message fields. + b.MessageID.Append(wrappedStringValue(additional.GetMessageId())) + + if msgSize := additional.GetMessageSize(); msgSize != nil { + b.MessageSize.Append(msgSize.GetValue()) + } else { + b.MessageSize.Append(0) + } + + // Parse topic fields. + if topic := wrappedStringValue(additional.GetTopic()); topic != "" { + parsed := parseTopicFields(topic) + b.TopicLayer.Append(parsed.Layer) + b.TopicForkDigestValue.Append(parsed.ForkDigestValue) + b.TopicName.Append(parsed.Name) + b.TopicEncoding.Append(parsed.Encoding) + } else { + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + } + + // Extract peer ID from metadata. + peerID := "" + if traceMeta := additional.GetMetadata(); traceMeta != nil && traceMeta.GetPeerId() != nil { + peerID = traceMeta.GetPeerId().GetValue() + } + + networkName := event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName() + b.PeerIDUniqueKey.Append(computePeerIDUniqueKey(peerID, networkName)) +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message_test.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message_test.go new file mode 100644 index 00000000..e27d4abd --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_payload_attestation_message_test.go @@ -0,0 +1,27 @@ +package libp2p + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_libp2p_gossipsub_payload_attestation_message(t *testing.T) { + if len(libp2pGossipsubPayloadAttestationMessageEventNames) == 0 { + t.Skip("no event names registered for libp2p_gossipsub_payload_attestation_message") + } + + testfixture.AssertSnapshot(t, newlibp2pGossipsubPayloadAttestationMessageBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: libp2pGossipsubPayloadAttestationMessageEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences.gen.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences.gen.go new file mode 100644 index 00000000..8fe48ac3 --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences.gen.go @@ -0,0 +1,265 @@ +// Code generated by chgo-rowgen; DO NOT EDIT. + +package libp2p + +import ( + "net" + + "github.com/ClickHouse/ch-go/proto" + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const libp2pGossipsubProposerPreferencesTableName route.TableName = "libp2p_gossipsub_proposer_preferences" + +type libp2pGossipsubProposerPreferencesBatch struct { + UpdatedDateTime proto.ColDateTime + Version proto.ColUInt32 + EventDateTime proto.ColDateTime64 + Slot proto.ColUInt32 + SlotStartDateTime proto.ColDateTime + Epoch proto.ColUInt32 + EpochStartDateTime proto.ColDateTime + WallclockSlot proto.ColUInt32 + WallclockSlotStartDateTime proto.ColDateTime + WallclockEpoch proto.ColUInt32 + WallclockEpochStartDateTime proto.ColDateTime + PropagationSlotStartDiff proto.ColUInt32 + ValidatorIndex proto.ColUInt32 + FeeRecipient route.SafeColFixedStr + GasLimit proto.ColUInt64 + PeerIDUniqueKey proto.ColInt64 + MessageID proto.ColStr + MessageSize proto.ColUInt32 + TopicLayer proto.ColStr + TopicForkDigestValue proto.ColStr + TopicName proto.ColStr + TopicEncoding proto.ColStr + MetaClientName proto.ColStr + MetaClientID proto.ColStr + MetaClientVersion proto.ColStr + MetaClientImplementation proto.ColStr + MetaClientOS proto.ColStr + MetaClientIP *proto.ColNullable[proto.IPv6] + MetaClientGeoCity proto.ColStr + MetaClientGeoCountry proto.ColStr + MetaClientGeoCountryCode proto.ColStr + MetaClientGeoContinentCode proto.ColStr + MetaClientGeoLongitude *proto.ColNullable[float64] + MetaClientGeoLatitude *proto.ColNullable[float64] + MetaClientGeoAutonomousSystemNumber *proto.ColNullable[uint32] + MetaClientGeoAutonomousSystemOrganization *proto.ColNullable[string] + MetaNetworkID proto.ColInt32 + MetaNetworkName proto.ColStr + rows int +} + +func newlibp2pGossipsubProposerPreferencesBatch() *libp2pGossipsubProposerPreferencesBatch { + return &libp2pGossipsubProposerPreferencesBatch{ + EventDateTime: func() proto.ColDateTime64 { var c proto.ColDateTime64; c.WithPrecision(proto.Precision(3)); return c }(), + FeeRecipient: func() route.SafeColFixedStr { var c route.SafeColFixedStr; c.SetSize(42); return c }(), + MetaClientIP: new(proto.ColIPv6).Nullable(), + MetaClientGeoLongitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoLatitude: new(proto.ColFloat64).Nullable(), + MetaClientGeoAutonomousSystemNumber: new(proto.ColUInt32).Nullable(), + MetaClientGeoAutonomousSystemOrganization: new(proto.ColStr).Nullable(), + } +} + +func (b *libp2pGossipsubProposerPreferencesBatch) Rows() int { + return b.rows +} + +func (b *libp2pGossipsubProposerPreferencesBatch) appendMetadata(event *xatu.DecoratedEvent) { + if event == nil || event.GetMeta() == nil { + b.MetaClientName.Append("") + b.MetaClientID.Append("") + b.MetaClientVersion.Append("") + b.MetaClientImplementation.Append("") + b.MetaClientOS.Append("") + b.MetaClientIP.Append(proto.Nullable[proto.IPv6]{}) + b.MetaClientGeoCity.Append("") + b.MetaClientGeoCountry.Append("") + b.MetaClientGeoCountryCode.Append("") + b.MetaClientGeoContinentCode.Append("") + b.MetaClientGeoLongitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoLatitude.Append(proto.Nullable[float64]{}) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.Nullable[uint32]{}) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.Nullable[string]{}) + b.MetaNetworkID.Append(0) + b.MetaNetworkName.Append("") + return + } + + b.MetaClientName.Append(event.GetMeta().GetClient().GetName()) + b.MetaClientID.Append(event.GetMeta().GetClient().GetId()) + b.MetaClientVersion.Append(event.GetMeta().GetClient().GetVersion()) + b.MetaClientImplementation.Append(event.GetMeta().GetClient().GetImplementation()) + b.MetaClientOS.Append(event.GetMeta().GetClient().GetOs()) + b.MetaClientIP.Append(route.NormalizeIPToIPv6Nullable(event.GetMeta().GetServer().GetClient().GetIP())) + b.MetaClientGeoCity.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCity()) + b.MetaClientGeoCountry.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountry()) + b.MetaClientGeoCountryCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetCountryCode()) + b.MetaClientGeoContinentCode.Append(event.GetMeta().GetServer().GetClient().GetGeo().GetContinentCode()) + b.MetaClientGeoLongitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLongitude())) + b.MetaClientGeoLatitude.Append(proto.NewNullable[float64](event.GetMeta().GetServer().GetClient().GetGeo().GetLatitude())) + b.MetaClientGeoAutonomousSystemNumber.Append(proto.NewNullable[uint32](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemNumber())) + b.MetaClientGeoAutonomousSystemOrganization.Append(proto.NewNullable[string](event.GetMeta().GetServer().GetClient().GetGeo().GetAutonomousSystemOrganization())) + b.MetaNetworkID.Append(int32(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetId())) + b.MetaNetworkName.Append(event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName()) +} + +func (b *libp2pGossipsubProposerPreferencesBatch) Input() proto.Input { + return proto.Input{ + {Name: "updated_date_time", Data: &b.UpdatedDateTime}, + {Name: "version", Data: &b.Version}, + {Name: "event_date_time", Data: &b.EventDateTime}, + {Name: "slot", Data: &b.Slot}, + {Name: "slot_start_date_time", Data: &b.SlotStartDateTime}, + {Name: "epoch", Data: &b.Epoch}, + {Name: "epoch_start_date_time", Data: &b.EpochStartDateTime}, + {Name: "wallclock_slot", Data: &b.WallclockSlot}, + {Name: "wallclock_slot_start_date_time", Data: &b.WallclockSlotStartDateTime}, + {Name: "wallclock_epoch", Data: &b.WallclockEpoch}, + {Name: "wallclock_epoch_start_date_time", Data: &b.WallclockEpochStartDateTime}, + {Name: "propagation_slot_start_diff", Data: &b.PropagationSlotStartDiff}, + {Name: "validator_index", Data: &b.ValidatorIndex}, + {Name: "fee_recipient", Data: &b.FeeRecipient}, + {Name: "gas_limit", Data: &b.GasLimit}, + {Name: "peer_id_unique_key", Data: &b.PeerIDUniqueKey}, + {Name: "message_id", Data: &b.MessageID}, + {Name: "message_size", Data: &b.MessageSize}, + {Name: "topic_layer", Data: &b.TopicLayer}, + {Name: "topic_fork_digest_value", Data: &b.TopicForkDigestValue}, + {Name: "topic_name", Data: &b.TopicName}, + {Name: "topic_encoding", Data: &b.TopicEncoding}, + {Name: "meta_client_name", Data: &b.MetaClientName}, + {Name: "meta_client_id", Data: &b.MetaClientID}, + {Name: "meta_client_version", Data: &b.MetaClientVersion}, + {Name: "meta_client_implementation", Data: &b.MetaClientImplementation}, + {Name: "meta_client_os", Data: &b.MetaClientOS}, + {Name: "meta_client_ip", Data: b.MetaClientIP}, + {Name: "meta_client_geo_city", Data: &b.MetaClientGeoCity}, + {Name: "meta_client_geo_country", Data: &b.MetaClientGeoCountry}, + {Name: "meta_client_geo_country_code", Data: &b.MetaClientGeoCountryCode}, + {Name: "meta_client_geo_continent_code", Data: &b.MetaClientGeoContinentCode}, + {Name: "meta_client_geo_longitude", Data: b.MetaClientGeoLongitude}, + {Name: "meta_client_geo_latitude", Data: b.MetaClientGeoLatitude}, + {Name: "meta_client_geo_autonomous_system_number", Data: b.MetaClientGeoAutonomousSystemNumber}, + {Name: "meta_client_geo_autonomous_system_organization", Data: b.MetaClientGeoAutonomousSystemOrganization}, + {Name: "meta_network_id", Data: &b.MetaNetworkID}, + {Name: "meta_network_name", Data: &b.MetaNetworkName}, + } +} + +func (b *libp2pGossipsubProposerPreferencesBatch) Reset() { + b.UpdatedDateTime.Reset() + b.Version.Reset() + b.EventDateTime.Reset() + b.Slot.Reset() + b.SlotStartDateTime.Reset() + b.Epoch.Reset() + b.EpochStartDateTime.Reset() + b.WallclockSlot.Reset() + b.WallclockSlotStartDateTime.Reset() + b.WallclockEpoch.Reset() + b.WallclockEpochStartDateTime.Reset() + b.PropagationSlotStartDiff.Reset() + b.ValidatorIndex.Reset() + b.FeeRecipient.Reset() + b.GasLimit.Reset() + b.PeerIDUniqueKey.Reset() + b.MessageID.Reset() + b.MessageSize.Reset() + b.TopicLayer.Reset() + b.TopicForkDigestValue.Reset() + b.TopicName.Reset() + b.TopicEncoding.Reset() + b.MetaClientName.Reset() + b.MetaClientID.Reset() + b.MetaClientVersion.Reset() + b.MetaClientImplementation.Reset() + b.MetaClientOS.Reset() + b.MetaClientIP.Reset() + b.MetaClientGeoCity.Reset() + b.MetaClientGeoCountry.Reset() + b.MetaClientGeoCountryCode.Reset() + b.MetaClientGeoContinentCode.Reset() + b.MetaClientGeoLongitude.Reset() + b.MetaClientGeoLatitude.Reset() + b.MetaClientGeoAutonomousSystemNumber.Reset() + b.MetaClientGeoAutonomousSystemOrganization.Reset() + b.MetaNetworkID.Reset() + b.MetaNetworkName.Reset() + b.rows = 0 +} + +func (b *libp2pGossipsubProposerPreferencesBatch) Snapshot() []map[string]any { + n := b.rows + out := make([]map[string]any, n) + + for i := 0; i < n; i++ { + row := make(map[string]any, 38) + row["updated_date_time"] = b.UpdatedDateTime.Row(i).Unix() + row["version"] = b.Version.Row(i) + row["event_date_time"] = b.EventDateTime.Row(i).UnixMilli() + row["slot"] = b.Slot.Row(i) + row["slot_start_date_time"] = b.SlotStartDateTime.Row(i).Unix() + row["epoch"] = b.Epoch.Row(i) + row["epoch_start_date_time"] = b.EpochStartDateTime.Row(i).Unix() + row["wallclock_slot"] = b.WallclockSlot.Row(i) + row["wallclock_slot_start_date_time"] = b.WallclockSlotStartDateTime.Row(i).Unix() + row["wallclock_epoch"] = b.WallclockEpoch.Row(i) + row["wallclock_epoch_start_date_time"] = b.WallclockEpochStartDateTime.Row(i).Unix() + row["propagation_slot_start_diff"] = b.PropagationSlotStartDiff.Row(i) + row["validator_index"] = b.ValidatorIndex.Row(i) + row["fee_recipient"] = string(b.FeeRecipient.Row(i)) + row["gas_limit"] = b.GasLimit.Row(i) + row["peer_id_unique_key"] = b.PeerIDUniqueKey.Row(i) + row["message_id"] = b.MessageID.Row(i) + row["message_size"] = b.MessageSize.Row(i) + row["topic_layer"] = b.TopicLayer.Row(i) + row["topic_fork_digest_value"] = b.TopicForkDigestValue.Row(i) + row["topic_name"] = b.TopicName.Row(i) + row["topic_encoding"] = b.TopicEncoding.Row(i) + row["meta_client_name"] = b.MetaClientName.Row(i) + row["meta_client_id"] = b.MetaClientID.Row(i) + row["meta_client_version"] = b.MetaClientVersion.Row(i) + row["meta_client_implementation"] = b.MetaClientImplementation.Row(i) + row["meta_client_os"] = b.MetaClientOS.Row(i) + if v := b.MetaClientIP.Row(i); v.Set { + row["meta_client_ip"] = net.IP(v.Value[:]).String() + } else { + row["meta_client_ip"] = nil + } + row["meta_client_geo_city"] = b.MetaClientGeoCity.Row(i) + row["meta_client_geo_country"] = b.MetaClientGeoCountry.Row(i) + row["meta_client_geo_country_code"] = b.MetaClientGeoCountryCode.Row(i) + row["meta_client_geo_continent_code"] = b.MetaClientGeoContinentCode.Row(i) + if v := b.MetaClientGeoLongitude.Row(i); v.Set { + row["meta_client_geo_longitude"] = v.Value + } else { + row["meta_client_geo_longitude"] = nil + } + if v := b.MetaClientGeoLatitude.Row(i); v.Set { + row["meta_client_geo_latitude"] = v.Value + } else { + row["meta_client_geo_latitude"] = nil + } + if v := b.MetaClientGeoAutonomousSystemNumber.Row(i); v.Set { + row["meta_client_geo_autonomous_system_number"] = v.Value + } else { + row["meta_client_geo_autonomous_system_number"] = nil + } + if v := b.MetaClientGeoAutonomousSystemOrganization.Row(i); v.Set { + row["meta_client_geo_autonomous_system_organization"] = v.Value + } else { + row["meta_client_geo_autonomous_system_organization"] = nil + } + row["meta_network_id"] = b.MetaNetworkID.Row(i) + row["meta_network_name"] = b.MetaNetworkName.Row(i) + out[i] = row + } + + return out +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences.go new file mode 100644 index 00000000..f7735964 --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences.go @@ -0,0 +1,182 @@ +package libp2p + +import ( + "fmt" + "time" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +var libp2pGossipsubProposerPreferencesEventNames = []xatu.Event_Name{ + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES, +} + +func init() { + r, err := route.NewStaticRoute( + libp2pGossipsubProposerPreferencesTableName, + libp2pGossipsubProposerPreferencesEventNames, + func() route.ColumnarBatch { return newlibp2pGossipsubProposerPreferencesBatch() }, + ) + if err != nil { + route.RecordError(err) + + return + } + + if err := route.Register(r); err != nil { + route.RecordError(err) + } +} + +func (b *libp2pGossipsubProposerPreferencesBatch) FlattenTo( + event *xatu.DecoratedEvent, +) error { + if event == nil || event.GetEvent() == nil { + return nil + } + + if event.GetLibp2PTraceGossipsubProposerPreferences() == nil { + return fmt.Errorf( + "nil libp2p_trace_gossipsub_proposer_preferences payload: %w", + route.ErrInvalidEvent, + ) + } + + b.appendRuntime(event) + b.appendMetadata(event) + b.appendPayload(event) + b.appendClientAdditionalData(event) + b.rows++ + + return nil +} + +func (b *libp2pGossipsubProposerPreferencesBatch) appendRuntime(event *xatu.DecoratedEvent) { + b.UpdatedDateTime.Append(time.Now()) + + if ts := event.GetEvent().GetDateTime(); ts != nil { + b.EventDateTime.Append(ts.AsTime()) + } else { + b.EventDateTime.Append(time.Time{}) + } +} + +//nolint:gosec // G115: proto uint64 values are bounded by ClickHouse column schema +func (b *libp2pGossipsubProposerPreferencesBatch) appendPayload(event *xatu.DecoratedEvent) { + payload := event.GetLibp2PTraceGossipsubProposerPreferences() + + if validatorIndex := payload.GetValidatorIndex(); validatorIndex != nil { + b.ValidatorIndex.Append(uint32(validatorIndex.GetValue())) + } else { + b.ValidatorIndex.Append(0) + } + + b.FeeRecipient.Append([]byte(wrappedStringValue(payload.GetFeeRecipient()))) + + if gasLimit := payload.GetGasLimit(); gasLimit != nil { + b.GasLimit.Append(gasLimit.GetValue()) + } else { + b.GasLimit.Append(0) + } +} + +func (b *libp2pGossipsubProposerPreferencesBatch) appendClientAdditionalData( + event *xatu.DecoratedEvent, +) { + if event == nil || event.GetMeta() == nil || event.GetMeta().GetClient() == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + additional := event.GetMeta().GetClient().GetLibp2PTraceGossipsubProposerPreferences() + if additional == nil { + b.Slot.Append(0) + b.SlotStartDateTime.Append(time.Time{}) + b.Epoch.Append(0) + b.EpochStartDateTime.Append(time.Time{}) + b.WallclockSlot.Append(0) + b.WallclockSlotStartDateTime.Append(time.Time{}) + b.WallclockEpoch.Append(0) + b.WallclockEpochStartDateTime.Append(time.Time{}) + b.PropagationSlotStartDiff.Append(0) + b.Version.Append(4294967295) + b.MessageID.Append("") + b.MessageSize.Append(0) + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + b.PeerIDUniqueKey.Append(0) + + return + } + + // Extract slot/epoch/wallclock/propagation fields. + var propagationSlotStartDiff uint32 + + setGossipsubSlotEpochFields(additional, func(f gossipsubSlotEpochResult) { + b.Slot.Append(f.Slot) + b.SlotStartDateTime.Append(time.Unix(f.SlotStartDateTime, 0)) + b.Epoch.Append(f.Epoch) + b.EpochStartDateTime.Append(time.Unix(f.EpochStartDateTime, 0)) + b.WallclockSlot.Append(f.WallclockSlot) + b.WallclockSlotStartDateTime.Append(time.Unix(f.WallclockSlotStartDateTime, 0)) + b.WallclockEpoch.Append(f.WallclockEpoch) + b.WallclockEpochStartDateTime.Append(time.Unix(f.WallclockEpochStartDateTime, 0)) + b.PropagationSlotStartDiff.Append(f.PropagationSlotStartDiff) + propagationSlotStartDiff = f.PropagationSlotStartDiff + }) + + // Compute version for ReplacingMergeTree dedup. + b.Version.Append(4294967295 - propagationSlotStartDiff) + + // Extract message fields. + b.MessageID.Append(wrappedStringValue(additional.GetMessageId())) + + if msgSize := additional.GetMessageSize(); msgSize != nil { + b.MessageSize.Append(msgSize.GetValue()) + } else { + b.MessageSize.Append(0) + } + + // Parse topic fields. + if topic := wrappedStringValue(additional.GetTopic()); topic != "" { + parsed := parseTopicFields(topic) + b.TopicLayer.Append(parsed.Layer) + b.TopicForkDigestValue.Append(parsed.ForkDigestValue) + b.TopicName.Append(parsed.Name) + b.TopicEncoding.Append(parsed.Encoding) + } else { + b.TopicLayer.Append("") + b.TopicForkDigestValue.Append("") + b.TopicName.Append("") + b.TopicEncoding.Append("") + } + + // Extract peer ID from metadata. + peerID := "" + if traceMeta := additional.GetMetadata(); traceMeta != nil && traceMeta.GetPeerId() != nil { + peerID = traceMeta.GetPeerId().GetValue() + } + + networkName := event.GetMeta().GetClient().GetEthereum().GetNetwork().GetName() + b.PeerIDUniqueKey.Append(computePeerIDUniqueKey(peerID, networkName)) +} diff --git a/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences_test.go b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences_test.go new file mode 100644 index 00000000..4d418fac --- /dev/null +++ b/pkg/clickhouse/route/libp2p/libp2p_gossipsub_proposer_preferences_test.go @@ -0,0 +1,27 @@ +package libp2p + +import ( + "testing" + + "github.com/ethpandaops/xatu/pkg/clickhouse/route/testfixture" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestSnapshot_libp2p_gossipsub_proposer_preferences(t *testing.T) { + if len(libp2pGossipsubProposerPreferencesEventNames) == 0 { + t.Skip("no event names registered for libp2p_gossipsub_proposer_preferences") + } + + testfixture.AssertSnapshot(t, newlibp2pGossipsubProposerPreferencesBatch(), &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: libp2pGossipsubProposerPreferencesEventNames[0], + DateTime: testfixture.TS(), + Id: testfixture.SnapshotID, + }, + Meta: testfixture.BaseMeta(), + // TODO(epbs): Add event-specific Data field and MetaWithAdditional for richer assertions. + }, 1, map[string]any{ + testfixture.MetaClientNameKey: testfixture.MetaClientName, + // TODO(epbs): Add payload-specific column assertions. + }) +} diff --git a/pkg/clickhouse/route/testfixture/testfixture.go b/pkg/clickhouse/route/testfixture/testfixture.go index bb15b607..2fc63843 100644 --- a/pkg/clickhouse/route/testfixture/testfixture.go +++ b/pkg/clickhouse/route/testfixture/testfixture.go @@ -16,11 +16,18 @@ import ( "github.com/ethpandaops/xatu/pkg/proto/xatu" ) +// Reusable identifiers and column-name keys for snapshot tests. +const ( + SnapshotID = "snapshot-1" + MetaClientName = "test-client" + MetaClientNameKey = "meta_client_name" +) + // BaseMeta returns a reusable Meta with known deterministic values. func BaseMeta() *xatu.Meta { return &xatu.Meta{ Client: &xatu.ClientMeta{ - Name: "test-client", + Name: MetaClientName, Version: "0.1.0", Id: "client-id-1", Implementation: "xatu", @@ -54,7 +61,7 @@ func TS() *timestamppb.Timestamp { func MetaWithAdditional(ad *xatu.ClientMeta) *xatu.Meta { m := BaseMeta() m.Client = ad - m.Client.Name = "test-client" + m.Client.Name = MetaClientName m.Client.Version = "0.1.0" m.Client.Id = "client-id-1" m.Client.Implementation = "xatu" diff --git a/pkg/clmimicry/event.go b/pkg/clmimicry/event.go index 57795054..5f817548 100644 --- a/pkg/clmimicry/event.go +++ b/pkg/clmimicry/event.go @@ -29,11 +29,14 @@ const ( TraceEvent_HANDLE_STATUS = "HANDLE_STATUS" // Events that are not part of a normal Ethereum node. - TraceEvent_SYNTHETIC_HEARTBEAT = "SYNTHETIC_HEARTBEAT" - TraceEvent_CUSTODY_PROBE = "CUSTODY_PROBE" - TraceEvent_CONSENSUS_ENGINE_API_NEWPAYLOAD = "CONSENSUS_ENGINE_API_NEWPAYLOAD" - TraceEvent_CONSENSUS_ENGINE_API_GETBLOBS = "CONSENSUS_ENGINE_API_GETBLOBS" - TraceEvent_IDENTIFY = "IDENTIFY" + TraceEvent_SYNTHETIC_HEARTBEAT = "SYNTHETIC_HEARTBEAT" + TraceEvent_CUSTODY_PROBE = "CUSTODY_PROBE" + TraceEvent_CONSENSUS_ENGINE_API_NEWPAYLOAD = "CONSENSUS_ENGINE_API_NEWPAYLOAD" + TraceEvent_CONSENSUS_ENGINE_API_GETBLOBS = "CONSENSUS_ENGINE_API_GETBLOBS" + TraceEvent_IDENTIFY = "IDENTIFY" + TraceEvent_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED = "BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED" + TraceEvent_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT = "BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT" + TraceEvent_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED = "BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED" ) // handleHermesEvent processes events from Hermes and routes them to appropriate handlers based on their type. diff --git a/pkg/clmimicry/event_beacon_synthetic.go b/pkg/clmimicry/event_beacon_synthetic.go new file mode 100644 index 00000000..0f80bf9c --- /dev/null +++ b/pkg/clmimicry/event_beacon_synthetic.go @@ -0,0 +1,224 @@ +package clmimicry + +import ( + "context" + "fmt" + + "github.com/google/uuid" + "github.com/pkg/errors" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" + + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +// handleBeaconSyntheticPayloadStatusResolvedEvent handles a fork-choice payload status +// transition observed from beacon node internals (TYSM-instrumented). EIP-7732 ePBS. +func (p *Processor) handleBeaconSyntheticPayloadStatusResolvedEvent( + ctx context.Context, + clientMeta *xatu.ClientMeta, + event *TraceEvent, +) error { + data, err := TraceEventToBeaconSyntheticPayloadStatusResolved(event) + if err != nil { + return errors.Wrapf(err, "failed to convert event to beacon synthetic payload status resolved event") + } + + metadata, ok := proto.Clone(clientMeta).(*xatu.ClientMeta) + if !ok { + return fmt.Errorf("failed to clone client metadata") + } + + extra := p.deriveAdditionalDataForBeaconSyntheticPayloadStatusResolved(data) + + metadata.AdditionalData = &xatu.ClientMeta_BeaconSyntheticPayloadStatusResolved{ + BeaconSyntheticPayloadStatusResolved: extra, + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED, + DateTime: timestamppb.New(event.Timestamp.Add(p.clockDrift)), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_BeaconSyntheticPayloadStatusResolved{ + BeaconSyntheticPayloadStatusResolved: data, + }, + } + + return p.output.HandleDecoratedEvent(ctx, decoratedEvent) +} + +func (p *Processor) deriveAdditionalDataForBeaconSyntheticPayloadStatusResolved( + data *ethv1.PayloadStatusResolved, +) *xatu.ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData { + extra := &xatu.ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData{} + + slot := p.wallclock.Slots().FromNumber(data.GetSlot().GetValue()) + epoch := p.wallclock.Epochs().FromSlot(data.GetSlot().GetValue()) + + slotStart := slot.TimeWindow().Start() + + extra.Slot = &xatu.SlotV2{ + Number: wrapperspb.UInt64(slot.Number()), + StartDateTime: timestamppb.New(slotStart), + } + extra.Epoch = &xatu.EpochV2{ + Number: wrapperspb.UInt64(epoch.Number()), + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + // PropagationSlotStartDiff = ResolvedAt - slot_start, in milliseconds. + var slotStartDiffMs uint64 + + if resolvedAt := data.GetResolvedAt(); resolvedAt != nil { + diff := resolvedAt.AsTime().Sub(slotStart).Milliseconds() + if diff > 0 { + slotStartDiffMs = uint64(diff) + } + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: wrapperspb.UInt64(slotStartDiffMs), + } + + return extra +} + +// handleBeaconSyntheticBuilderPendingPaymentSettlementEvent handles an epoch-boundary +// builder pending payment settle/drop decision observed from beacon node internals +// (TYSM-instrumented). EIP-7732 ePBS. +func (p *Processor) handleBeaconSyntheticBuilderPendingPaymentSettlementEvent( + ctx context.Context, + clientMeta *xatu.ClientMeta, + event *TraceEvent, +) error { + data, err := TraceEventToBeaconSyntheticBuilderPendingPaymentSettlement(event) + if err != nil { + return errors.Wrapf(err, "failed to convert event to beacon synthetic builder pending payment settlement event") + } + + metadata, ok := proto.Clone(clientMeta).(*xatu.ClientMeta) + if !ok { + return fmt.Errorf("failed to clone client metadata") + } + + extra := p.deriveAdditionalDataForBeaconSyntheticBuilderPendingPaymentSettlement(data) + + metadata.AdditionalData = &xatu.ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement{ + BeaconSyntheticBuilderPendingPaymentSettlement: extra, + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT, + DateTime: timestamppb.New(event.Timestamp.Add(p.clockDrift)), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement{ + BeaconSyntheticBuilderPendingPaymentSettlement: data, + }, + } + + return p.output.HandleDecoratedEvent(ctx, decoratedEvent) +} + +func (p *Processor) deriveAdditionalDataForBeaconSyntheticBuilderPendingPaymentSettlement( + data *ethv1.BuilderPendingPaymentSettlement, +) *xatu.ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData { + extra := &xatu.ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData{} + + epoch := p.wallclock.Epochs().FromNumber(data.GetEpoch().GetValue()) + + extra.Epoch = &xatu.EpochV2{ + Number: wrapperspb.UInt64(epoch.Number()), + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + return extra +} + +// handleBeaconSyntheticPayloadAttestationProcessedEvent handles a PTC vote +// that has finished full gossip validation and been committed for downstream +// pipeline use. EIP-7732 ePBS. +func (p *Processor) handleBeaconSyntheticPayloadAttestationProcessedEvent( + ctx context.Context, + clientMeta *xatu.ClientMeta, + event *TraceEvent, +) error { + data, err := TraceEventToBeaconSyntheticPayloadAttestationProcessed(event) + if err != nil { + return errors.Wrapf(err, "failed to convert event to beacon synthetic payload attestation processed event") + } + + metadata, ok := proto.Clone(clientMeta).(*xatu.ClientMeta) + if !ok { + return fmt.Errorf("failed to clone client metadata") + } + + extra := p.deriveAdditionalDataForBeaconSyntheticPayloadAttestationProcessed(data) + + metadata.AdditionalData = &xatu.ClientMeta_BeaconSyntheticPayloadAttestationProcessed{ + BeaconSyntheticPayloadAttestationProcessed: extra, + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED, + DateTime: timestamppb.New(event.Timestamp.Add(p.clockDrift)), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed{ + BeaconSyntheticPayloadAttestationProcessed: data, + }, + } + + return p.output.HandleDecoratedEvent(ctx, decoratedEvent) +} + +func (p *Processor) deriveAdditionalDataForBeaconSyntheticPayloadAttestationProcessed( + data *ethv1.PayloadAttestationProcessed, +) *xatu.ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData { + extra := &xatu.ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData{} + + slot := p.wallclock.Slots().FromNumber(data.GetSlot().GetValue()) + epoch := p.wallclock.Epochs().FromSlot(data.GetSlot().GetValue()) + + slotStart := slot.TimeWindow().Start() + + extra.Slot = &xatu.SlotV2{ + Number: wrapperspb.UInt64(slot.Number()), + StartDateTime: timestamppb.New(slotStart), + } + extra.Epoch = &xatu.EpochV2{ + Number: wrapperspb.UInt64(epoch.Number()), + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + // PropagationSlotStartDiff = ProcessedAt - slot_start, in milliseconds. + var slotStartDiffMs uint64 + + if processedAt := data.GetProcessedAt(); processedAt != nil { + diff := processedAt.AsTime().Sub(slotStart).Milliseconds() + if diff > 0 { + slotStartDiffMs = uint64(diff) + } + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: wrapperspb.UInt64(slotStartDiffMs), + } + + return extra +} diff --git a/pkg/clmimicry/event_categorizer_test.go b/pkg/clmimicry/event_categorizer_test.go index 36c319a5..5db925e8 100644 --- a/pkg/clmimicry/event_categorizer_test.go +++ b/pkg/clmimicry/event_categorizer_test.go @@ -20,12 +20,12 @@ func TestEventCategorization(t *testing.T) { t.Logf("Group %d has %d events", group, len(events)) } - // We should have categorized all 29 known events - assert.Equal(t, totalEvents, 29, "Should have exactly 28 events categorized") + // We should have categorized all 36 known events + assert.Equal(t, totalEvents, 36, "Should have exactly 36 events categorized") // Test specific group queries groupA := ec.GetGroupAEvents() - assert.Len(t, groupA, 10, "Group A should have 10 events") + assert.Len(t, groupA, 14, "Group A should have 14 events") groupB := ec.GetGroupBEvents() assert.Len(t, groupB, 7, "Group B should have 7 events") @@ -150,6 +150,10 @@ func TestEventCompleteness(t *testing.T) { xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_ATTESTATION, xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BLOB_SIDECAR, xatu.Event_LIBP2P_TRACE_GOSSIPSUB_DATA_COLUMN_SIDECAR, + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE, + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID, + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE, + xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES, xatu.Event_LIBP2P_TRACE_RPC_META_MESSAGE, xatu.Event_LIBP2P_TRACE_RPC_META_CONTROL_IHAVE, // Group B @@ -174,6 +178,9 @@ func TestEventCompleteness(t *testing.T) { xatu.Event_LIBP2P_TRACE_HANDLE_METADATA, xatu.Event_LIBP2P_TRACE_HANDLE_STATUS, xatu.Event_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT, + xatu.Event_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED, + xatu.Event_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT, + xatu.Event_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED, } // Check all events are properly categorized diff --git a/pkg/clmimicry/event_catergorizer.go b/pkg/clmimicry/event_catergorizer.go index 31f7b6a1..d5aa8863 100644 --- a/pkg/clmimicry/event_catergorizer.go +++ b/pkg/clmimicry/event_catergorizer.go @@ -53,6 +53,10 @@ func (ec *EventCategorizer) initializeEvents() { ec.addEvent(xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_ATTESTATION, GroupA, true, true, false) ec.addEvent(xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BLOB_SIDECAR, GroupA, true, true, false) ec.addEvent(xatu.Event_LIBP2P_TRACE_GOSSIPSUB_DATA_COLUMN_SIDECAR, GroupA, true, true, false) + ec.addEvent(xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE, GroupA, true, true, false) + ec.addEvent(xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID, GroupA, true, true, false) + ec.addEvent(xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE, GroupA, true, true, false) + ec.addEvent(xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES, GroupA, true, true, false) ec.addEvent(xatu.Event_LIBP2P_TRACE_RPC_META_MESSAGE, GroupA, true, true, true) ec.addEvent(xatu.Event_LIBP2P_TRACE_RPC_META_CONTROL_IHAVE, GroupA, true, true, true) @@ -80,6 +84,11 @@ func (ec *EventCategorizer) initializeEvents() { ec.addEvent(xatu.Event_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT, GroupD, false, false, false) ec.addEvent(xatu.Event_LIBP2P_TRACE_HANDLE_METADATA, GroupD, false, false, false) ec.addEvent(xatu.Event_LIBP2P_TRACE_HANDLE_STATUS, GroupD, false, false, false) + // EIP-7732 ePBS: synthesized observability events from beacon-node internals. + // No Topic / no MsgID — same sharding profile as engine API / custody probe events. + ec.addEvent(xatu.Event_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED, GroupD, false, false, false) + ec.addEvent(xatu.Event_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT, GroupD, false, false, false) + ec.addEvent(xatu.Event_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED, GroupD, false, false, false) } // addEvent is a helper to add event information diff --git a/pkg/clmimicry/event_config.go b/pkg/clmimicry/event_config.go index e5c531a5..bf8d3c83 100644 --- a/pkg/clmimicry/event_config.go +++ b/pkg/clmimicry/event_config.go @@ -2,40 +2,49 @@ package clmimicry // EventConfig represents configuration for all event types. type EventConfig struct { - RecvRPCEnabled bool `yaml:"recvRpcEnabled" default:"false"` - SendRPCEnabled bool `yaml:"sendRpcEnabled" default:"false"` - DropRPCEnabled bool `yaml:"dropRpcEnabled" default:"false"` - RpcMetaControlIHaveEnabled bool `yaml:"rpcMetaControlIHaveEnabled" default:"false"` - RpcMetaControlIWantEnabled bool `yaml:"rpcMetaControlIWantEnabled" default:"false"` - RpcMetaControlIDontWantEnabled bool `yaml:"rpcMetaControlIDontWantEnabled" default:"false"` - RpcMetaControlGraftEnabled bool `yaml:"rpcMetaControlGraftEnabled" default:"false"` - RpcMetaControlPruneEnabled bool `yaml:"rpcMetaControlPruneEnabled" default:"false"` - RpcMetaSubscriptionEnabled bool `yaml:"rpcMetaSubscriptionEnabled" default:"false"` - RpcMetaMessageEnabled bool `yaml:"rpcMetaMessageEnabled" default:"false"` - AddPeerEnabled bool `yaml:"addPeerEnabled" default:"true"` - RemovePeerEnabled bool `yaml:"removePeerEnabled" default:"true"` - ConnectedEnabled bool `yaml:"connectedEnabled" default:"true"` - DisconnectedEnabled bool `yaml:"disconnectedEnabled" default:"true"` - IdentifyEnabled bool `yaml:"identifyEnabled" default:"true"` - SyntheticHeartbeatEnabled bool `yaml:"syntheticHeartbeatEnabled" default:"true"` - JoinEnabled bool `yaml:"joinEnabled" default:"true"` - LeaveEnabled bool `yaml:"leaveEnabled" default:"false"` - GraftEnabled bool `yaml:"graftEnabled" default:"false"` - PruneEnabled bool `yaml:"pruneEnabled" default:"false"` - PublishMessageEnabled bool `yaml:"publishMessageEnabled" default:"false"` - RejectMessageEnabled bool `yaml:"rejectMessageEnabled" default:"false"` - DuplicateMessageEnabled bool `yaml:"duplicateMessageEnabled" default:"false"` - DeliverMessageEnabled bool `yaml:"deliverMessageEnabled" default:"false"` - HandleMetadataEnabled bool `yaml:"handleMetadataEnabled" default:"true"` - HandleStatusEnabled bool `yaml:"handleStatusEnabled" default:"true"` - CustodyProbeEnabled bool `yaml:"custodyProbeEnabled" default:"true"` - GossipSubBeaconBlockEnabled bool `yaml:"gossipSubBeaconBlockEnabled" default:"true"` - GossipSubAttestationEnabled bool `yaml:"gossipSubAttestationEnabled" default:"true"` - GossipSubAggregateAndProofEnabled bool `yaml:"gossipSubAggregateAndProofEnabled" default:"true"` - GossipSubBlobSidecarEnabled bool `yaml:"gossipSubBlobSidecarEnabled" default:"true"` - GossipSubDataColumnSidecarEnabled bool `yaml:"gossipSubDataColumnSidecarEnabled" default:"true"` - EngineAPINewPayloadEnabled bool `yaml:"engineApiNewPayloadEnabled" default:"false"` - EngineAPIGetBlobsEnabled bool `yaml:"engineApiGetBlobsEnabled" default:"false"` + RecvRPCEnabled bool `yaml:"recvRpcEnabled" default:"false"` + SendRPCEnabled bool `yaml:"sendRpcEnabled" default:"false"` + DropRPCEnabled bool `yaml:"dropRpcEnabled" default:"false"` + RpcMetaControlIHaveEnabled bool `yaml:"rpcMetaControlIHaveEnabled" default:"false"` + RpcMetaControlIWantEnabled bool `yaml:"rpcMetaControlIWantEnabled" default:"false"` + RpcMetaControlIDontWantEnabled bool `yaml:"rpcMetaControlIDontWantEnabled" default:"false"` + RpcMetaControlGraftEnabled bool `yaml:"rpcMetaControlGraftEnabled" default:"false"` + RpcMetaControlPruneEnabled bool `yaml:"rpcMetaControlPruneEnabled" default:"false"` + RpcMetaSubscriptionEnabled bool `yaml:"rpcMetaSubscriptionEnabled" default:"false"` + RpcMetaMessageEnabled bool `yaml:"rpcMetaMessageEnabled" default:"false"` + AddPeerEnabled bool `yaml:"addPeerEnabled" default:"true"` + RemovePeerEnabled bool `yaml:"removePeerEnabled" default:"true"` + ConnectedEnabled bool `yaml:"connectedEnabled" default:"true"` + DisconnectedEnabled bool `yaml:"disconnectedEnabled" default:"true"` + IdentifyEnabled bool `yaml:"identifyEnabled" default:"true"` + SyntheticHeartbeatEnabled bool `yaml:"syntheticHeartbeatEnabled" default:"true"` + JoinEnabled bool `yaml:"joinEnabled" default:"true"` + LeaveEnabled bool `yaml:"leaveEnabled" default:"false"` + GraftEnabled bool `yaml:"graftEnabled" default:"false"` + PruneEnabled bool `yaml:"pruneEnabled" default:"false"` + PublishMessageEnabled bool `yaml:"publishMessageEnabled" default:"false"` + RejectMessageEnabled bool `yaml:"rejectMessageEnabled" default:"false"` + DuplicateMessageEnabled bool `yaml:"duplicateMessageEnabled" default:"false"` + DeliverMessageEnabled bool `yaml:"deliverMessageEnabled" default:"false"` + HandleMetadataEnabled bool `yaml:"handleMetadataEnabled" default:"true"` + HandleStatusEnabled bool `yaml:"handleStatusEnabled" default:"true"` + CustodyProbeEnabled bool `yaml:"custodyProbeEnabled" default:"true"` + GossipSubBeaconBlockEnabled bool `yaml:"gossipSubBeaconBlockEnabled" default:"true"` + GossipSubAttestationEnabled bool `yaml:"gossipSubAttestationEnabled" default:"true"` + GossipSubAggregateAndProofEnabled bool `yaml:"gossipSubAggregateAndProofEnabled" default:"true"` + GossipSubBlobSidecarEnabled bool `yaml:"gossipSubBlobSidecarEnabled" default:"true"` + GossipSubDataColumnSidecarEnabled bool `yaml:"gossipSubDataColumnSidecarEnabled" default:"true"` + GossipSubExecutionPayloadEnvelopeEnabled bool `yaml:"gossipSubExecutionPayloadEnvelopeEnabled" default:"true"` + GossipSubExecutionPayloadBidEnabled bool `yaml:"gossipSubExecutionPayloadBidEnabled" default:"true"` + GossipSubPayloadAttestationMessageEnabled bool `yaml:"gossipSubPayloadAttestationMessageEnabled" default:"true"` + GossipSubProposerPreferencesEnabled bool `yaml:"gossipSubProposerPreferencesEnabled" default:"true"` + EngineAPINewPayloadEnabled bool `yaml:"engineApiNewPayloadEnabled" default:"false"` + EngineAPIGetBlobsEnabled bool `yaml:"engineApiGetBlobsEnabled" default:"false"` + + // Beacon synthetic events (TYSM-instrumented internals, EIP-7732 ePBS). + BeaconSyntheticPayloadStatusResolvedEnabled bool `yaml:"beaconSyntheticPayloadStatusResolvedEnabled" default:"true"` + BeaconSyntheticBuilderPendingPaymentSettlementEnabled bool `yaml:"beaconSyntheticBuilderPendingPaymentSettlementEnabled" default:"true"` + BeaconSyntheticPayloadAttestationProcessedEnabled bool `yaml:"beaconSyntheticPayloadAttestationProcessedEnabled" default:"true"` } // Validate validates the event config. diff --git a/pkg/clmimicry/event_gossipsub.go b/pkg/clmimicry/event_gossipsub.go index 7f2fdaee..6071a4fa 100644 --- a/pkg/clmimicry/event_gossipsub.go +++ b/pkg/clmimicry/event_gossipsub.go @@ -15,11 +15,15 @@ import ( // These match the values from github.com/OffchainLabs/prysm/v7/beacon-chain/p2p/topics.go // but are defined locally to avoid import cycles. const ( - gossipAttestationMessage = "beacon_attestation" - gossipBlockMessage = "beacon_block" - gossipAggregateAndProofMessage = "beacon_aggregate_and_proof" - gossipBlobSidecarMessage = "blob_sidecar" - gossipDataColumnSidecarMessage = "data_column_sidecar" + gossipAttestationMessage = "beacon_attestation" + gossipBlockMessage = "beacon_block" + gossipAggregateAndProofMessage = "beacon_aggregate_and_proof" + gossipBlobSidecarMessage = "blob_sidecar" + gossipDataColumnSidecarMessage = "data_column_sidecar" + gossipExecutionPayloadMessage = "execution_payload" + gossipExecutionPayloadBidMessage = "execution_payload_bid" + gossipPayloadAttestationMessage = "payload_attestation_message" + gossipProposerPreferencesMessage = "proposer_preferences" ) // Define a slice of all gossipsub event types. @@ -27,13 +31,21 @@ var gossipsubEventTypes = []string{ TraceEvent_HANDLE_MESSAGE, } -// Map of gossipsub topic substrings to Xatu event types. +// Map of gossipsub topic-name segment to Xatu event type. +// Resolution rule (see mapGossipSubEventToXatuEvent): exact match wins; otherwise +// the longest "_" prefix match wins. Exact match priority is what +// keeps `execution_payload` and `execution_payload_bid` from colliding now that +// both are valid Gloas topics. var gossipsubTopicToXatuEventMap = map[string]string{ - gossipAttestationMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_ATTESTATION.String(), - gossipBlockMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_BLOCK.String(), - gossipBlobSidecarMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BLOB_SIDECAR.String(), - gossipAggregateAndProofMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_AGGREGATE_AND_PROOF.String(), - gossipDataColumnSidecarMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_DATA_COLUMN_SIDECAR.String(), + gossipAttestationMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_ATTESTATION.String(), + gossipBlockMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_BLOCK.String(), + gossipBlobSidecarMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BLOB_SIDECAR.String(), + gossipAggregateAndProofMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_AGGREGATE_AND_PROOF.String(), + gossipDataColumnSidecarMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_DATA_COLUMN_SIDECAR.String(), + gossipExecutionPayloadMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE.String(), + gossipExecutionPayloadBidMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID.String(), + gossipPayloadAttestationMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE.String(), + gossipProposerPreferencesMessage: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES.String(), } // handleHermesGossipSubEvent handles GossipSub protocol events. @@ -173,6 +185,90 @@ func (p *Processor) handleHermesGossipSubEvent( return errors.Wrap(err, "failed to handle data column sidecar") } + case xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE.String(): + if !p.events.GossipSubExecutionPayloadEnvelopeEnabled { + return nil + } + + networkStr := getNetworkID(clientMeta) + p.metrics.AddEvent(xatuEvent, networkStr) + + if !p.ShouldTraceMessage(event, clientMeta, xatuEvent) { + return nil + } + + payload, ok := event.Payload.(*TraceEventExecutionPayloadEnvelope) + if !ok { + return errors.New("invalid payload type for HandleMessage event") + } + + if err := p.handleGossipExecutionPayloadEnvelope(ctx, clientMeta, event, payload); err != nil { + return errors.Wrap(err, "failed to handle gossipsub execution payload envelope") + } + + case xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID.String(): + if !p.events.GossipSubExecutionPayloadBidEnabled { + return nil + } + + networkStr := getNetworkID(clientMeta) + p.metrics.AddEvent(xatuEvent, networkStr) + + if !p.ShouldTraceMessage(event, clientMeta, xatuEvent) { + return nil + } + + payload, ok := event.Payload.(*TraceEventExecutionPayloadBid) + if !ok { + return errors.New("invalid payload type for HandleMessage event") + } + + if err := p.handleGossipExecutionPayloadBid(ctx, clientMeta, event, payload); err != nil { + return errors.Wrap(err, "failed to handle gossipsub execution payload bid") + } + + case xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE.String(): + if !p.events.GossipSubPayloadAttestationMessageEnabled { + return nil + } + + networkStr := getNetworkID(clientMeta) + p.metrics.AddEvent(xatuEvent, networkStr) + + if !p.ShouldTraceMessage(event, clientMeta, xatuEvent) { + return nil + } + + payload, ok := event.Payload.(*TraceEventPayloadAttestationMessage) + if !ok { + return errors.New("invalid payload type for HandleMessage event") + } + + if err := p.handleGossipPayloadAttestationMessage(ctx, clientMeta, event, payload); err != nil { + return errors.Wrap(err, "failed to handle gossipsub payload attestation message") + } + + case xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES.String(): + if !p.events.GossipSubProposerPreferencesEnabled { + return nil + } + + networkStr := getNetworkID(clientMeta) + p.metrics.AddEvent(xatuEvent, networkStr) + + if !p.ShouldTraceMessage(event, clientMeta, xatuEvent) { + return nil + } + + payload, ok := event.Payload.(*TraceEventProposerPreferences) + if !ok { + return errors.New("invalid payload type for HandleMessage event") + } + + if err := p.handleGossipProposerPreferences(ctx, clientMeta, event, payload); err != nil { + return errors.Wrap(err, "failed to handle gossipsub proposer preferences") + } + default: p.log.WithField("topic", topic).WithContext(ctx).Trace("Unsupported topic in HandleMessage event") } @@ -180,12 +276,43 @@ func (p *Processor) handleHermesGossipSubEvent( return nil } +// mapGossipSubEventToXatuEvent resolves a gossipsub topic string to a xatu +// event name. The topic shape is "/eth2///"; +// we match against the segment. +// +// Exact match on the segment wins. If no exact match, the longest matching +// "_" prefix wins — this handles subnet-suffixed topics like +// "beacon_attestation_5" / "blob_sidecar_0" / "data_column_sidecar_5". +// Map iteration is non-deterministic, so the "longest-prefix wins" pass is +// what prevents a `execution_payload_bid` topic from being routed to the +// `execution_payload` envelope branch (or vice versa). func mapGossipSubEventToXatuEvent(topic string) (string, error) { - for topicSubstr, xatuEvent := range gossipsubTopicToXatuEventMap { - if strings.Contains(topic, topicSubstr) { - return xatuEvent, nil + parts := strings.Split(topic, "/") + if len(parts) < 4 { + return "", fmt.Errorf("malformed gossipsub topic: %s", topic) + } + + segment := parts[3] + + if xatuEvent, ok := gossipsubTopicToXatuEventMap[segment]; ok { + return xatuEvent, nil + } + + var ( + bestKey string + bestEvent string + ) + + for topicKey, xatuEvent := range gossipsubTopicToXatuEventMap { + if strings.HasPrefix(segment, topicKey+"_") && len(topicKey) > len(bestKey) { + bestKey = topicKey + bestEvent = xatuEvent } } + if bestEvent != "" { + return bestEvent, nil + } + return "", fmt.Errorf("unknown gossipsub event: %s", topic) } diff --git a/pkg/clmimicry/event_gossipsub_test.go b/pkg/clmimicry/event_gossipsub_test.go new file mode 100644 index 00000000..705de652 --- /dev/null +++ b/pkg/clmimicry/event_gossipsub_test.go @@ -0,0 +1,93 @@ +package clmimicry + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestMapGossipSubEventToXatuEvent(t *testing.T) { + tests := []struct { + name string + topic string + expected xatu.Event_Name + wantErr bool + }{ + { + name: "beacon_block exact", + topic: "/eth2/abcd1234/beacon_block/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_BLOCK, + }, + { + name: "beacon_aggregate_and_proof exact", + topic: "/eth2/abcd1234/beacon_aggregate_and_proof/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_AGGREGATE_AND_PROOF, + }, + { + name: "beacon_attestation subnet (prefix match)", + topic: "/eth2/abcd1234/beacon_attestation_5/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BEACON_ATTESTATION, + }, + { + name: "blob_sidecar subnet (prefix match)", + topic: "/eth2/abcd1234/blob_sidecar_0/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_BLOB_SIDECAR, + }, + { + name: "data_column_sidecar subnet (prefix match)", + topic: "/eth2/abcd1234/data_column_sidecar_127/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_DATA_COLUMN_SIDECAR, + }, + { + // Regression test for the substring-collision bug introduced by ePBS: + // `execution_payload` and `execution_payload_bid` are both valid Gloas topics, + // and the old strings.Contains-based resolver would non-deterministically + // route bid messages into the envelope branch. Exact-match must keep these distinct. + name: "execution_payload (envelope) exact", + topic: "/eth2/abcd1234/execution_payload/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE, + }, + { + name: "execution_payload_bid exact (collision regression)", + topic: "/eth2/abcd1234/execution_payload_bid/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID, + }, + { + name: "payload_attestation_message exact", + topic: "/eth2/abcd1234/payload_attestation_message/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE, + }, + { + name: "proposer_preferences exact", + topic: "/eth2/abcd1234/proposer_preferences/ssz_snappy", + expected: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES, + }, + { + name: "malformed topic (too few segments)", + topic: "missing/slashes", + wantErr: true, + }, + { + name: "unknown topic name", + topic: "/eth2/abcd1234/not_a_real_topic/ssz_snappy", + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := mapGossipSubEventToXatuEvent(tt.topic) + if tt.wantErr { + require.Error(t, err) + + return + } + + require.NoError(t, err) + assert.Equal(t, tt.expected.String(), got) + }) + } +} diff --git a/pkg/clmimicry/event_rpc.go b/pkg/clmimicry/event_rpc.go index a5705521..04a1f7b6 100644 --- a/pkg/clmimicry/event_rpc.go +++ b/pkg/clmimicry/event_rpc.go @@ -17,11 +17,14 @@ import ( // Map of RPC event types to Xatu event types. var rpcToXatuEventMap = map[string]string{ - TraceEvent_HANDLE_METADATA: xatu.Event_LIBP2P_TRACE_HANDLE_METADATA.String(), - TraceEvent_HANDLE_STATUS: xatu.Event_LIBP2P_TRACE_HANDLE_STATUS.String(), - TraceEvent_CUSTODY_PROBE: xatu.Event_LIBP2P_TRACE_RPC_DATA_COLUMN_CUSTODY_PROBE.String(), - TraceEvent_CONSENSUS_ENGINE_API_NEWPAYLOAD: xatu.Event_CONSENSUS_ENGINE_API_NEW_PAYLOAD.String(), - TraceEvent_CONSENSUS_ENGINE_API_GETBLOBS: xatu.Event_CONSENSUS_ENGINE_API_GET_BLOBS.String(), + TraceEvent_HANDLE_METADATA: xatu.Event_LIBP2P_TRACE_HANDLE_METADATA.String(), + TraceEvent_HANDLE_STATUS: xatu.Event_LIBP2P_TRACE_HANDLE_STATUS.String(), + TraceEvent_CUSTODY_PROBE: xatu.Event_LIBP2P_TRACE_RPC_DATA_COLUMN_CUSTODY_PROBE.String(), + TraceEvent_CONSENSUS_ENGINE_API_NEWPAYLOAD: xatu.Event_CONSENSUS_ENGINE_API_NEW_PAYLOAD.String(), + TraceEvent_CONSENSUS_ENGINE_API_GETBLOBS: xatu.Event_CONSENSUS_ENGINE_API_GET_BLOBS.String(), + TraceEvent_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED: xatu.Event_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED.String(), + TraceEvent_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT: xatu.Event_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT.String(), + TraceEvent_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED: xatu.Event_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED.String(), } // handleHermesRPCEvent handles Request/Response (RPC) protocol events. @@ -120,6 +123,48 @@ func (p *Processor) handleHermesRPCEvent( } return p.handleConsensusEngineAPIGetBlobsEvent(ctx, clientMeta, event) + + case xatu.Event_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED.String(): + if !p.events.BeaconSyntheticPayloadStatusResolvedEnabled { + return nil + } + + networkStr := getNetworkID(clientMeta) + p.metrics.AddEvent(xatuEvent, networkStr) + + if !p.ShouldTraceMessage(event, clientMeta, xatuEvent) { + return nil + } + + return p.handleBeaconSyntheticPayloadStatusResolvedEvent(ctx, clientMeta, event) + + case xatu.Event_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT.String(): + if !p.events.BeaconSyntheticBuilderPendingPaymentSettlementEnabled { + return nil + } + + networkStr := getNetworkID(clientMeta) + p.metrics.AddEvent(xatuEvent, networkStr) + + if !p.ShouldTraceMessage(event, clientMeta, xatuEvent) { + return nil + } + + return p.handleBeaconSyntheticBuilderPendingPaymentSettlementEvent(ctx, clientMeta, event) + + case xatu.Event_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED.String(): + if !p.events.BeaconSyntheticPayloadAttestationProcessedEnabled { + return nil + } + + networkStr := getNetworkID(clientMeta) + p.metrics.AddEvent(xatuEvent, networkStr) + + if !p.ShouldTraceMessage(event, clientMeta, xatuEvent) { + return nil + } + + return p.handleBeaconSyntheticPayloadAttestationProcessedEvent(ctx, clientMeta, event) } return nil diff --git a/pkg/clmimicry/gossipsub_epbs_test.go b/pkg/clmimicry/gossipsub_epbs_test.go new file mode 100644 index 00000000..97dae468 --- /dev/null +++ b/pkg/clmimicry/gossipsub_epbs_test.go @@ -0,0 +1,229 @@ +package clmimicry + +import ( + "context" + "testing" + "time" + + "github.com/OffchainLabs/prysm/v7/consensus-types/primitives" + enginev1 "github.com/OffchainLabs/prysm/v7/proto/engine/v1" + ethtypes "github.com/OffchainLabs/prysm/v7/proto/prysm/v1alpha1" + "github.com/google/uuid" + "github.com/libp2p/go-libp2p/core/peer" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.uber.org/mock/gomock" + + "github.com/ethpandaops/xatu/pkg/output/mock" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func TestEPBSHandlerIntegration(t *testing.T) { + peerID, err := peer.Decode(examplePeerID) + require.NoError(t, err) + + t.Run("execution_payload (envelope)", func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockSink := mock.NewMockSink(ctrl) + mimicry := createTestMimicryWithWallclock(t, &Config{ + Events: EventConfig{GossipSubExecutionPayloadEnvelopeEnabled: true}, + }, mockSink) + + mockSink.EXPECT(). + HandleNewDecoratedEvent(gomock.Any(), gomock.Any()). + DoAndReturn(func(_ context.Context, event *xatu.DecoratedEvent) error { + assert.Equal(t, xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE, event.GetEvent().GetName()) + data := event.GetLibp2PTraceGossipsubExecutionPayloadEnvelope() + require.NotNil(t, data) + assert.Equal(t, uint64(123), data.GetSlot().GetValue()) + assert.Equal(t, uint64(7), data.GetBuilderIndex().GetValue()) + + return nil + }). + Times(1) + + payload := &TraceEventExecutionPayloadEnvelope{ + TraceEventPayloadMetaData: TraceEventPayloadMetaData{ + Topic: "/eth2/test/execution_payload/ssz_snappy", + MsgID: uuid.New().String(), + PeerID: peerID.String(), + }, + ExecutionPayloadEnvelope: ðtypes.SignedExecutionPayloadEnvelope{ + Message: ðtypes.ExecutionPayloadEnvelope{ + BuilderIndex: primitives.BuilderIndex(7), + BeaconBlockRoot: make([]byte, 32), + Payload: &enginev1.ExecutionPayloadGloas{ + BlockHash: make([]byte, 32), + StateRoot: make([]byte, 32), + SlotNumber: primitives.Slot(123), + }, + }, + }, + } + + err = mimicry.processor.handleGossipExecutionPayloadEnvelope( + context.Background(), + createTestClientMeta(), + &TraceEvent{Type: TraceEvent_HANDLE_MESSAGE, PeerID: peerID, Timestamp: time.Now()}, + payload, + ) + assert.NoError(t, err) + }) + + t.Run("execution_payload_bid", func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockSink := mock.NewMockSink(ctrl) + mimicry := createTestMimicryWithWallclock(t, &Config{ + Events: EventConfig{GossipSubExecutionPayloadBidEnabled: true}, + }, mockSink) + + mockSink.EXPECT(). + HandleNewDecoratedEvent(gomock.Any(), gomock.Any()). + DoAndReturn(func(_ context.Context, event *xatu.DecoratedEvent) error { + assert.Equal(t, xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID, event.GetEvent().GetName()) + data := event.GetLibp2PTraceGossipsubExecutionPayloadBid() + require.NotNil(t, data) + assert.Equal(t, uint64(456), data.GetSlot().GetValue()) + assert.Equal(t, uint64(9), data.GetBuilderIndex().GetValue()) + assert.Equal(t, uint64(1_000_000_000), data.GetValue().GetValue()) + assert.Equal(t, uint32(2), data.GetBlobKzgCommitmentCount().GetValue()) + + return nil + }). + Times(1) + + payload := &TraceEventExecutionPayloadBid{ + TraceEventPayloadMetaData: TraceEventPayloadMetaData{ + Topic: "/eth2/test/execution_payload_bid/ssz_snappy", + MsgID: uuid.New().String(), + PeerID: peerID.String(), + }, + ExecutionPayloadBid: ðtypes.SignedExecutionPayloadBid{ + Message: ðtypes.ExecutionPayloadBid{ + Slot: primitives.Slot(456), + BuilderIndex: primitives.BuilderIndex(9), + BlockHash: make([]byte, 32), + ParentBlockHash: make([]byte, 32), + Value: primitives.Gwei(1_000_000_000), + ExecutionPayment: primitives.Gwei(500_000_000), + FeeRecipient: make([]byte, 20), + GasLimit: 30_000_000, + BlobKzgCommitments: [][]byte{ + make([]byte, 48), + make([]byte, 48), + }, + }, + }, + } + + err = mimicry.processor.handleGossipExecutionPayloadBid( + context.Background(), + createTestClientMeta(), + &TraceEvent{Type: TraceEvent_HANDLE_MESSAGE, PeerID: peerID, Timestamp: time.Now()}, + payload, + ) + assert.NoError(t, err) + }) + + t.Run("payload_attestation_message", func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockSink := mock.NewMockSink(ctrl) + mimicry := createTestMimicryWithWallclock(t, &Config{ + Events: EventConfig{GossipSubPayloadAttestationMessageEnabled: true}, + }, mockSink) + + mockSink.EXPECT(). + HandleNewDecoratedEvent(gomock.Any(), gomock.Any()). + DoAndReturn(func(_ context.Context, event *xatu.DecoratedEvent) error { + assert.Equal(t, xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE, event.GetEvent().GetName()) + data := event.GetLibp2PTraceGossipsubPayloadAttestationMessage() + require.NotNil(t, data) + assert.Equal(t, uint64(789), data.GetSlot().GetValue()) + assert.Equal(t, uint64(42), data.GetValidatorIndex().GetValue()) + assert.True(t, data.GetPayloadPresent().GetValue()) + assert.False(t, data.GetBlobDataAvailable().GetValue()) + + return nil + }). + Times(1) + + payload := &TraceEventPayloadAttestationMessage{ + TraceEventPayloadMetaData: TraceEventPayloadMetaData{ + Topic: "/eth2/test/payload_attestation_message/ssz_snappy", + MsgID: uuid.New().String(), + PeerID: peerID.String(), + }, + PayloadAttestationMessage: ðtypes.PayloadAttestationMessage{ + ValidatorIndex: primitives.ValidatorIndex(42), + Data: ðtypes.PayloadAttestationData{ + Slot: primitives.Slot(789), + BeaconBlockRoot: make([]byte, 32), + PayloadPresent: true, + BlobDataAvailable: false, + }, + }, + } + + err = mimicry.processor.handleGossipPayloadAttestationMessage( + context.Background(), + createTestClientMeta(), + &TraceEvent{Type: TraceEvent_HANDLE_MESSAGE, PeerID: peerID, Timestamp: time.Now()}, + payload, + ) + assert.NoError(t, err) + }) + + t.Run("proposer_preferences", func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockSink := mock.NewMockSink(ctrl) + mimicry := createTestMimicryWithWallclock(t, &Config{ + Events: EventConfig{GossipSubProposerPreferencesEnabled: true}, + }, mockSink) + + mockSink.EXPECT(). + HandleNewDecoratedEvent(gomock.Any(), gomock.Any()). + DoAndReturn(func(_ context.Context, event *xatu.DecoratedEvent) error { + assert.Equal(t, xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES, event.GetEvent().GetName()) + data := event.GetLibp2PTraceGossipsubProposerPreferences() + require.NotNil(t, data) + assert.Equal(t, uint64(321), data.GetSlot().GetValue()) + assert.Equal(t, uint64(99), data.GetValidatorIndex().GetValue()) + assert.Equal(t, uint64(45_000_000), data.GetGasLimit().GetValue()) + + return nil + }). + Times(1) + + payload := &TraceEventProposerPreferences{ + TraceEventPayloadMetaData: TraceEventPayloadMetaData{ + Topic: "/eth2/test/proposer_preferences/ssz_snappy", + MsgID: uuid.New().String(), + PeerID: peerID.String(), + }, + ProposerPreferences: ðtypes.SignedProposerPreferences{ + Message: ðtypes.ProposerPreferences{ + ProposalSlot: primitives.Slot(321), + ValidatorIndex: primitives.ValidatorIndex(99), + FeeRecipient: make([]byte, 20), + GasLimit: 45_000_000, + }, + }, + } + + err = mimicry.processor.handleGossipProposerPreferences( + context.Background(), + createTestClientMeta(), + &TraceEvent{Type: TraceEvent_HANDLE_MESSAGE, PeerID: peerID, Timestamp: time.Now()}, + payload, + ) + assert.NoError(t, err) + }) +} diff --git a/pkg/clmimicry/gossipsub_execution_payload_bid.go b/pkg/clmimicry/gossipsub_execution_payload_bid.go new file mode 100644 index 00000000..95246045 --- /dev/null +++ b/pkg/clmimicry/gossipsub_execution_payload_bid.go @@ -0,0 +1,118 @@ +package clmimicry + +import ( + "context" + "fmt" + "time" + + "github.com/google/uuid" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" + + "github.com/ethpandaops/xatu/pkg/proto/libp2p" + "github.com/ethpandaops/xatu/pkg/proto/libp2p/gossipsub" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func (p *Processor) handleGossipExecutionPayloadBid( + ctx context.Context, + clientMeta *xatu.ClientMeta, + event *TraceEvent, + payload *TraceEventExecutionPayloadBid, +) error { + if payload.ExecutionPayloadBid == nil { + return fmt.Errorf("handleGossipExecutionPayloadBid() called with nil bid") + } + + bid := payload.ExecutionPayloadBid.GetMessage() + if bid == nil { + return fmt.Errorf("handleGossipExecutionPayloadBid() called with nil bid message") + } + + data := &gossipsub.ExecutionPayloadBid{ + Slot: wrapperspb.UInt64(uint64(bid.GetSlot())), + BuilderIndex: wrapperspb.UInt64(uint64(bid.GetBuilderIndex())), + BlockHash: wrapperspb.String(fmt.Sprintf("0x%x", bid.GetBlockHash())), + ParentBlockHash: wrapperspb.String(fmt.Sprintf("0x%x", bid.GetParentBlockHash())), + Value: wrapperspb.UInt64(uint64(bid.GetValue())), + ExecutionPayment: wrapperspb.UInt64(uint64(bid.GetExecutionPayment())), + FeeRecipient: wrapperspb.String(fmt.Sprintf("0x%x", bid.GetFeeRecipient())), + GasLimit: wrapperspb.UInt64(bid.GetGasLimit()), + BlobKzgCommitmentCount: wrapperspb.UInt32(uint32(len(bid.GetBlobKzgCommitments()))), //nolint:gosec // bounded by MAX_BLOB_COMMITMENTS_PER_BLOCK + } + + metadata, ok := proto.Clone(clientMeta).(*xatu.ClientMeta) + if !ok { + return fmt.Errorf("failed to clone client metadata") + } + + additionalData, err := p.createAdditionalGossipSubExecutionPayloadBidData(payload, event.Timestamp) + if err != nil { + return fmt.Errorf("failed to create additional data: %w", err) + } + + metadata.AdditionalData = &xatu.ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid{ + Libp2PTraceGossipsubExecutionPayloadBid: additionalData, + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID, + DateTime: timestamppb.New(event.Timestamp.Add(p.clockDrift)), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid{ + Libp2PTraceGossipsubExecutionPayloadBid: data, + }, + } + + return p.output.HandleDecoratedEvent(ctx, decoratedEvent) +} + +//nolint:gosec // int -> uint32 common conversion pattern in xatu. +func (p *Processor) createAdditionalGossipSubExecutionPayloadBidData( + payload *TraceEventExecutionPayloadBid, + timestamp time.Time, +) (*xatu.ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData, error) { + wallclockSlot, wallclockEpoch, err := p.wallclock.FromTime(timestamp) + if err != nil { + return nil, fmt.Errorf("failed to get wallclock time: %w", err) + } + + slotNumber := uint64(payload.ExecutionPayloadBid.GetMessage().GetSlot()) + slot := p.wallclock.Slots().FromNumber(slotNumber) + epoch := p.wallclock.Epochs().FromSlot(slotNumber) + timestampAdjusted := timestamp.Add(p.clockDrift) + + return &xatu.ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData{ + WallclockSlot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(wallclockSlot.Number()), + StartDateTime: timestamppb.New(wallclockSlot.TimeWindow().Start()), + }, + WallclockEpoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(wallclockEpoch.Number()), + StartDateTime: timestamppb.New(wallclockEpoch.TimeWindow().Start()), + }, + Epoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(epoch.Number()), + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + }, + Slot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(slotNumber), + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + }, + Propagation: &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + Value: uint64(timestampAdjusted.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + }, + Metadata: &libp2p.TraceEventMetadata{PeerId: wrapperspb.String(payload.PeerID)}, + Topic: wrapperspb.String(payload.Topic), + MessageSize: wrapperspb.UInt32(uint32(payload.MsgSize)), + MessageId: wrapperspb.String(payload.MsgID), + }, nil +} diff --git a/pkg/clmimicry/gossipsub_execution_payload_envelope.go b/pkg/clmimicry/gossipsub_execution_payload_envelope.go new file mode 100644 index 00000000..942ebaa1 --- /dev/null +++ b/pkg/clmimicry/gossipsub_execution_payload_envelope.go @@ -0,0 +1,116 @@ +package clmimicry + +import ( + "context" + "fmt" + "time" + + "github.com/google/uuid" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" + + "github.com/ethpandaops/xatu/pkg/proto/libp2p" + "github.com/ethpandaops/xatu/pkg/proto/libp2p/gossipsub" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func (p *Processor) handleGossipExecutionPayloadEnvelope( + ctx context.Context, + clientMeta *xatu.ClientMeta, + event *TraceEvent, + payload *TraceEventExecutionPayloadEnvelope, +) error { + if payload.ExecutionPayloadEnvelope == nil { + return fmt.Errorf("handleGossipExecutionPayloadEnvelope() called with nil envelope") + } + + envelope := payload.ExecutionPayloadEnvelope.GetMessage() + if envelope == nil { + return fmt.Errorf("handleGossipExecutionPayloadEnvelope() called with nil envelope message") + } + + executionPayload := envelope.GetPayload() + + data := &gossipsub.ExecutionPayloadEnvelope{ + Slot: wrapperspb.UInt64(uint64(executionPayload.GetSlotNumber())), + BuilderIndex: wrapperspb.UInt64(uint64(envelope.GetBuilderIndex())), + BeaconBlockRoot: wrapperspb.String(fmt.Sprintf("0x%x", envelope.GetBeaconBlockRoot())), + BlockHash: wrapperspb.String(fmt.Sprintf("0x%x", executionPayload.GetBlockHash())), + StateRoot: wrapperspb.String(fmt.Sprintf("0x%x", executionPayload.GetStateRoot())), + } + + metadata, ok := proto.Clone(clientMeta).(*xatu.ClientMeta) + if !ok { + return fmt.Errorf("failed to clone client metadata") + } + + additionalData, err := p.createAdditionalGossipSubExecutionPayloadEnvelopeData(payload, event.Timestamp) + if err != nil { + return fmt.Errorf("failed to create additional data: %w", err) + } + + metadata.AdditionalData = &xatu.ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope{ + Libp2PTraceGossipsubExecutionPayloadEnvelope: additionalData, + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE, + DateTime: timestamppb.New(event.Timestamp.Add(p.clockDrift)), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope{ + Libp2PTraceGossipsubExecutionPayloadEnvelope: data, + }, + } + + return p.output.HandleDecoratedEvent(ctx, decoratedEvent) +} + +//nolint:gosec // int -> uint32 common conversion pattern in xatu. +func (p *Processor) createAdditionalGossipSubExecutionPayloadEnvelopeData( + payload *TraceEventExecutionPayloadEnvelope, + timestamp time.Time, +) (*xatu.ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData, error) { + wallclockSlot, wallclockEpoch, err := p.wallclock.FromTime(timestamp) + if err != nil { + return nil, fmt.Errorf("failed to get wallclock time: %w", err) + } + + slotNumber := uint64(payload.ExecutionPayloadEnvelope.GetMessage().GetPayload().GetSlotNumber()) + slot := p.wallclock.Slots().FromNumber(slotNumber) + epoch := p.wallclock.Epochs().FromSlot(slotNumber) + timestampAdjusted := timestamp.Add(p.clockDrift) + + return &xatu.ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData{ + WallclockSlot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(wallclockSlot.Number()), + StartDateTime: timestamppb.New(wallclockSlot.TimeWindow().Start()), + }, + WallclockEpoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(wallclockEpoch.Number()), + StartDateTime: timestamppb.New(wallclockEpoch.TimeWindow().Start()), + }, + Epoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(epoch.Number()), + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + }, + Slot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(slotNumber), + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + }, + Propagation: &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + Value: uint64(timestampAdjusted.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + }, + Metadata: &libp2p.TraceEventMetadata{PeerId: wrapperspb.String(payload.PeerID)}, + Topic: wrapperspb.String(payload.Topic), + MessageSize: wrapperspb.UInt32(uint32(payload.MsgSize)), + MessageId: wrapperspb.String(payload.MsgID), + }, nil +} diff --git a/pkg/clmimicry/gossipsub_payload_attestation_message.go b/pkg/clmimicry/gossipsub_payload_attestation_message.go new file mode 100644 index 00000000..8709f93d --- /dev/null +++ b/pkg/clmimicry/gossipsub_payload_attestation_message.go @@ -0,0 +1,116 @@ +package clmimicry + +import ( + "context" + "fmt" + "time" + + "github.com/google/uuid" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" + + "github.com/ethpandaops/xatu/pkg/proto/libp2p" + "github.com/ethpandaops/xatu/pkg/proto/libp2p/gossipsub" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func (p *Processor) handleGossipPayloadAttestationMessage( + ctx context.Context, + clientMeta *xatu.ClientMeta, + event *TraceEvent, + payload *TraceEventPayloadAttestationMessage, +) error { + if payload.PayloadAttestationMessage == nil { + return fmt.Errorf("handleGossipPayloadAttestationMessage() called with nil message") + } + + msg := payload.PayloadAttestationMessage + attestationData := msg.GetData() + + if attestationData == nil { + return fmt.Errorf("handleGossipPayloadAttestationMessage() called with nil attestation data") + } + + data := &gossipsub.PayloadAttestationMessage{ + Slot: wrapperspb.UInt64(uint64(attestationData.GetSlot())), + ValidatorIndex: wrapperspb.UInt64(uint64(msg.GetValidatorIndex())), + BeaconBlockRoot: wrapperspb.String(fmt.Sprintf("0x%x", attestationData.GetBeaconBlockRoot())), + PayloadPresent: wrapperspb.Bool(attestationData.GetPayloadPresent()), + BlobDataAvailable: wrapperspb.Bool(attestationData.GetBlobDataAvailable()), + } + + metadata, ok := proto.Clone(clientMeta).(*xatu.ClientMeta) + if !ok { + return fmt.Errorf("failed to clone client metadata") + } + + additionalData, err := p.createAdditionalGossipSubPayloadAttestationMessageData(payload, event.Timestamp) + if err != nil { + return fmt.Errorf("failed to create additional data: %w", err) + } + + metadata.AdditionalData = &xatu.ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage{ + Libp2PTraceGossipsubPayloadAttestationMessage: additionalData, + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE, + DateTime: timestamppb.New(event.Timestamp.Add(p.clockDrift)), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage{ + Libp2PTraceGossipsubPayloadAttestationMessage: data, + }, + } + + return p.output.HandleDecoratedEvent(ctx, decoratedEvent) +} + +//nolint:gosec // int -> uint32 common conversion pattern in xatu. +func (p *Processor) createAdditionalGossipSubPayloadAttestationMessageData( + payload *TraceEventPayloadAttestationMessage, + timestamp time.Time, +) (*xatu.ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData, error) { + wallclockSlot, wallclockEpoch, err := p.wallclock.FromTime(timestamp) + if err != nil { + return nil, fmt.Errorf("failed to get wallclock time: %w", err) + } + + slotNumber := uint64(payload.PayloadAttestationMessage.GetData().GetSlot()) + slot := p.wallclock.Slots().FromNumber(slotNumber) + epoch := p.wallclock.Epochs().FromSlot(slotNumber) + timestampAdjusted := timestamp.Add(p.clockDrift) + + return &xatu.ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData{ + WallclockSlot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(wallclockSlot.Number()), + StartDateTime: timestamppb.New(wallclockSlot.TimeWindow().Start()), + }, + WallclockEpoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(wallclockEpoch.Number()), + StartDateTime: timestamppb.New(wallclockEpoch.TimeWindow().Start()), + }, + Epoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(epoch.Number()), + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + }, + Slot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(slotNumber), + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + }, + Propagation: &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + Value: uint64(timestampAdjusted.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + }, + Metadata: &libp2p.TraceEventMetadata{PeerId: wrapperspb.String(payload.PeerID)}, + Topic: wrapperspb.String(payload.Topic), + MessageSize: wrapperspb.UInt32(uint32(payload.MsgSize)), + MessageId: wrapperspb.String(payload.MsgID), + }, nil +} diff --git a/pkg/clmimicry/gossipsub_proposer_preferences.go b/pkg/clmimicry/gossipsub_proposer_preferences.go new file mode 100644 index 00000000..b71a2a9a --- /dev/null +++ b/pkg/clmimicry/gossipsub_proposer_preferences.go @@ -0,0 +1,113 @@ +package clmimicry + +import ( + "context" + "fmt" + "time" + + "github.com/google/uuid" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" + + "github.com/ethpandaops/xatu/pkg/proto/libp2p" + "github.com/ethpandaops/xatu/pkg/proto/libp2p/gossipsub" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +func (p *Processor) handleGossipProposerPreferences( + ctx context.Context, + clientMeta *xatu.ClientMeta, + event *TraceEvent, + payload *TraceEventProposerPreferences, +) error { + if payload.ProposerPreferences == nil { + return fmt.Errorf("handleGossipProposerPreferences() called with nil preferences") + } + + prefs := payload.ProposerPreferences.GetMessage() + if prefs == nil { + return fmt.Errorf("handleGossipProposerPreferences() called with nil preferences message") + } + + data := &gossipsub.ProposerPreferences{ + Slot: wrapperspb.UInt64(uint64(prefs.GetProposalSlot())), + ValidatorIndex: wrapperspb.UInt64(uint64(prefs.GetValidatorIndex())), + FeeRecipient: wrapperspb.String(fmt.Sprintf("0x%x", prefs.GetFeeRecipient())), + GasLimit: wrapperspb.UInt64(prefs.GetGasLimit()), + } + + metadata, ok := proto.Clone(clientMeta).(*xatu.ClientMeta) + if !ok { + return fmt.Errorf("failed to clone client metadata") + } + + additionalData, err := p.createAdditionalGossipSubProposerPreferencesData(payload, event.Timestamp) + if err != nil { + return fmt.Errorf("failed to create additional data: %w", err) + } + + metadata.AdditionalData = &xatu.ClientMeta_Libp2PTraceGossipsubProposerPreferences{ + Libp2PTraceGossipsubProposerPreferences: additionalData, + } + + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES, + DateTime: timestamppb.New(event.Timestamp.Add(p.clockDrift)), + Id: uuid.New().String(), + }, + Meta: &xatu.Meta{ + Client: metadata, + }, + Data: &xatu.DecoratedEvent_Libp2PTraceGossipsubProposerPreferences{ + Libp2PTraceGossipsubProposerPreferences: data, + }, + } + + return p.output.HandleDecoratedEvent(ctx, decoratedEvent) +} + +//nolint:gosec // int -> uint32 common conversion pattern in xatu. +func (p *Processor) createAdditionalGossipSubProposerPreferencesData( + payload *TraceEventProposerPreferences, + timestamp time.Time, +) (*xatu.ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData, error) { + wallclockSlot, wallclockEpoch, err := p.wallclock.FromTime(timestamp) + if err != nil { + return nil, fmt.Errorf("failed to get wallclock time: %w", err) + } + + slotNumber := uint64(payload.ProposerPreferences.GetMessage().GetProposalSlot()) + slot := p.wallclock.Slots().FromNumber(slotNumber) + epoch := p.wallclock.Epochs().FromSlot(slotNumber) + timestampAdjusted := timestamp.Add(p.clockDrift) + + return &xatu.ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData{ + WallclockSlot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(wallclockSlot.Number()), + StartDateTime: timestamppb.New(wallclockSlot.TimeWindow().Start()), + }, + WallclockEpoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(wallclockEpoch.Number()), + StartDateTime: timestamppb.New(wallclockEpoch.TimeWindow().Start()), + }, + Epoch: &xatu.EpochV2{ + Number: wrapperspb.UInt64(epoch.Number()), + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + }, + Slot: &xatu.SlotV2{ + Number: wrapperspb.UInt64(slotNumber), + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + }, + Propagation: &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + Value: uint64(timestampAdjusted.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + }, + Metadata: &libp2p.TraceEventMetadata{PeerId: wrapperspb.String(payload.PeerID)}, + Topic: wrapperspb.String(payload.Topic), + MessageSize: wrapperspb.UInt32(uint32(payload.MsgSize)), + MessageId: wrapperspb.String(payload.MsgID), + }, nil +} diff --git a/pkg/clmimicry/hermes_event_payload.go b/pkg/clmimicry/hermes_event_payload.go index c377789f..dd4ba165 100644 --- a/pkg/clmimicry/hermes_event_payload.go +++ b/pkg/clmimicry/hermes_event_payload.go @@ -133,6 +133,30 @@ type TraceEventDataColumnSidecar struct { DataColumnSidecar *ethtypes.DataColumnSidecar } +// TraceEventExecutionPayloadEnvelope represents a Gloas execution_payload gossip event (EIP-7732). +type TraceEventExecutionPayloadEnvelope struct { + TraceEventPayloadMetaData + ExecutionPayloadEnvelope *ethtypes.SignedExecutionPayloadEnvelope +} + +// TraceEventExecutionPayloadBid represents a Gloas execution_payload_bid gossip event (EIP-7732). +type TraceEventExecutionPayloadBid struct { + TraceEventPayloadMetaData + ExecutionPayloadBid *ethtypes.SignedExecutionPayloadBid +} + +// TraceEventPayloadAttestationMessage represents a Gloas payload_attestation_message gossip event (EIP-7732). +type TraceEventPayloadAttestationMessage struct { + TraceEventPayloadMetaData + PayloadAttestationMessage *ethtypes.PayloadAttestationMessage +} + +// TraceEventProposerPreferences represents a Gloas proposer_preferences gossip event (EIP-7732). +type TraceEventProposerPreferences struct { + TraceEventPayloadMetaData + ProposerPreferences *ethtypes.SignedProposerPreferences +} + // TraceEventCustodyProbe represents a data column custody probe event. // //nolint:tagliatelle // JSON tags match Hermes format for compatibility @@ -218,3 +242,91 @@ type TraceEventConsensusEngineAPIGetBlobs struct { // Parsed into components when converting to protobuf. ExecutionClientVersion string `json:"execution_client_version"` } + +// TraceEventBeaconSyntheticPayloadStatusResolved represents a fork-choice +// payload status transition observed from beacon node internals (TYSM-instrumented). +// EIP-7732 ePBS. +// +// PTC vote counts follow the three-state model introduced by consensus-specs +// PR #5180 (Optional[boolean]): a validator may vote positive, vote negative, +// or not vote at all. *_VotesPositive is always populated (the existing PTC +// quorum metric); *_VotesNegative and *_VotesAbsent are *uint64 — nil when +// the emitting CL doesn't surface the three-state breakdown. The relation +// positive + negative + absent == ptc_size holds when all three are non-nil. +// +//nolint:tagliatelle // JSON tags match expected format for compatibility +type TraceEventBeaconSyntheticPayloadStatusResolved struct { + TraceEventPayloadMetaData + + ResolvedAt time.Time `json:"resolved_at"` + + Slot uint64 `json:"slot"` + BlockRoot string `json:"block_root"` + BlockHash string `json:"block_hash"` + + // Status / PreviousStatus follow eth.v1.PayloadStatus enum semantics: + // 0=PENDING, 1=FULL, 2=EMPTY, 3=INVALID. + Status uint32 `json:"status"` + PreviousStatus uint32 `json:"previous_status"` + + PayloadTimelinessVotesPositive uint64 `json:"payload_timeliness_votes_positive"` + PayloadTimelinessVotesNegative *uint64 `json:"payload_timeliness_votes_negative,omitempty"` + PayloadTimelinessVotesAbsent *uint64 `json:"payload_timeliness_votes_absent,omitempty"` + + DataAvailableVotesPositive uint64 `json:"data_available_votes_positive"` + DataAvailableVotesNegative *uint64 `json:"data_available_votes_negative,omitempty"` + DataAvailableVotesAbsent *uint64 `json:"data_available_votes_absent,omitempty"` + + PTCSize uint64 `json:"ptc_size"` +} + +// TraceEventBeaconSyntheticPayloadAttestationProcessed represents a PTC vote +// that has cleared every gossip-validation check (signature, validator-in-PTC, +// block-root seen/valid, slot-current, first-from-this-validator dedup) and +// been committed for downstream pipeline use. Observed from beacon-node +// internals (TYSM-instrumented). EIP-7732 ePBS. +// +//nolint:tagliatelle // JSON tags match expected format for compatibility +type TraceEventBeaconSyntheticPayloadAttestationProcessed struct { + TraceEventPayloadMetaData + + ReceivedAt time.Time `json:"received_at"` + ProcessedAt time.Time `json:"processed_at"` + + Slot uint64 `json:"slot"` + BeaconBlockRoot string `json:"beacon_block_root"` + ValidatorIndex uint64 `json:"validator_index"` + PayloadPresent bool `json:"payload_present"` + BlobDataAvailable bool `json:"blob_data_available"` + + // PeerID we received this PTC vote from on the gossip wire. + PeerID string `json:"peer_id"` + + // ProcessingDurationMs is the time from gossip receipt to processing + // completion in milliseconds. + ProcessingDurationMs uint64 `json:"processing_duration_ms"` +} + +// TraceEventBeaconSyntheticBuilderPendingPaymentSettlement represents an +// epoch-boundary builder pending payment settle/drop decision observed from +// beacon node internals (TYSM-instrumented). EIP-7732 ePBS. +// +//nolint:tagliatelle // JSON tags match expected format for compatibility +type TraceEventBeaconSyntheticBuilderPendingPaymentSettlement struct { + TraceEventPayloadMetaData + + ResolvedAt time.Time `json:"resolved_at"` + + Epoch uint64 `json:"epoch"` + BuilderIndex uint64 `json:"builder_index"` + FeeRecipient string `json:"fee_recipient"` + + // Amount, Weight, Quorum are Gwei. + Amount uint64 `json:"amount"` + Weight uint64 `json:"weight"` + Quorum uint64 `json:"quorum"` + + // Outcome follows eth.v1.BuilderPendingPaymentOutcome enum semantics: + // 0=SETTLED, 1=DROPPED. + Outcome uint32 `json:"outcome"` +} diff --git a/pkg/clmimicry/payload_builders.go b/pkg/clmimicry/payload_builders.go index 7d182573..84910de8 100644 --- a/pkg/clmimicry/payload_builders.go +++ b/pkg/clmimicry/payload_builders.go @@ -127,6 +127,40 @@ func NewDataColumnSidecarPayload(dataColumn *ethtypes.DataColumnSidecar, meta *T } } +// ePBS (EIP-7732) payload builders + +// NewExecutionPayloadEnvelopePayload creates a Gloas execution_payload (envelope) gossip payload. +func NewExecutionPayloadEnvelopePayload(envelope *ethtypes.SignedExecutionPayloadEnvelope, meta *TraceEventPayloadMetaData) *TraceEventExecutionPayloadEnvelope { + return &TraceEventExecutionPayloadEnvelope{ + TraceEventPayloadMetaData: *meta, + ExecutionPayloadEnvelope: envelope, + } +} + +// NewExecutionPayloadBidPayload creates a Gloas execution_payload_bid gossip payload. +func NewExecutionPayloadBidPayload(bid *ethtypes.SignedExecutionPayloadBid, meta *TraceEventPayloadMetaData) *TraceEventExecutionPayloadBid { + return &TraceEventExecutionPayloadBid{ + TraceEventPayloadMetaData: *meta, + ExecutionPayloadBid: bid, + } +} + +// NewPayloadAttestationMessagePayload creates a Gloas payload_attestation_message gossip payload. +func NewPayloadAttestationMessagePayload(msg *ethtypes.PayloadAttestationMessage, meta *TraceEventPayloadMetaData) *TraceEventPayloadAttestationMessage { + return &TraceEventPayloadAttestationMessage{ + TraceEventPayloadMetaData: *meta, + PayloadAttestationMessage: msg, + } +} + +// NewProposerPreferencesPayload creates a Gloas proposer_preferences gossip payload. +func NewProposerPreferencesPayload(prefs *ethtypes.SignedProposerPreferences, meta *TraceEventPayloadMetaData) *TraceEventProposerPreferences { + return &TraceEventProposerPreferences{ + TraceEventPayloadMetaData: *meta, + ProposerPreferences: prefs, + } +} + // Custody probe payload builder // NewCustodyProbePayload creates a custody probe payload. @@ -220,3 +254,87 @@ func NewConsensusEngineAPIGetBlobsPayload( ExecutionClientVersion: executionClientVersion, } } + +// Beacon synthetic payload builders (EIP-7732 ePBS, TYSM-instrumented) + +// NewBeaconSyntheticPayloadStatusResolvedPayload creates a payload-status-resolved event. +// +// The PTC three-state vote breakdown (positive/negative/absent) follows +// consensus-specs PR #5180. Positive counts are always known; negative and +// absent counts are nil when the emitting CL hasn't surfaced the +// Optional[boolean] tracking yet. +func NewBeaconSyntheticPayloadStatusResolvedPayload( + resolvedAt time.Time, + slot uint64, + blockRoot, blockHash string, + status, previousStatus uint32, + payloadTimelinessVotesPositive uint64, + payloadTimelinessVotesNegative, payloadTimelinessVotesAbsent *uint64, + dataAvailableVotesPositive uint64, + dataAvailableVotesNegative, dataAvailableVotesAbsent *uint64, + ptcSize uint64, +) *TraceEventBeaconSyntheticPayloadStatusResolved { + return &TraceEventBeaconSyntheticPayloadStatusResolved{ + ResolvedAt: resolvedAt, + Slot: slot, + BlockRoot: blockRoot, + BlockHash: blockHash, + Status: status, + PreviousStatus: previousStatus, + PayloadTimelinessVotesPositive: payloadTimelinessVotesPositive, + PayloadTimelinessVotesNegative: payloadTimelinessVotesNegative, + PayloadTimelinessVotesAbsent: payloadTimelinessVotesAbsent, + DataAvailableVotesPositive: dataAvailableVotesPositive, + DataAvailableVotesNegative: dataAvailableVotesNegative, + DataAvailableVotesAbsent: dataAvailableVotesAbsent, + PTCSize: ptcSize, + } +} + +// NewBeaconSyntheticPayloadAttestationProcessedPayload creates a +// payload-attestation-processed event. Fires after a PTC vote has cleared +// full gossip validation (signature, validator-in-PTC, block-root seen/valid, +// slot-current, first-from-this-validator dedup) and been committed for +// downstream pipeline use. +func NewBeaconSyntheticPayloadAttestationProcessedPayload( + receivedAt, processedAt time.Time, + slot uint64, + beaconBlockRoot string, + validatorIndex uint64, + payloadPresent, blobDataAvailable bool, + peerID string, + processingDurationMs uint64, +) *TraceEventBeaconSyntheticPayloadAttestationProcessed { + return &TraceEventBeaconSyntheticPayloadAttestationProcessed{ + ReceivedAt: receivedAt, + ProcessedAt: processedAt, + Slot: slot, + BeaconBlockRoot: beaconBlockRoot, + ValidatorIndex: validatorIndex, + PayloadPresent: payloadPresent, + BlobDataAvailable: blobDataAvailable, + PeerID: peerID, + ProcessingDurationMs: processingDurationMs, + } +} + +// NewBeaconSyntheticBuilderPendingPaymentSettlementPayload creates a builder-pending-payment-settlement event. +func NewBeaconSyntheticBuilderPendingPaymentSettlementPayload( + resolvedAt time.Time, + epoch uint64, + builderIndex uint64, + feeRecipient string, + amount, weight, quorum uint64, + outcome uint32, +) *TraceEventBeaconSyntheticBuilderPendingPaymentSettlement { + return &TraceEventBeaconSyntheticBuilderPendingPaymentSettlement{ + ResolvedAt: resolvedAt, + Epoch: epoch, + BuilderIndex: builderIndex, + FeeRecipient: feeRecipient, + Amount: amount, + Weight: weight, + Quorum: quorum, + Outcome: outcome, + } +} diff --git a/pkg/clmimicry/trace_convert.go b/pkg/clmimicry/trace_convert.go index f32ef9d8..dfc15edd 100644 --- a/pkg/clmimicry/trace_convert.go +++ b/pkg/clmimicry/trace_convert.go @@ -13,6 +13,7 @@ import ( "google.golang.org/protobuf/types/known/timestamppb" "google.golang.org/protobuf/types/known/wrapperspb" + ethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" "github.com/ethpandaops/xatu/pkg/proto/libp2p" "github.com/ethpandaops/xatu/pkg/proto/xatu" ) @@ -996,3 +997,92 @@ func ExtractExecutionClientMetadataFromGetBlobs(event *TraceEvent) (*xatu.Client VersionPatch: vPatch, }, nil } + +// TraceEventToBeaconSyntheticPayloadStatusResolved converts a TraceEvent to a +// PayloadStatusResolved protobuf message. EIP-7732 ePBS. +func TraceEventToBeaconSyntheticPayloadStatusResolved(event *TraceEvent) (*ethv1.PayloadStatusResolved, error) { + typed, ok := event.Payload.(*TraceEventBeaconSyntheticPayloadStatusResolved) + if !ok { + return nil, fmt.Errorf( + "invalid payload type for BeaconSyntheticPayloadStatusResolved: expected *TraceEventBeaconSyntheticPayloadStatusResolved, got %T", + event.Payload, + ) + } + + return ðv1.PayloadStatusResolved{ + Slot: wrapperspb.UInt64(typed.Slot), + BlockRoot: typed.BlockRoot, + BlockHash: typed.BlockHash, + //nolint:gosec // enum value bounded to small range (PENDING/FULL/EMPTY/INVALID). + Status: ethv1.PayloadStatus(int32(typed.Status)), + //nolint:gosec // enum value bounded to small range (PENDING/FULL/EMPTY/INVALID). + PreviousStatus: ethv1.PayloadStatus(int32(typed.PreviousStatus)), + PayloadTimelinessVotesPositive: wrapperspb.UInt64(typed.PayloadTimelinessVotesPositive), + PayloadTimelinessVotesNegative: optionalUInt64(typed.PayloadTimelinessVotesNegative), + PayloadTimelinessVotesAbsent: optionalUInt64(typed.PayloadTimelinessVotesAbsent), + DataAvailableVotesPositive: wrapperspb.UInt64(typed.DataAvailableVotesPositive), + DataAvailableVotesNegative: optionalUInt64(typed.DataAvailableVotesNegative), + DataAvailableVotesAbsent: optionalUInt64(typed.DataAvailableVotesAbsent), + PtcSize: wrapperspb.UInt64(typed.PTCSize), + ResolvedAt: timestamppb.New(typed.ResolvedAt), + }, nil +} + +// optionalUInt64 converts a *uint64 to a *wrapperspb.UInt64Value. Returns +// nil when the source is nil, preserving the three-state semantic from +// consensus-specs PR #5180 (Optional[boolean] PTC votes). +func optionalUInt64(v *uint64) *wrapperspb.UInt64Value { + if v == nil { + return nil + } + + return wrapperspb.UInt64(*v) +} + +// TraceEventToBeaconSyntheticBuilderPendingPaymentSettlement converts a TraceEvent +// to a BuilderPendingPaymentSettlement protobuf message. EIP-7732 ePBS. +func TraceEventToBeaconSyntheticBuilderPendingPaymentSettlement(event *TraceEvent) (*ethv1.BuilderPendingPaymentSettlement, error) { + typed, ok := event.Payload.(*TraceEventBeaconSyntheticBuilderPendingPaymentSettlement) + if !ok { + return nil, fmt.Errorf( + "invalid payload type for BeaconSyntheticBuilderPendingPaymentSettlement: expected *TraceEventBeaconSyntheticBuilderPendingPaymentSettlement, got %T", + event.Payload, + ) + } + + return ðv1.BuilderPendingPaymentSettlement{ + Epoch: wrapperspb.UInt64(typed.Epoch), + BuilderIndex: wrapperspb.UInt64(typed.BuilderIndex), + FeeRecipient: typed.FeeRecipient, + Amount: wrapperspb.UInt64(typed.Amount), + Weight: wrapperspb.UInt64(typed.Weight), + Quorum: wrapperspb.UInt64(typed.Quorum), + //nolint:gosec // enum value bounded to small range (SETTLED/DROPPED). + Outcome: ethv1.BuilderPendingPaymentOutcome(int32(typed.Outcome)), + ResolvedAt: timestamppb.New(typed.ResolvedAt), + }, nil +} + +// TraceEventToBeaconSyntheticPayloadAttestationProcessed converts a TraceEvent +// to a PayloadAttestationProcessed protobuf message. EIP-7732 ePBS. +func TraceEventToBeaconSyntheticPayloadAttestationProcessed(event *TraceEvent) (*ethv1.PayloadAttestationProcessed, error) { + typed, ok := event.Payload.(*TraceEventBeaconSyntheticPayloadAttestationProcessed) + if !ok { + return nil, fmt.Errorf( + "invalid payload type for BeaconSyntheticPayloadAttestationProcessed: expected *TraceEventBeaconSyntheticPayloadAttestationProcessed, got %T", + event.Payload, + ) + } + + return ðv1.PayloadAttestationProcessed{ + Slot: wrapperspb.UInt64(typed.Slot), + BeaconBlockRoot: typed.BeaconBlockRoot, + ValidatorIndex: wrapperspb.UInt64(typed.ValidatorIndex), + PayloadPresent: typed.PayloadPresent, + BlobDataAvailable: typed.BlobDataAvailable, + PeerId: typed.PeerID, + ProcessingDurationMs: wrapperspb.UInt64(typed.ProcessingDurationMs), + ReceivedAt: timestamppb.New(typed.ReceivedAt), + ProcessedAt: timestamppb.New(typed.ProcessedAt), + }, nil +} diff --git a/pkg/proto/eth/block.go b/pkg/proto/eth/block.go index d9854dc2..9748ab3f 100644 --- a/pkg/proto/eth/block.go +++ b/pkg/proto/eth/block.go @@ -11,6 +11,7 @@ import ( "github.com/ethpandaops/go-eth2-client/spec/capella" "github.com/ethpandaops/go-eth2-client/spec/deneb" "github.com/ethpandaops/go-eth2-client/spec/electra" + "github.com/ethpandaops/go-eth2-client/spec/gloas" "github.com/ethpandaops/go-eth2-client/spec/phase0" "google.golang.org/protobuf/types/known/wrapperspb" @@ -48,6 +49,8 @@ func NewEventBlockV2FromVersionedProposal(proposal *api.VersionedProposal) (*v2. data = NewEventBlockFromElectra(proposal.Electra.Block, nil) case spec.DataVersionFulu: data = NewEventBlockFromFulu(proposal.Fulu.Block, nil) + case spec.DataVersionGloas: + data = NewEventBlockFromGloas(proposal.Gloas, nil) default: return nil, fmt.Errorf("unsupported block version: %v", proposal.Version) } @@ -73,6 +76,8 @@ func NewEventBlockV2FromVersionSignedBeaconBlock(block *spec.VersionedSignedBeac data = NewEventBlockFromElectra(block.Electra.Message, &block.Electra.Signature) case spec.DataVersionFulu: data = NewEventBlockFromFulu(block.Fulu.Message, &block.Fulu.Signature) + case spec.DataVersionGloas: + data = NewEventBlockFromGloas(block.Gloas.Message, &block.Gloas.Signature) default: return nil, fmt.Errorf("unsupported block version: %v", block.Version) } @@ -403,6 +408,55 @@ func NewEventBlockFromElectra(block *electra.BeaconBlock, signature *phase0.BLSS return event } +// NewEventBlockFromGloas creates an EventBlockV2 from a Gloas (EIP-7732 + EIP-7928) beacon block. +// +// Under EIP-7732 the block body no longer carries an inline ExecutionPayload, +// BlobKZGCommitments or ExecutionRequests: +// - ExecutionPayload → arrives separately in an ExecutionPayloadEnvelope (sourced in cannon). +// - BlobKZGCommitments → carried inside SignedExecutionPayloadBid. +// - ExecutionRequests → moves into ExecutionPayloadEnvelope.ExecutionRequests. +func NewEventBlockFromGloas(block *gloas.BeaconBlock, signature *phase0.BLSSignature) *v2.EventBlockV2 { + event := &v2.EventBlockV2{ + Version: v2.BlockVersion_GLOAS, + Message: &v2.EventBlockV2_GloasBlock{ + GloasBlock: &v2.BeaconBlockGloas{ + Slot: &wrapperspb.UInt64Value{Value: uint64(block.Slot)}, + ProposerIndex: &wrapperspb.UInt64Value{Value: uint64(block.ProposerIndex)}, + ParentRoot: block.ParentRoot.String(), + StateRoot: block.StateRoot.String(), + Body: &v2.BeaconBlockBodyGloas{ + RandaoReveal: block.Body.RANDAOReveal.String(), + Eth1Data: &v1.Eth1Data{ + DepositRoot: block.Body.ETH1Data.DepositRoot.String(), + DepositCount: block.Body.ETH1Data.DepositCount, + BlockHash: fmt.Sprintf("0x%x", block.Body.ETH1Data.BlockHash), + }, + Graffiti: fmt.Sprintf("0x%x", block.Body.Graffiti[:]), + ProposerSlashings: v1.NewProposerSlashingsFromPhase0(block.Body.ProposerSlashings), + AttesterSlashings: v1.NewAttesterSlashingsFromElectra(block.Body.AttesterSlashings), + Attestations: v1.NewAttestationsFromElectra(block.Body.Attestations), + Deposits: v1.NewDepositsFromPhase0(block.Body.Deposits), + VoluntaryExits: v1.NewSignedVoluntaryExitsFromPhase0(block.Body.VoluntaryExits), + SyncAggregate: &v1.SyncAggregate{ + SyncCommitteeBits: fmt.Sprintf("0x%x", block.Body.SyncAggregate.SyncCommitteeBits), + SyncCommitteeSignature: block.Body.SyncAggregate.SyncCommitteeSignature.String(), + }, + BlsToExecutionChanges: v2.NewBLSToExecutionChangesFromCapella(block.Body.BLSToExecutionChanges), + SignedExecutionPayloadBid: v1.NewSignedExecutionPayloadBidFromGloas(block.Body.SignedExecutionPayloadBid), + PayloadAttestations: v1.NewPayloadAttestationsFromGloas(block.Body.PayloadAttestations), + ParentExecutionRequests: v1.NewElectraExecutionRequestsFromElectra(block.Body.ParentExecutionRequests), + }, + }, + }, + } + + if signature != nil && !signature.IsZero() { + event.Signature = signature.String() + } + + return event +} + // Note: Fulu and electra blocks are identical. func NewEventBlockFromFulu(block *electra.BeaconBlock, signature *phase0.BLSSignature) *v2.EventBlockV2 { kzgCommitments := []string{} diff --git a/pkg/proto/eth/block_test.go b/pkg/proto/eth/block_test.go index ed6127be..899ee8aa 100644 --- a/pkg/proto/eth/block_test.go +++ b/pkg/proto/eth/block_test.go @@ -4,6 +4,7 @@ import ( "fmt" "testing" + "github.com/OffchainLabs/go-bitfield" "github.com/ethpandaops/go-eth2-client/api" apiv1deneb "github.com/ethpandaops/go-eth2-client/api/v1/deneb" apiv1electra "github.com/ethpandaops/go-eth2-client/api/v1/electra" @@ -14,6 +15,7 @@ import ( "github.com/ethpandaops/go-eth2-client/spec/capella" "github.com/ethpandaops/go-eth2-client/spec/deneb" "github.com/ethpandaops/go-eth2-client/spec/electra" + "github.com/ethpandaops/go-eth2-client/spec/gloas" "github.com/ethpandaops/go-eth2-client/spec/phase0" "github.com/holiman/uint256" @@ -103,6 +105,15 @@ func TestNewEventBlockV2FromVersionedProposal(t *testing.T) { expectedError: false, expectedVersion: v2.BlockVersion_FULU, }, + { + name: "gloas proposal", + proposal: &api.VersionedProposal{ + Version: spec.DataVersionGloas, + Gloas: mockGloasBlock(), + }, + expectedError: false, + expectedVersion: v2.BlockVersion_GLOAS, + }, } for _, tt := range tests { @@ -423,3 +434,163 @@ func mockFuluBlock() *electra.BeaconBlock { }, } } + +func mockGloasBlock() *gloas.BeaconBlock { + return &gloas.BeaconBlock{ + Slot: phase0.Slot(1), + ProposerIndex: phase0.ValidatorIndex(1), + ParentRoot: [32]byte{}, + StateRoot: [32]byte{}, + Body: &gloas.BeaconBlockBody{ + RANDAOReveal: [96]byte{}, + ETH1Data: &phase0.ETH1Data{ + DepositRoot: [32]byte{}, + DepositCount: 1, + BlockHash: []byte{}, + }, + Graffiti: [32]byte{}, + ProposerSlashings: []*phase0.ProposerSlashing{}, + AttesterSlashings: []*electra.AttesterSlashing{}, + Attestations: []*electra.Attestation{}, + Deposits: []*phase0.Deposit{}, + VoluntaryExits: []*phase0.SignedVoluntaryExit{}, + SyncAggregate: &altair.SyncAggregate{ + SyncCommitteeBits: []byte{}, + }, + BLSToExecutionChanges: []*capella.SignedBLSToExecutionChange{}, + SignedExecutionPayloadBid: &gloas.SignedExecutionPayloadBid{ + Message: &gloas.ExecutionPayloadBid{ + BlobKZGCommitments: []deneb.KZGCommitment{}, + }, + }, + PayloadAttestations: []*gloas.PayloadAttestation{}, + ParentExecutionRequests: &electra.ExecutionRequests{ + Deposits: []*electra.DepositRequest{}, + Withdrawals: []*electra.WithdrawalRequest{}, + Consolidations: []*electra.ConsolidationRequest{}, + }, + }, + } +} + +// TestNewEventBlockFromGloas verifies the EIP-7732 (ePBS) conversion path: +// SignedExecutionPayloadBid populates field 14 with the builder bid, and +// PayloadAttestations populates field 15 with PTC aggregations. Pre-ePBS +// proto fields (10/12/13 — execution_payload, blob_kzg_commitments, +// execution_requests) are absent from BeaconBlockBodyGloas — that's enforced +// at compile time by their `reserved` declaration in the proto. +func TestNewEventBlockFromGloas(t *testing.T) { + bidBlockHash := phase0.Hash32{0xaa, 0xbb} + feeRecipient := bellatrix.ExecutionAddress{0xfe, 0xfe} + commitment := deneb.KZGCommitment{0xc0, 0xc1} + + aggBits := bitfield.NewBitvector512() + aggBits.SetBitAt(7, true) + + block := &gloas.BeaconBlock{ + Slot: phase0.Slot(42), + ProposerIndex: phase0.ValidatorIndex(7), + ParentRoot: phase0.Root{0x01, 0x02}, + StateRoot: phase0.Root{0x03, 0x04}, + Body: &gloas.BeaconBlockBody{ + RANDAOReveal: phase0.BLSSignature{}, + ETH1Data: &phase0.ETH1Data{ + DepositRoot: phase0.Root{}, + DepositCount: 1, + BlockHash: []byte{}, + }, + Graffiti: [32]byte{}, + ProposerSlashings: []*phase0.ProposerSlashing{}, + AttesterSlashings: []*electra.AttesterSlashing{}, + Attestations: []*electra.Attestation{}, + Deposits: []*phase0.Deposit{}, + VoluntaryExits: []*phase0.SignedVoluntaryExit{}, + SyncAggregate: &altair.SyncAggregate{ + SyncCommitteeBits: []byte{}, + }, + BLSToExecutionChanges: []*capella.SignedBLSToExecutionChange{}, + SignedExecutionPayloadBid: &gloas.SignedExecutionPayloadBid{ + Message: &gloas.ExecutionPayloadBid{ + BlockHash: bidBlockHash, + FeeRecipient: feeRecipient, + GasLimit: 30_000_000, + BuilderIndex: gloas.BuilderIndex(99), + Slot: phase0.Slot(42), + Value: phase0.Gwei(1234), + ExecutionPayment: phase0.Gwei(56), + BlobKZGCommitments: []deneb.KZGCommitment{commitment}, + }, + }, + PayloadAttestations: []*gloas.PayloadAttestation{ + { + AggregationBits: aggBits, + Data: &gloas.PayloadAttestationData{ + BeaconBlockRoot: phase0.Root{0x05}, + Slot: phase0.Slot(42), + PayloadPresent: true, + BlobDataAvailable: true, + }, + Signature: phase0.BLSSignature{}, + }, + }, + ParentExecutionRequests: &electra.ExecutionRequests{}, + }, + } + + result := NewEventBlockFromGloas(block, nil) + + if result == nil { + t.Fatal("expected non-nil result") + } + + if result.GetVersion() != v2.BlockVersion_GLOAS { + t.Errorf("expected GLOAS version, got %v", result.GetVersion()) + } + + gloasMsg, ok := result.GetMessage().(*v2.EventBlockV2_GloasBlock) + if !ok { + t.Fatalf("expected *v2.EventBlockV2_GloasBlock, got %T", result.GetMessage()) + } + + body := gloasMsg.GloasBlock.GetBody() + if body == nil { + t.Fatal("expected non-nil body") + } + + bid := body.GetSignedExecutionPayloadBid() + if bid == nil || bid.GetMessage() == nil { + t.Fatal("expected non-nil signed_execution_payload_bid (field 14)") + } + + if got := bid.GetMessage().GetBuilderIndex().GetValue(); got != 99 { + t.Errorf("bid.builder_index = %d, want 99", got) + } + + if got := bid.GetMessage().GetValue().GetValue(); got != 1234 { + t.Errorf("bid.value = %d, want 1234", got) + } + + if got := len(bid.GetMessage().GetBlobKzgCommitments()); got != 1 { + t.Errorf("bid.blob_kzg_commitments len = %d, want 1", got) + } + + atts := body.GetPayloadAttestations() + if len(atts) != 1 { + t.Fatalf("expected 1 payload_attestation (field 15), got %d", len(atts)) + } + + if !atts[0].GetData().GetPayloadPresent() { + t.Error("expected payload_attestation data.payload_present=true") + } + + if got := atts[0].GetData().GetSlot().GetValue(); got != 42 { + t.Errorf("payload_attestation data.slot = %d, want 42", got) + } + + // parent_execution_requests is the parent block's deferred-payload + // requests, processed in this block's state transition. It must + // round-trip through the conversion even when empty. + if body.GetParentExecutionRequests() == nil { + t.Error("expected non-nil parent_execution_requests") + } +} diff --git a/pkg/proto/eth/v1/beacon_synthetic.pb.go b/pkg/proto/eth/v1/beacon_synthetic.pb.go new file mode 100644 index 00000000..8f987409 --- /dev/null +++ b/pkg/proto/eth/v1/beacon_synthetic.pb.go @@ -0,0 +1,825 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/beacon_synthetic.proto + +// BEACON_SYNTHETIC_* event payloads — observability events synthesized from +// inside the beacon node's processing via CL instrumentation (TYSM today). +// These don't correspond to any beacon API SSE event; they're emitted from +// internal state transitions. + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// PayloadStatus mirrors the spec enum from gloas/fork-choice.md: +// +// PENDING (0) — block seen, waiting for payload +// FULL (1) — envelope received + PTC quorum met +// EMPTY (2) — no envelope or PTC threshold not met +// INVALID (3) — execution validation failed +type PayloadStatus int32 + +const ( + PayloadStatus_PAYLOAD_STATUS_PENDING PayloadStatus = 0 + PayloadStatus_PAYLOAD_STATUS_FULL PayloadStatus = 1 + PayloadStatus_PAYLOAD_STATUS_EMPTY PayloadStatus = 2 + PayloadStatus_PAYLOAD_STATUS_INVALID PayloadStatus = 3 +) + +// Enum value maps for PayloadStatus. +var ( + PayloadStatus_name = map[int32]string{ + 0: "PAYLOAD_STATUS_PENDING", + 1: "PAYLOAD_STATUS_FULL", + 2: "PAYLOAD_STATUS_EMPTY", + 3: "PAYLOAD_STATUS_INVALID", + } + PayloadStatus_value = map[string]int32{ + "PAYLOAD_STATUS_PENDING": 0, + "PAYLOAD_STATUS_FULL": 1, + "PAYLOAD_STATUS_EMPTY": 2, + "PAYLOAD_STATUS_INVALID": 3, + } +) + +func (x PayloadStatus) Enum() *PayloadStatus { + p := new(PayloadStatus) + *p = x + return p +} + +func (x PayloadStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PayloadStatus) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_proto_eth_v1_beacon_synthetic_proto_enumTypes[0].Descriptor() +} + +func (PayloadStatus) Type() protoreflect.EnumType { + return &file_pkg_proto_eth_v1_beacon_synthetic_proto_enumTypes[0] +} + +func (x PayloadStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PayloadStatus.Descriptor instead. +func (PayloadStatus) EnumDescriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescGZIP(), []int{0} +} + +// BuilderPendingPaymentOutcome is the resolution of a builder pending payment +// at the epoch boundary. +// +// SETTLED — payment weight met quorum, promoted to pending withdrawals +// DROPPED — payment weight did not meet quorum, dropped without payout +type BuilderPendingPaymentOutcome int32 + +const ( + BuilderPendingPaymentOutcome_BUILDER_PENDING_PAYMENT_OUTCOME_SETTLED BuilderPendingPaymentOutcome = 0 + BuilderPendingPaymentOutcome_BUILDER_PENDING_PAYMENT_OUTCOME_DROPPED BuilderPendingPaymentOutcome = 1 +) + +// Enum value maps for BuilderPendingPaymentOutcome. +var ( + BuilderPendingPaymentOutcome_name = map[int32]string{ + 0: "BUILDER_PENDING_PAYMENT_OUTCOME_SETTLED", + 1: "BUILDER_PENDING_PAYMENT_OUTCOME_DROPPED", + } + BuilderPendingPaymentOutcome_value = map[string]int32{ + "BUILDER_PENDING_PAYMENT_OUTCOME_SETTLED": 0, + "BUILDER_PENDING_PAYMENT_OUTCOME_DROPPED": 1, + } +) + +func (x BuilderPendingPaymentOutcome) Enum() *BuilderPendingPaymentOutcome { + p := new(BuilderPendingPaymentOutcome) + *p = x + return p +} + +func (x BuilderPendingPaymentOutcome) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BuilderPendingPaymentOutcome) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_proto_eth_v1_beacon_synthetic_proto_enumTypes[1].Descriptor() +} + +func (BuilderPendingPaymentOutcome) Type() protoreflect.EnumType { + return &file_pkg_proto_eth_v1_beacon_synthetic_proto_enumTypes[1] +} + +func (x BuilderPendingPaymentOutcome) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BuilderPendingPaymentOutcome.Descriptor instead. +func (BuilderPendingPaymentOutcome) EnumDescriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescGZIP(), []int{1} +} + +// PayloadStatusResolved is emitted observe-only when fork choice resolves +// a slot's payload status. Fires on every beacon node, every transition +// (a slot may go PENDING -> FULL or PENDING -> EMPTY, etc.). +// +// PTC vote counts follow the three-state model introduced by +// consensus-specs PR #5180 (`Optional[boolean]`): a validator may vote +// positive, vote negative, or not vote at all. `payload_timeliness_votes_positive` +// is always populated (the existing PTC quorum metric); the negative and +// absent counts are populated only once the emitting CL surfaces the +// three-state breakdown, and are NULL otherwise. The relation +// `positive + negative + absent == ptc_size` holds when all three are +// non-NULL. +type PayloadStatusResolved struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + BlockRoot string `protobuf:"bytes,2,opt,name=block_root,proto3" json:"block_root,omitempty"` + BlockHash string `protobuf:"bytes,3,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + Status PayloadStatus `protobuf:"varint,4,opt,name=status,proto3,enum=xatu.eth.v1.PayloadStatus" json:"status,omitempty"` + PreviousStatus PayloadStatus `protobuf:"varint,5,opt,name=previous_status,proto3,enum=xatu.eth.v1.PayloadStatus" json:"previous_status,omitempty"` + // Count of PTC votes with payload_present=true. + PayloadTimelinessVotesPositive *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=payload_timeliness_votes_positive,proto3" json:"payload_timeliness_votes_positive,omitempty"` + // Count of PTC votes with payload_present=false (explicit negative). + // NULL when the CL doesn't surface the three-state breakdown. + PayloadTimelinessVotesNegative *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=payload_timeliness_votes_negative,proto3" json:"payload_timeliness_votes_negative,omitempty"` + // Count of PTC seats with no vote observed (`Optional[bool] == None`). + // NULL when the CL doesn't surface the three-state breakdown. + PayloadTimelinessVotesAbsent *wrapperspb.UInt64Value `protobuf:"bytes,11,opt,name=payload_timeliness_votes_absent,proto3" json:"payload_timeliness_votes_absent,omitempty"` + // Count of PTC votes with blob_data_available=true. + DataAvailableVotesPositive *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=data_available_votes_positive,proto3" json:"data_available_votes_positive,omitempty"` + // Count of PTC votes with blob_data_available=false (explicit negative). + // NULL when the CL doesn't surface the three-state breakdown. + DataAvailableVotesNegative *wrapperspb.UInt64Value `protobuf:"bytes,12,opt,name=data_available_votes_negative,proto3" json:"data_available_votes_negative,omitempty"` + // Count of PTC seats with no data-availability vote observed + // (`Optional[bool] == None`). NULL when the CL doesn't surface the + // three-state breakdown. + DataAvailableVotesAbsent *wrapperspb.UInt64Value `protobuf:"bytes,13,opt,name=data_available_votes_absent,proto3" json:"data_available_votes_absent,omitempty"` + // Total PTC committee size (typically 512). + PtcSize *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=ptc_size,proto3" json:"ptc_size,omitempty"` + // ResolvedAt is the wall-clock time the beacon node resolved this status. + ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=resolved_at,proto3" json:"resolved_at,omitempty"` +} + +func (x *PayloadStatusResolved) Reset() { + *x = PayloadStatusResolved{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadStatusResolved) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadStatusResolved) ProtoMessage() {} + +func (x *PayloadStatusResolved) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayloadStatusResolved.ProtoReflect.Descriptor instead. +func (*PayloadStatusResolved) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescGZIP(), []int{0} +} + +func (x *PayloadStatusResolved) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *PayloadStatusResolved) GetBlockRoot() string { + if x != nil { + return x.BlockRoot + } + return "" +} + +func (x *PayloadStatusResolved) GetBlockHash() string { + if x != nil { + return x.BlockHash + } + return "" +} + +func (x *PayloadStatusResolved) GetStatus() PayloadStatus { + if x != nil { + return x.Status + } + return PayloadStatus_PAYLOAD_STATUS_PENDING +} + +func (x *PayloadStatusResolved) GetPreviousStatus() PayloadStatus { + if x != nil { + return x.PreviousStatus + } + return PayloadStatus_PAYLOAD_STATUS_PENDING +} + +func (x *PayloadStatusResolved) GetPayloadTimelinessVotesPositive() *wrapperspb.UInt64Value { + if x != nil { + return x.PayloadTimelinessVotesPositive + } + return nil +} + +func (x *PayloadStatusResolved) GetPayloadTimelinessVotesNegative() *wrapperspb.UInt64Value { + if x != nil { + return x.PayloadTimelinessVotesNegative + } + return nil +} + +func (x *PayloadStatusResolved) GetPayloadTimelinessVotesAbsent() *wrapperspb.UInt64Value { + if x != nil { + return x.PayloadTimelinessVotesAbsent + } + return nil +} + +func (x *PayloadStatusResolved) GetDataAvailableVotesPositive() *wrapperspb.UInt64Value { + if x != nil { + return x.DataAvailableVotesPositive + } + return nil +} + +func (x *PayloadStatusResolved) GetDataAvailableVotesNegative() *wrapperspb.UInt64Value { + if x != nil { + return x.DataAvailableVotesNegative + } + return nil +} + +func (x *PayloadStatusResolved) GetDataAvailableVotesAbsent() *wrapperspb.UInt64Value { + if x != nil { + return x.DataAvailableVotesAbsent + } + return nil +} + +func (x *PayloadStatusResolved) GetPtcSize() *wrapperspb.UInt64Value { + if x != nil { + return x.PtcSize + } + return nil +} + +func (x *PayloadStatusResolved) GetResolvedAt() *timestamppb.Timestamp { + if x != nil { + return x.ResolvedAt + } + return nil +} + +// PayloadAttestationProcessed is emitted observe-only when a PTC vote +// message has cleared every gossip-validation check (signature, validator +// membership in the PTC committee, block-root-seen/valid, slot-current, +// first-from-this-validator dedup) and been committed for downstream +// pipeline use. This is the "Processed" enrichment counterpart to the +// gossip-receipt `BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION` event: +// observing both gives a per-validator picture of how long full validation +// took and whether the vote was actually admitted (vs. dropped at some +// validation stage). EIP-7732 ePBS. +// +// Fires on every TYSM-patched beacon node — multi-witness signal. +type PayloadAttestationProcessed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + // BeaconBlockRoot is the block root the PTC validator attested to. + BeaconBlockRoot string `protobuf:"bytes,2,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + // PayloadPresent / BlobDataAvailable are the two PTC vote bits. + PayloadPresent bool `protobuf:"varint,4,opt,name=payload_present,proto3" json:"payload_present,omitempty"` + BlobDataAvailable bool `protobuf:"varint,5,opt,name=blob_data_available,proto3" json:"blob_data_available,omitempty"` + // PeerID we received this PTC vote from on the gossip wire. + PeerId string `protobuf:"bytes,6,opt,name=peer_id,proto3" json:"peer_id,omitempty"` + // ProcessingDurationMs is the time from gossip-receipt to processing + // completion (signature verification, PTC committee check, dedup). + ProcessingDurationMs *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=processing_duration_ms,proto3" json:"processing_duration_ms,omitempty"` + // ReceivedAt is the wall-clock time the PTC vote was first received + // from the gossip wire. + ReceivedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=received_at,proto3" json:"received_at,omitempty"` + // ProcessedAt is the wall-clock time the PTC vote completed processing + // and was committed for downstream consumers. + ProcessedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=processed_at,proto3" json:"processed_at,omitempty"` +} + +func (x *PayloadAttestationProcessed) Reset() { + *x = PayloadAttestationProcessed{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadAttestationProcessed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadAttestationProcessed) ProtoMessage() {} + +func (x *PayloadAttestationProcessed) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayloadAttestationProcessed.ProtoReflect.Descriptor instead. +func (*PayloadAttestationProcessed) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescGZIP(), []int{1} +} + +func (x *PayloadAttestationProcessed) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *PayloadAttestationProcessed) GetBeaconBlockRoot() string { + if x != nil { + return x.BeaconBlockRoot + } + return "" +} + +func (x *PayloadAttestationProcessed) GetValidatorIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ValidatorIndex + } + return nil +} + +func (x *PayloadAttestationProcessed) GetPayloadPresent() bool { + if x != nil { + return x.PayloadPresent + } + return false +} + +func (x *PayloadAttestationProcessed) GetBlobDataAvailable() bool { + if x != nil { + return x.BlobDataAvailable + } + return false +} + +func (x *PayloadAttestationProcessed) GetPeerId() string { + if x != nil { + return x.PeerId + } + return "" +} + +func (x *PayloadAttestationProcessed) GetProcessingDurationMs() *wrapperspb.UInt64Value { + if x != nil { + return x.ProcessingDurationMs + } + return nil +} + +func (x *PayloadAttestationProcessed) GetReceivedAt() *timestamppb.Timestamp { + if x != nil { + return x.ReceivedAt + } + return nil +} + +func (x *PayloadAttestationProcessed) GetProcessedAt() *timestamppb.Timestamp { + if x != nil { + return x.ProcessedAt + } + return nil +} + +// BuilderPendingPaymentSettlement is emitted observe-only when a builder +// pending payment reaches an epoch boundary and is either settled into +// pending withdrawals or dropped because quorum was not met. +type BuilderPendingPaymentSettlement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Epoch *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + BuilderIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=builder_index,proto3" json:"builder_index,omitempty"` + FeeRecipient string `protobuf:"bytes,3,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + // Amount is the payment amount in Gwei. + Amount *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` + // Weight is the quorum weight achieved. + Weight *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=weight,proto3" json:"weight,omitempty"` + // Quorum is the threshold needed. + Quorum *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=quorum,proto3" json:"quorum,omitempty"` + Outcome BuilderPendingPaymentOutcome `protobuf:"varint,7,opt,name=outcome,proto3,enum=xatu.eth.v1.BuilderPendingPaymentOutcome" json:"outcome,omitempty"` + // ResolvedAt is the wall-clock time the beacon node processed this settlement. + ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=resolved_at,proto3" json:"resolved_at,omitempty"` +} + +func (x *BuilderPendingPaymentSettlement) Reset() { + *x = BuilderPendingPaymentSettlement{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuilderPendingPaymentSettlement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuilderPendingPaymentSettlement) ProtoMessage() {} + +func (x *BuilderPendingPaymentSettlement) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuilderPendingPaymentSettlement.ProtoReflect.Descriptor instead. +func (*BuilderPendingPaymentSettlement) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescGZIP(), []int{2} +} + +func (x *BuilderPendingPaymentSettlement) GetEpoch() *wrapperspb.UInt64Value { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *BuilderPendingPaymentSettlement) GetBuilderIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.BuilderIndex + } + return nil +} + +func (x *BuilderPendingPaymentSettlement) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *BuilderPendingPaymentSettlement) GetAmount() *wrapperspb.UInt64Value { + if x != nil { + return x.Amount + } + return nil +} + +func (x *BuilderPendingPaymentSettlement) GetWeight() *wrapperspb.UInt64Value { + if x != nil { + return x.Weight + } + return nil +} + +func (x *BuilderPendingPaymentSettlement) GetQuorum() *wrapperspb.UInt64Value { + if x != nil { + return x.Quorum + } + return nil +} + +func (x *BuilderPendingPaymentSettlement) GetOutcome() BuilderPendingPaymentOutcome { + if x != nil { + return x.Outcome + } + return BuilderPendingPaymentOutcome_BUILDER_PENDING_PAYMENT_OUTCOME_SETTLED +} + +func (x *BuilderPendingPaymentSettlement) GetResolvedAt() *timestamppb.Timestamp { + if x != nil { + return x.ResolvedAt + } + return nil +} + +var File_pkg_proto_eth_v1_beacon_synthetic_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, + 0x74, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x07, 0x0a, 0x15, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x0f, 0x70, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x6a, 0x0a, 0x21, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x6f, 0x74, + 0x65, 0x73, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x6a, 0x0a, 0x21, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x73, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x6e, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x66, 0x0a, 0x1f, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x76, 0x6f, + 0x74, 0x65, 0x73, 0x5f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x12, + 0x62, 0x0a, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x62, 0x0a, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x6e, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x6e, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x5e, 0x0a, 0x1b, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, + 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x73, + 0x5f, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x74, 0x63, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x74, 0x63, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, + 0x8f, 0x04, 0x0a, 0x1b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, + 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x46, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x12, 0x30, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, + 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, + 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x22, 0xe4, 0x03, 0x0a, 0x1f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x0a, + 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x34, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x71, + 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x12, 0x43, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x2a, 0x7a, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x59, + 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x18, + 0x0a, 0x14, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x59, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x03, 0x2a, 0x78, 0x0a, 0x1c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x50, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4f, 0x55, 0x54, + 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x01, 0x42, 0x2e, + 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescData = file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDesc +) + +func file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDescData +} + +var file_pkg_proto_eth_v1_beacon_synthetic_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_pkg_proto_eth_v1_beacon_synthetic_proto_goTypes = []any{ + (PayloadStatus)(0), // 0: xatu.eth.v1.PayloadStatus + (BuilderPendingPaymentOutcome)(0), // 1: xatu.eth.v1.BuilderPendingPaymentOutcome + (*PayloadStatusResolved)(nil), // 2: xatu.eth.v1.PayloadStatusResolved + (*PayloadAttestationProcessed)(nil), // 3: xatu.eth.v1.PayloadAttestationProcessed + (*BuilderPendingPaymentSettlement)(nil), // 4: xatu.eth.v1.BuilderPendingPaymentSettlement + (*wrapperspb.UInt64Value)(nil), // 5: google.protobuf.UInt64Value + (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp +} +var file_pkg_proto_eth_v1_beacon_synthetic_proto_depIdxs = []int32{ + 5, // 0: xatu.eth.v1.PayloadStatusResolved.slot:type_name -> google.protobuf.UInt64Value + 0, // 1: xatu.eth.v1.PayloadStatusResolved.status:type_name -> xatu.eth.v1.PayloadStatus + 0, // 2: xatu.eth.v1.PayloadStatusResolved.previous_status:type_name -> xatu.eth.v1.PayloadStatus + 5, // 3: xatu.eth.v1.PayloadStatusResolved.payload_timeliness_votes_positive:type_name -> google.protobuf.UInt64Value + 5, // 4: xatu.eth.v1.PayloadStatusResolved.payload_timeliness_votes_negative:type_name -> google.protobuf.UInt64Value + 5, // 5: xatu.eth.v1.PayloadStatusResolved.payload_timeliness_votes_absent:type_name -> google.protobuf.UInt64Value + 5, // 6: xatu.eth.v1.PayloadStatusResolved.data_available_votes_positive:type_name -> google.protobuf.UInt64Value + 5, // 7: xatu.eth.v1.PayloadStatusResolved.data_available_votes_negative:type_name -> google.protobuf.UInt64Value + 5, // 8: xatu.eth.v1.PayloadStatusResolved.data_available_votes_absent:type_name -> google.protobuf.UInt64Value + 5, // 9: xatu.eth.v1.PayloadStatusResolved.ptc_size:type_name -> google.protobuf.UInt64Value + 6, // 10: xatu.eth.v1.PayloadStatusResolved.resolved_at:type_name -> google.protobuf.Timestamp + 5, // 11: xatu.eth.v1.PayloadAttestationProcessed.slot:type_name -> google.protobuf.UInt64Value + 5, // 12: xatu.eth.v1.PayloadAttestationProcessed.validator_index:type_name -> google.protobuf.UInt64Value + 5, // 13: xatu.eth.v1.PayloadAttestationProcessed.processing_duration_ms:type_name -> google.protobuf.UInt64Value + 6, // 14: xatu.eth.v1.PayloadAttestationProcessed.received_at:type_name -> google.protobuf.Timestamp + 6, // 15: xatu.eth.v1.PayloadAttestationProcessed.processed_at:type_name -> google.protobuf.Timestamp + 5, // 16: xatu.eth.v1.BuilderPendingPaymentSettlement.epoch:type_name -> google.protobuf.UInt64Value + 5, // 17: xatu.eth.v1.BuilderPendingPaymentSettlement.builder_index:type_name -> google.protobuf.UInt64Value + 5, // 18: xatu.eth.v1.BuilderPendingPaymentSettlement.amount:type_name -> google.protobuf.UInt64Value + 5, // 19: xatu.eth.v1.BuilderPendingPaymentSettlement.weight:type_name -> google.protobuf.UInt64Value + 5, // 20: xatu.eth.v1.BuilderPendingPaymentSettlement.quorum:type_name -> google.protobuf.UInt64Value + 1, // 21: xatu.eth.v1.BuilderPendingPaymentSettlement.outcome:type_name -> xatu.eth.v1.BuilderPendingPaymentOutcome + 6, // 22: xatu.eth.v1.BuilderPendingPaymentSettlement.resolved_at:type_name -> google.protobuf.Timestamp + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_beacon_synthetic_proto_init() } +func file_pkg_proto_eth_v1_beacon_synthetic_proto_init() { + if File_pkg_proto_eth_v1_beacon_synthetic_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*PayloadStatusResolved); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*PayloadAttestationProcessed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*BuilderPendingPaymentSettlement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDesc, + NumEnums: 2, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_beacon_synthetic_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_beacon_synthetic_proto_depIdxs, + EnumInfos: file_pkg_proto_eth_v1_beacon_synthetic_proto_enumTypes, + MessageInfos: file_pkg_proto_eth_v1_beacon_synthetic_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_beacon_synthetic_proto = out.File + file_pkg_proto_eth_v1_beacon_synthetic_proto_rawDesc = nil + file_pkg_proto_eth_v1_beacon_synthetic_proto_goTypes = nil + file_pkg_proto_eth_v1_beacon_synthetic_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/beacon_synthetic.proto b/pkg/proto/eth/v1/beacon_synthetic.proto new file mode 100644 index 00000000..490a9bae --- /dev/null +++ b/pkg/proto/eth/v1/beacon_synthetic.proto @@ -0,0 +1,161 @@ +syntax = "proto3"; + +// BEACON_SYNTHETIC_* event payloads — observability events synthesized from +// inside the beacon node's processing via CL instrumentation (TYSM today). +// These don't correspond to any beacon API SSE event; they're emitted from +// internal state transitions. + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +// PayloadStatus mirrors the spec enum from gloas/fork-choice.md: +// PENDING (0) — block seen, waiting for payload +// FULL (1) — envelope received + PTC quorum met +// EMPTY (2) — no envelope or PTC threshold not met +// INVALID (3) — execution validation failed +enum PayloadStatus { + PAYLOAD_STATUS_PENDING = 0; + PAYLOAD_STATUS_FULL = 1; + PAYLOAD_STATUS_EMPTY = 2; + PAYLOAD_STATUS_INVALID = 3; +} + +// BuilderPendingPaymentOutcome is the resolution of a builder pending payment +// at the epoch boundary. +// SETTLED — payment weight met quorum, promoted to pending withdrawals +// DROPPED — payment weight did not meet quorum, dropped without payout +enum BuilderPendingPaymentOutcome { + BUILDER_PENDING_PAYMENT_OUTCOME_SETTLED = 0; + BUILDER_PENDING_PAYMENT_OUTCOME_DROPPED = 1; +} + +// PayloadStatusResolved is emitted observe-only when fork choice resolves +// a slot's payload status. Fires on every beacon node, every transition +// (a slot may go PENDING -> FULL or PENDING -> EMPTY, etc.). +// +// PTC vote counts follow the three-state model introduced by +// consensus-specs PR #5180 (`Optional[boolean]`): a validator may vote +// positive, vote negative, or not vote at all. `payload_timeliness_votes_positive` +// is always populated (the existing PTC quorum metric); the negative and +// absent counts are populated only once the emitting CL surfaces the +// three-state breakdown, and are NULL otherwise. The relation +// `positive + negative + absent == ptc_size` holds when all three are +// non-NULL. +message PayloadStatusResolved { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + string block_root = 2 [ json_name = "block_root" ]; + + string block_hash = 3 [ json_name = "block_hash" ]; + + PayloadStatus status = 4 [ json_name = "status" ]; + + PayloadStatus previous_status = 5 [ json_name = "previous_status" ]; + + // Count of PTC votes with payload_present=true. + google.protobuf.UInt64Value payload_timeliness_votes_positive = 6 + [ json_name = "payload_timeliness_votes_positive" ]; + + // Count of PTC votes with payload_present=false (explicit negative). + // NULL when the CL doesn't surface the three-state breakdown. + google.protobuf.UInt64Value payload_timeliness_votes_negative = 10 + [ json_name = "payload_timeliness_votes_negative" ]; + + // Count of PTC seats with no vote observed (`Optional[bool] == None`). + // NULL when the CL doesn't surface the three-state breakdown. + google.protobuf.UInt64Value payload_timeliness_votes_absent = 11 + [ json_name = "payload_timeliness_votes_absent" ]; + + // Count of PTC votes with blob_data_available=true. + google.protobuf.UInt64Value data_available_votes_positive = 7 + [ json_name = "data_available_votes_positive" ]; + + // Count of PTC votes with blob_data_available=false (explicit negative). + // NULL when the CL doesn't surface the three-state breakdown. + google.protobuf.UInt64Value data_available_votes_negative = 12 + [ json_name = "data_available_votes_negative" ]; + + // Count of PTC seats with no data-availability vote observed + // (`Optional[bool] == None`). NULL when the CL doesn't surface the + // three-state breakdown. + google.protobuf.UInt64Value data_available_votes_absent = 13 + [ json_name = "data_available_votes_absent" ]; + + // Total PTC committee size (typically 512). + google.protobuf.UInt64Value ptc_size = 8 [ json_name = "ptc_size" ]; + + // ResolvedAt is the wall-clock time the beacon node resolved this status. + google.protobuf.Timestamp resolved_at = 9 [ json_name = "resolved_at" ]; +} + +// PayloadAttestationProcessed is emitted observe-only when a PTC vote +// message has cleared every gossip-validation check (signature, validator +// membership in the PTC committee, block-root-seen/valid, slot-current, +// first-from-this-validator dedup) and been committed for downstream +// pipeline use. This is the "Processed" enrichment counterpart to the +// gossip-receipt `BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION` event: +// observing both gives a per-validator picture of how long full validation +// took and whether the vote was actually admitted (vs. dropped at some +// validation stage). EIP-7732 ePBS. +// +// Fires on every TYSM-patched beacon node — multi-witness signal. +message PayloadAttestationProcessed { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + // BeaconBlockRoot is the block root the PTC validator attested to. + string beacon_block_root = 2 [ json_name = "beacon_block_root" ]; + + google.protobuf.UInt64Value validator_index = 3 + [ json_name = "validator_index" ]; + + // PayloadPresent / BlobDataAvailable are the two PTC vote bits. + bool payload_present = 4 [ json_name = "payload_present" ]; + bool blob_data_available = 5 [ json_name = "blob_data_available" ]; + + // PeerID we received this PTC vote from on the gossip wire. + string peer_id = 6 [ json_name = "peer_id" ]; + + // ProcessingDurationMs is the time from gossip-receipt to processing + // completion (signature verification, PTC committee check, dedup). + google.protobuf.UInt64Value processing_duration_ms = 7 + [ json_name = "processing_duration_ms" ]; + + // ReceivedAt is the wall-clock time the PTC vote was first received + // from the gossip wire. + google.protobuf.Timestamp received_at = 8 [ json_name = "received_at" ]; + + // ProcessedAt is the wall-clock time the PTC vote completed processing + // and was committed for downstream consumers. + google.protobuf.Timestamp processed_at = 9 [ json_name = "processed_at" ]; +} + +// BuilderPendingPaymentSettlement is emitted observe-only when a builder +// pending payment reaches an epoch boundary and is either settled into +// pending withdrawals or dropped because quorum was not met. +message BuilderPendingPaymentSettlement { + google.protobuf.UInt64Value epoch = 1 [ json_name = "epoch" ]; + + google.protobuf.UInt64Value builder_index = 2 + [ json_name = "builder_index" ]; + + string fee_recipient = 3 [ json_name = "fee_recipient" ]; + + // Amount is the payment amount in Gwei. + google.protobuf.UInt64Value amount = 4 [ json_name = "amount" ]; + + // Weight is the quorum weight achieved. + google.protobuf.UInt64Value weight = 5 [ json_name = "weight" ]; + + // Quorum is the threshold needed. + google.protobuf.UInt64Value quorum = 6 [ json_name = "quorum" ]; + + BuilderPendingPaymentOutcome outcome = 7 [ json_name = "outcome" ]; + + // ResolvedAt is the wall-clock time the beacon node processed this settlement. + google.protobuf.Timestamp resolved_at = 8 [ json_name = "resolved_at" ]; +} diff --git a/pkg/proto/eth/v1/beacon_synthetic_vtproto.pb.go b/pkg/proto/eth/v1/beacon_synthetic_vtproto.pb.go new file mode 100644 index 00000000..65e266df --- /dev/null +++ b/pkg/proto/eth/v1/beacon_synthetic_vtproto.pb.go @@ -0,0 +1,1731 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/beacon_synthetic.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + timestamppb "github.com/planetscale/vtprotobuf/types/known/timestamppb" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb1 "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *PayloadStatusResolved) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PayloadStatusResolved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PayloadStatusResolved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.DataAvailableVotesAbsent != nil { + size, err := (*wrapperspb.UInt64Value)(m.DataAvailableVotesAbsent).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + if m.DataAvailableVotesNegative != nil { + size, err := (*wrapperspb.UInt64Value)(m.DataAvailableVotesNegative).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + if m.PayloadTimelinessVotesAbsent != nil { + size, err := (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesAbsent).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + if m.PayloadTimelinessVotesNegative != nil { + size, err := (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesNegative).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + if m.ResolvedAt != nil { + size, err := (*timestamppb.Timestamp)(m.ResolvedAt).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.PtcSize != nil { + size, err := (*wrapperspb.UInt64Value)(m.PtcSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.DataAvailableVotesPositive != nil { + size, err := (*wrapperspb.UInt64Value)(m.DataAvailableVotesPositive).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.PayloadTimelinessVotesPositive != nil { + size, err := (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesPositive).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.PreviousStatus != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PreviousStatus)) + i-- + dAtA[i] = 0x28 + } + if m.Status != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x20 + } + if len(m.BlockHash) > 0 { + i -= len(m.BlockHash) + copy(dAtA[i:], m.BlockHash) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BlockHash))) + i-- + dAtA[i] = 0x1a + } + if len(m.BlockRoot) > 0 { + i -= len(m.BlockRoot) + copy(dAtA[i:], m.BlockRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BlockRoot))) + i-- + dAtA[i] = 0x12 + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *PayloadAttestationProcessed) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PayloadAttestationProcessed) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PayloadAttestationProcessed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ProcessedAt != nil { + size, err := (*timestamppb.Timestamp)(m.ProcessedAt).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.ReceivedAt != nil { + size, err := (*timestamppb.Timestamp)(m.ReceivedAt).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.ProcessingDurationMs != nil { + size, err := (*wrapperspb.UInt64Value)(m.ProcessingDurationMs).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if len(m.PeerId) > 0 { + i -= len(m.PeerId) + copy(dAtA[i:], m.PeerId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PeerId))) + i-- + dAtA[i] = 0x32 + } + if m.BlobDataAvailable { + i-- + if m.BlobDataAvailable { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.PayloadPresent { + i-- + if m.PayloadPresent { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.ValidatorIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if len(m.BeaconBlockRoot) > 0 { + i -= len(m.BeaconBlockRoot) + copy(dAtA[i:], m.BeaconBlockRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BeaconBlockRoot))) + i-- + dAtA[i] = 0x12 + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BuilderPendingPaymentSettlement) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuilderPendingPaymentSettlement) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BuilderPendingPaymentSettlement) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ResolvedAt != nil { + size, err := (*timestamppb.Timestamp)(m.ResolvedAt).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.Outcome != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Outcome)) + i-- + dAtA[i] = 0x38 + } + if m.Quorum != nil { + size, err := (*wrapperspb.UInt64Value)(m.Quorum).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.Weight != nil { + size, err := (*wrapperspb.UInt64Value)(m.Weight).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Amount != nil { + size, err := (*wrapperspb.UInt64Value)(m.Amount).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if len(m.FeeRecipient) > 0 { + i -= len(m.FeeRecipient) + copy(dAtA[i:], m.FeeRecipient) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FeeRecipient))) + i-- + dAtA[i] = 0x1a + } + if m.BuilderIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.BuilderIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := (*wrapperspb.UInt64Value)(m.Epoch).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_PayloadStatusResolved = sync.Pool{ + New: func() interface{} { + return &PayloadStatusResolved{} + }, +} + +func (m *PayloadStatusResolved) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *PayloadStatusResolved) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_PayloadStatusResolved.Put(m) + } +} +func PayloadStatusResolvedFromVTPool() *PayloadStatusResolved { + return vtprotoPool_PayloadStatusResolved.Get().(*PayloadStatusResolved) +} + +var vtprotoPool_PayloadAttestationProcessed = sync.Pool{ + New: func() interface{} { + return &PayloadAttestationProcessed{} + }, +} + +func (m *PayloadAttestationProcessed) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *PayloadAttestationProcessed) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_PayloadAttestationProcessed.Put(m) + } +} +func PayloadAttestationProcessedFromVTPool() *PayloadAttestationProcessed { + return vtprotoPool_PayloadAttestationProcessed.Get().(*PayloadAttestationProcessed) +} + +var vtprotoPool_BuilderPendingPaymentSettlement = sync.Pool{ + New: func() interface{} { + return &BuilderPendingPaymentSettlement{} + }, +} + +func (m *BuilderPendingPaymentSettlement) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BuilderPendingPaymentSettlement) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BuilderPendingPaymentSettlement.Put(m) + } +} +func BuilderPendingPaymentSettlementFromVTPool() *BuilderPendingPaymentSettlement { + return vtprotoPool_BuilderPendingPaymentSettlement.Get().(*BuilderPendingPaymentSettlement) +} +func (m *PayloadStatusResolved) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BlockRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BlockHash) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Status != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Status)) + } + if m.PreviousStatus != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PreviousStatus)) + } + if m.PayloadTimelinessVotesPositive != nil { + l = (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesPositive).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DataAvailableVotesPositive != nil { + l = (*wrapperspb.UInt64Value)(m.DataAvailableVotesPositive).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PtcSize != nil { + l = (*wrapperspb.UInt64Value)(m.PtcSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ResolvedAt != nil { + l = (*timestamppb.Timestamp)(m.ResolvedAt).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PayloadTimelinessVotesNegative != nil { + l = (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesNegative).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PayloadTimelinessVotesAbsent != nil { + l = (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesAbsent).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DataAvailableVotesNegative != nil { + l = (*wrapperspb.UInt64Value)(m.DataAvailableVotesNegative).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DataAvailableVotesAbsent != nil { + l = (*wrapperspb.UInt64Value)(m.DataAvailableVotesAbsent).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *PayloadAttestationProcessed) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BeaconBlockRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValidatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PayloadPresent { + n += 2 + } + if m.BlobDataAvailable { + n += 2 + } + l = len(m.PeerId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ProcessingDurationMs != nil { + l = (*wrapperspb.UInt64Value)(m.ProcessingDurationMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ReceivedAt != nil { + l = (*timestamppb.Timestamp)(m.ReceivedAt).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ProcessedAt != nil { + l = (*timestamppb.Timestamp)(m.ProcessedAt).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BuilderPendingPaymentSettlement) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Epoch != nil { + l = (*wrapperspb.UInt64Value)(m.Epoch).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BuilderIndex != nil { + l = (*wrapperspb.UInt64Value)(m.BuilderIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.FeeRecipient) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Amount != nil { + l = (*wrapperspb.UInt64Value)(m.Amount).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Weight != nil { + l = (*wrapperspb.UInt64Value)(m.Weight).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Quorum != nil { + l = (*wrapperspb.UInt64Value)(m.Quorum).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Outcome != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Outcome)) + } + if m.ResolvedAt != nil { + l = (*timestamppb.Timestamp)(m.ResolvedAt).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *PayloadStatusResolved) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PayloadStatusResolved: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PayloadStatusResolved: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= PayloadStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PreviousStatus", wireType) + } + m.PreviousStatus = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PreviousStatus |= PayloadStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PayloadTimelinessVotesPositive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PayloadTimelinessVotesPositive == nil { + m.PayloadTimelinessVotesPositive = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesPositive).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataAvailableVotesPositive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DataAvailableVotesPositive == nil { + m.DataAvailableVotesPositive = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.DataAvailableVotesPositive).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PtcSize", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PtcSize == nil { + m.PtcSize = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.PtcSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResolvedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ResolvedAt == nil { + m.ResolvedAt = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.ResolvedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PayloadTimelinessVotesNegative", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PayloadTimelinessVotesNegative == nil { + m.PayloadTimelinessVotesNegative = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesNegative).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PayloadTimelinessVotesAbsent", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PayloadTimelinessVotesAbsent == nil { + m.PayloadTimelinessVotesAbsent = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.PayloadTimelinessVotesAbsent).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataAvailableVotesNegative", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DataAvailableVotesNegative == nil { + m.DataAvailableVotesNegative = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.DataAvailableVotesNegative).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataAvailableVotesAbsent", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DataAvailableVotesAbsent == nil { + m.DataAvailableVotesAbsent = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.DataAvailableVotesAbsent).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PayloadAttestationProcessed) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PayloadAttestationProcessed: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PayloadAttestationProcessed: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BeaconBlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BeaconBlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ValidatorIndex == nil { + m.ValidatorIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PayloadPresent", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadPresent = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobDataAvailable", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BlobDataAvailable = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PeerId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PeerId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProcessingDurationMs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProcessingDurationMs == nil { + m.ProcessingDurationMs = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProcessingDurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceivedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ReceivedAt == nil { + m.ReceivedAt = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.ReceivedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProcessedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProcessedAt == nil { + m.ProcessedAt = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.ProcessedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuilderPendingPaymentSettlement) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BuilderPendingPaymentSettlement: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuilderPendingPaymentSettlement: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Epoch == nil { + m.Epoch = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Epoch).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BuilderIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BuilderIndex == nil { + m.BuilderIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BuilderIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FeeRecipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Amount == nil { + m.Amount = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Amount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Weight == nil { + m.Weight = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Weight).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Quorum", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Quorum == nil { + m.Quorum = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Quorum).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + } + m.Outcome = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Outcome |= BuilderPendingPaymentOutcome(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResolvedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ResolvedAt == nil { + m.ResolvedAt = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.ResolvedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v1/block_access_list.pb.go b/pkg/proto/eth/v1/block_access_list.pb.go new file mode 100644 index 00000000..02c9e685 --- /dev/null +++ b/pkg/proto/eth/v1/block_access_list.pb.go @@ -0,0 +1,817 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/block_access_list.proto + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type BlockAccessListStorageChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockAccessIndex *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=block_access_index,proto3" json:"block_access_index,omitempty"` + Key *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + NewValue *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=new_value,proto3" json:"new_value,omitempty"` +} + +func (x *BlockAccessListStorageChange) Reset() { + *x = BlockAccessListStorageChange{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessListStorageChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessListStorageChange) ProtoMessage() {} + +func (x *BlockAccessListStorageChange) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessListStorageChange.ProtoReflect.Descriptor instead. +func (*BlockAccessListStorageChange) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{0} +} + +func (x *BlockAccessListStorageChange) GetBlockAccessIndex() *wrapperspb.UInt32Value { + if x != nil { + return x.BlockAccessIndex + } + return nil +} + +func (x *BlockAccessListStorageChange) GetKey() *wrapperspb.StringValue { + if x != nil { + return x.Key + } + return nil +} + +func (x *BlockAccessListStorageChange) GetNewValue() *wrapperspb.StringValue { + if x != nil { + return x.NewValue + } + return nil +} + +type BlockAccessListBalanceChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockAccessIndex *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=block_access_index,proto3" json:"block_access_index,omitempty"` + PostBalance *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=post_balance,proto3" json:"post_balance,omitempty"` +} + +func (x *BlockAccessListBalanceChange) Reset() { + *x = BlockAccessListBalanceChange{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessListBalanceChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessListBalanceChange) ProtoMessage() {} + +func (x *BlockAccessListBalanceChange) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessListBalanceChange.ProtoReflect.Descriptor instead. +func (*BlockAccessListBalanceChange) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{1} +} + +func (x *BlockAccessListBalanceChange) GetBlockAccessIndex() *wrapperspb.UInt32Value { + if x != nil { + return x.BlockAccessIndex + } + return nil +} + +func (x *BlockAccessListBalanceChange) GetPostBalance() *wrapperspb.StringValue { + if x != nil { + return x.PostBalance + } + return nil +} + +type BlockAccessListNonceChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockAccessIndex *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=block_access_index,proto3" json:"block_access_index,omitempty"` + NewNonce *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=new_nonce,proto3" json:"new_nonce,omitempty"` +} + +func (x *BlockAccessListNonceChange) Reset() { + *x = BlockAccessListNonceChange{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessListNonceChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessListNonceChange) ProtoMessage() {} + +func (x *BlockAccessListNonceChange) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessListNonceChange.ProtoReflect.Descriptor instead. +func (*BlockAccessListNonceChange) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{2} +} + +func (x *BlockAccessListNonceChange) GetBlockAccessIndex() *wrapperspb.UInt32Value { + if x != nil { + return x.BlockAccessIndex + } + return nil +} + +func (x *BlockAccessListNonceChange) GetNewNonce() *wrapperspb.UInt64Value { + if x != nil { + return x.NewNonce + } + return nil +} + +type BlockAccessListCodeChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockAccessIndex *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=block_access_index,proto3" json:"block_access_index,omitempty"` + NewCode *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=new_code,proto3" json:"new_code,omitempty"` +} + +func (x *BlockAccessListCodeChange) Reset() { + *x = BlockAccessListCodeChange{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessListCodeChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessListCodeChange) ProtoMessage() {} + +func (x *BlockAccessListCodeChange) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessListCodeChange.ProtoReflect.Descriptor instead. +func (*BlockAccessListCodeChange) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{3} +} + +func (x *BlockAccessListCodeChange) GetBlockAccessIndex() *wrapperspb.UInt32Value { + if x != nil { + return x.BlockAccessIndex + } + return nil +} + +func (x *BlockAccessListCodeChange) GetNewCode() *wrapperspb.StringValue { + if x != nil { + return x.NewCode + } + return nil +} + +type BlockAccessListStorageRead struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *BlockAccessListStorageRead) Reset() { + *x = BlockAccessListStorageRead{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessListStorageRead) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessListStorageRead) ProtoMessage() {} + +func (x *BlockAccessListStorageRead) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessListStorageRead.ProtoReflect.Descriptor instead. +func (*BlockAccessListStorageRead) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{4} +} + +func (x *BlockAccessListStorageRead) GetKey() *wrapperspb.StringValue { + if x != nil { + return x.Key + } + return nil +} + +type BlockAccessListEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + StorageChanges []*BlockAccessListStorageChange `protobuf:"bytes,2,rep,name=storage_changes,proto3" json:"storage_changes,omitempty"` + BalanceChanges []*BlockAccessListBalanceChange `protobuf:"bytes,3,rep,name=balance_changes,proto3" json:"balance_changes,omitempty"` + NonceChanges []*BlockAccessListNonceChange `protobuf:"bytes,4,rep,name=nonce_changes,proto3" json:"nonce_changes,omitempty"` + CodeChanges []*BlockAccessListCodeChange `protobuf:"bytes,5,rep,name=code_changes,proto3" json:"code_changes,omitempty"` + StorageReads []*BlockAccessListStorageRead `protobuf:"bytes,6,rep,name=storage_reads,proto3" json:"storage_reads,omitempty"` +} + +func (x *BlockAccessListEntry) Reset() { + *x = BlockAccessListEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessListEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessListEntry) ProtoMessage() {} + +func (x *BlockAccessListEntry) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessListEntry.ProtoReflect.Descriptor instead. +func (*BlockAccessListEntry) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{5} +} + +func (x *BlockAccessListEntry) GetAddress() *wrapperspb.StringValue { + if x != nil { + return x.Address + } + return nil +} + +func (x *BlockAccessListEntry) GetStorageChanges() []*BlockAccessListStorageChange { + if x != nil { + return x.StorageChanges + } + return nil +} + +func (x *BlockAccessListEntry) GetBalanceChanges() []*BlockAccessListBalanceChange { + if x != nil { + return x.BalanceChanges + } + return nil +} + +func (x *BlockAccessListEntry) GetNonceChanges() []*BlockAccessListNonceChange { + if x != nil { + return x.NonceChanges + } + return nil +} + +func (x *BlockAccessListEntry) GetCodeChanges() []*BlockAccessListCodeChange { + if x != nil { + return x.CodeChanges + } + return nil +} + +func (x *BlockAccessListEntry) GetStorageReads() []*BlockAccessListStorageRead { + if x != nil { + return x.StorageReads + } + return nil +} + +type BlockAccessList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entries []*BlockAccessListEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` +} + +func (x *BlockAccessList) Reset() { + *x = BlockAccessList{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessList) ProtoMessage() {} + +func (x *BlockAccessList) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessList.ProtoReflect.Descriptor instead. +func (*BlockAccessList) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{6} +} + +func (x *BlockAccessList) GetEntries() []*BlockAccessListEntry { + if x != nil { + return x.Entries + } + return nil +} + +// BlockAccessListChange is a denormalized representation of a single change +// within a block access list. Used for ClickHouse storage where each change +// becomes one row. +type BlockAccessListChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // change_type is one of: "storage", "balance", "nonce", "code", "storage_read", "touched" + ChangeType string `protobuf:"bytes,2,opt,name=change_type,proto3" json:"change_type,omitempty"` + BlockAccessIndex *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=block_access_index,proto3" json:"block_access_index,omitempty"` + // storage_key is set only for storage changes + StorageKey *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=storage_key,proto3" json:"storage_key,omitempty"` + // new_value contains the new value for any change type + NewValue *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=new_value,proto3" json:"new_value,omitempty"` +} + +func (x *BlockAccessListChange) Reset() { + *x = BlockAccessListChange{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAccessListChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAccessListChange) ProtoMessage() {} + +func (x *BlockAccessListChange) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlockAccessListChange.ProtoReflect.Descriptor instead. +func (*BlockAccessListChange) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP(), []int{7} +} + +func (x *BlockAccessListChange) GetAddress() *wrapperspb.StringValue { + if x != nil { + return x.Address + } + return nil +} + +func (x *BlockAccessListChange) GetChangeType() string { + if x != nil { + return x.ChangeType + } + return "" +} + +func (x *BlockAccessListChange) GetBlockAccessIndex() *wrapperspb.UInt32Value { + if x != nil { + return x.BlockAccessIndex + } + return nil +} + +func (x *BlockAccessListChange) GetStorageKey() *wrapperspb.StringValue { + if x != nil { + return x.StorageKey + } + return nil +} + +func (x *BlockAccessListChange) GetNewValue() *wrapperspb.StringValue { + if x != nil { + return x.NewValue + } + return nil +} + +var File_pkg_proto_eth_v1_block_access_list_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_block_access_list_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x01, 0x0a, 0x1c, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x1c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0xa3, + 0x01, 0x0a, 0x19, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x38, 0x0a, 0x08, 0x6e, 0x65, + 0x77, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x22, 0x4c, 0x0a, 0x1a, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x61, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x22, 0xe2, 0x03, 0x0a, 0x14, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x4d, 0x0a, + 0x0d, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0c, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x73, 0x22, 0x4e, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x65, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xbb, 0x02, 0x0a, 0x15, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x36, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x65, 0x77, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, + 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, + 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_block_access_list_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_block_access_list_proto_rawDescData = file_pkg_proto_eth_v1_block_access_list_proto_rawDesc +) + +func file_pkg_proto_eth_v1_block_access_list_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_block_access_list_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_block_access_list_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_block_access_list_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_block_access_list_proto_rawDescData +} + +var file_pkg_proto_eth_v1_block_access_list_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_pkg_proto_eth_v1_block_access_list_proto_goTypes = []any{ + (*BlockAccessListStorageChange)(nil), // 0: xatu.eth.v1.BlockAccessListStorageChange + (*BlockAccessListBalanceChange)(nil), // 1: xatu.eth.v1.BlockAccessListBalanceChange + (*BlockAccessListNonceChange)(nil), // 2: xatu.eth.v1.BlockAccessListNonceChange + (*BlockAccessListCodeChange)(nil), // 3: xatu.eth.v1.BlockAccessListCodeChange + (*BlockAccessListStorageRead)(nil), // 4: xatu.eth.v1.BlockAccessListStorageRead + (*BlockAccessListEntry)(nil), // 5: xatu.eth.v1.BlockAccessListEntry + (*BlockAccessList)(nil), // 6: xatu.eth.v1.BlockAccessList + (*BlockAccessListChange)(nil), // 7: xatu.eth.v1.BlockAccessListChange + (*wrapperspb.UInt32Value)(nil), // 8: google.protobuf.UInt32Value + (*wrapperspb.StringValue)(nil), // 9: google.protobuf.StringValue + (*wrapperspb.UInt64Value)(nil), // 10: google.protobuf.UInt64Value +} +var file_pkg_proto_eth_v1_block_access_list_proto_depIdxs = []int32{ + 8, // 0: xatu.eth.v1.BlockAccessListStorageChange.block_access_index:type_name -> google.protobuf.UInt32Value + 9, // 1: xatu.eth.v1.BlockAccessListStorageChange.key:type_name -> google.protobuf.StringValue + 9, // 2: xatu.eth.v1.BlockAccessListStorageChange.new_value:type_name -> google.protobuf.StringValue + 8, // 3: xatu.eth.v1.BlockAccessListBalanceChange.block_access_index:type_name -> google.protobuf.UInt32Value + 9, // 4: xatu.eth.v1.BlockAccessListBalanceChange.post_balance:type_name -> google.protobuf.StringValue + 8, // 5: xatu.eth.v1.BlockAccessListNonceChange.block_access_index:type_name -> google.protobuf.UInt32Value + 10, // 6: xatu.eth.v1.BlockAccessListNonceChange.new_nonce:type_name -> google.protobuf.UInt64Value + 8, // 7: xatu.eth.v1.BlockAccessListCodeChange.block_access_index:type_name -> google.protobuf.UInt32Value + 9, // 8: xatu.eth.v1.BlockAccessListCodeChange.new_code:type_name -> google.protobuf.StringValue + 9, // 9: xatu.eth.v1.BlockAccessListStorageRead.key:type_name -> google.protobuf.StringValue + 9, // 10: xatu.eth.v1.BlockAccessListEntry.address:type_name -> google.protobuf.StringValue + 0, // 11: xatu.eth.v1.BlockAccessListEntry.storage_changes:type_name -> xatu.eth.v1.BlockAccessListStorageChange + 1, // 12: xatu.eth.v1.BlockAccessListEntry.balance_changes:type_name -> xatu.eth.v1.BlockAccessListBalanceChange + 2, // 13: xatu.eth.v1.BlockAccessListEntry.nonce_changes:type_name -> xatu.eth.v1.BlockAccessListNonceChange + 3, // 14: xatu.eth.v1.BlockAccessListEntry.code_changes:type_name -> xatu.eth.v1.BlockAccessListCodeChange + 4, // 15: xatu.eth.v1.BlockAccessListEntry.storage_reads:type_name -> xatu.eth.v1.BlockAccessListStorageRead + 5, // 16: xatu.eth.v1.BlockAccessList.entries:type_name -> xatu.eth.v1.BlockAccessListEntry + 9, // 17: xatu.eth.v1.BlockAccessListChange.address:type_name -> google.protobuf.StringValue + 8, // 18: xatu.eth.v1.BlockAccessListChange.block_access_index:type_name -> google.protobuf.UInt32Value + 9, // 19: xatu.eth.v1.BlockAccessListChange.storage_key:type_name -> google.protobuf.StringValue + 9, // 20: xatu.eth.v1.BlockAccessListChange.new_value:type_name -> google.protobuf.StringValue + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_block_access_list_proto_init() } +func file_pkg_proto_eth_v1_block_access_list_proto_init() { + if File_pkg_proto_eth_v1_block_access_list_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessListStorageChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessListBalanceChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessListNonceChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessListCodeChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessListStorageRead); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessListEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_block_access_list_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*BlockAccessListChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_block_access_list_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_block_access_list_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_block_access_list_proto_depIdxs, + MessageInfos: file_pkg_proto_eth_v1_block_access_list_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_block_access_list_proto = out.File + file_pkg_proto_eth_v1_block_access_list_proto_rawDesc = nil + file_pkg_proto_eth_v1_block_access_list_proto_goTypes = nil + file_pkg_proto_eth_v1_block_access_list_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/block_access_list.proto b/pkg/proto/eth/v1/block_access_list.proto new file mode 100644 index 00000000..82b782fd --- /dev/null +++ b/pkg/proto/eth/v1/block_access_list.proto @@ -0,0 +1,71 @@ +syntax = "proto3"; + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/wrappers.proto"; + +message BlockAccessListStorageChange { + google.protobuf.UInt32Value block_access_index = 1 + [ json_name = "block_access_index" ]; + google.protobuf.StringValue key = 2; + google.protobuf.StringValue new_value = 3 [ json_name = "new_value" ]; +} + +message BlockAccessListBalanceChange { + google.protobuf.UInt32Value block_access_index = 1 + [ json_name = "block_access_index" ]; + google.protobuf.StringValue post_balance = 2 + [ json_name = "post_balance" ]; +} + +message BlockAccessListNonceChange { + google.protobuf.UInt32Value block_access_index = 1 + [ json_name = "block_access_index" ]; + google.protobuf.UInt64Value new_nonce = 2 [ json_name = "new_nonce" ]; +} + +message BlockAccessListCodeChange { + google.protobuf.UInt32Value block_access_index = 1 + [ json_name = "block_access_index" ]; + google.protobuf.StringValue new_code = 2 [ json_name = "new_code" ]; +} + +message BlockAccessListStorageRead { + google.protobuf.StringValue key = 1; +} + +message BlockAccessListEntry { + google.protobuf.StringValue address = 1; + repeated BlockAccessListStorageChange storage_changes = 2 + [ json_name = "storage_changes" ]; + repeated BlockAccessListBalanceChange balance_changes = 3 + [ json_name = "balance_changes" ]; + repeated BlockAccessListNonceChange nonce_changes = 4 + [ json_name = "nonce_changes" ]; + repeated BlockAccessListCodeChange code_changes = 5 + [ json_name = "code_changes" ]; + repeated BlockAccessListStorageRead storage_reads = 6 + [ json_name = "storage_reads" ]; +} + +message BlockAccessList { + repeated BlockAccessListEntry entries = 1; +} + +// BlockAccessListChange is a denormalized representation of a single change +// within a block access list. Used for ClickHouse storage where each change +// becomes one row. +message BlockAccessListChange { + google.protobuf.StringValue address = 1; + // change_type is one of: "storage", "balance", "nonce", "code", "storage_read", "touched" + string change_type = 2 [ json_name = "change_type" ]; + google.protobuf.UInt32Value block_access_index = 3 + [ json_name = "block_access_index" ]; + // storage_key is set only for storage changes + google.protobuf.StringValue storage_key = 4 [ json_name = "storage_key" ]; + // new_value contains the new value for any change type + google.protobuf.StringValue new_value = 5 [ json_name = "new_value" ]; +} diff --git a/pkg/proto/eth/v1/block_access_list_vtproto.pb.go b/pkg/proto/eth/v1/block_access_list_vtproto.pb.go new file mode 100644 index 00000000..a886b872 --- /dev/null +++ b/pkg/proto/eth/v1/block_access_list_vtproto.pb.go @@ -0,0 +1,2119 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/block_access_list.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *BlockAccessListStorageChange) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessListStorageChange) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessListStorageChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.NewValue != nil { + size, err := (*wrapperspb.StringValue)(m.NewValue).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Key != nil { + size, err := (*wrapperspb.StringValue)(m.Key).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.BlockAccessIndex != nil { + size, err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BlockAccessListBalanceChange) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessListBalanceChange) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessListBalanceChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.PostBalance != nil { + size, err := (*wrapperspb.StringValue)(m.PostBalance).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.BlockAccessIndex != nil { + size, err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BlockAccessListNonceChange) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessListNonceChange) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessListNonceChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.NewNonce != nil { + size, err := (*wrapperspb.UInt64Value)(m.NewNonce).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.BlockAccessIndex != nil { + size, err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BlockAccessListCodeChange) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessListCodeChange) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessListCodeChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.NewCode != nil { + size, err := (*wrapperspb.StringValue)(m.NewCode).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.BlockAccessIndex != nil { + size, err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BlockAccessListStorageRead) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessListStorageRead) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessListStorageRead) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Key != nil { + size, err := (*wrapperspb.StringValue)(m.Key).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BlockAccessListEntry) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessListEntry) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessListEntry) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.StorageReads) > 0 { + for iNdEx := len(m.StorageReads) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.StorageReads[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + } + if len(m.CodeChanges) > 0 { + for iNdEx := len(m.CodeChanges) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CodeChanges[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + } + if len(m.NonceChanges) > 0 { + for iNdEx := len(m.NonceChanges) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.NonceChanges[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.BalanceChanges) > 0 { + for iNdEx := len(m.BalanceChanges) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.BalanceChanges[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.StorageChanges) > 0 { + for iNdEx := len(m.StorageChanges) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.StorageChanges[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.Address != nil { + size, err := (*wrapperspb.StringValue)(m.Address).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BlockAccessList) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessList) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessList) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Entries) > 0 { + for iNdEx := len(m.Entries) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Entries[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *BlockAccessListChange) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlockAccessListChange) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BlockAccessListChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.NewValue != nil { + size, err := (*wrapperspb.StringValue)(m.NewValue).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.StorageKey != nil { + size, err := (*wrapperspb.StringValue)(m.StorageKey).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.BlockAccessIndex != nil { + size, err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if len(m.ChangeType) > 0 { + i -= len(m.ChangeType) + copy(dAtA[i:], m.ChangeType) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ChangeType))) + i-- + dAtA[i] = 0x12 + } + if m.Address != nil { + size, err := (*wrapperspb.StringValue)(m.Address).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_BlockAccessListStorageChange = sync.Pool{ + New: func() interface{} { + return &BlockAccessListStorageChange{} + }, +} + +func (m *BlockAccessListStorageChange) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BlockAccessListStorageChange) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessListStorageChange.Put(m) + } +} +func BlockAccessListStorageChangeFromVTPool() *BlockAccessListStorageChange { + return vtprotoPool_BlockAccessListStorageChange.Get().(*BlockAccessListStorageChange) +} + +var vtprotoPool_BlockAccessListBalanceChange = sync.Pool{ + New: func() interface{} { + return &BlockAccessListBalanceChange{} + }, +} + +func (m *BlockAccessListBalanceChange) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BlockAccessListBalanceChange) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessListBalanceChange.Put(m) + } +} +func BlockAccessListBalanceChangeFromVTPool() *BlockAccessListBalanceChange { + return vtprotoPool_BlockAccessListBalanceChange.Get().(*BlockAccessListBalanceChange) +} + +var vtprotoPool_BlockAccessListNonceChange = sync.Pool{ + New: func() interface{} { + return &BlockAccessListNonceChange{} + }, +} + +func (m *BlockAccessListNonceChange) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BlockAccessListNonceChange) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessListNonceChange.Put(m) + } +} +func BlockAccessListNonceChangeFromVTPool() *BlockAccessListNonceChange { + return vtprotoPool_BlockAccessListNonceChange.Get().(*BlockAccessListNonceChange) +} + +var vtprotoPool_BlockAccessListCodeChange = sync.Pool{ + New: func() interface{} { + return &BlockAccessListCodeChange{} + }, +} + +func (m *BlockAccessListCodeChange) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BlockAccessListCodeChange) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessListCodeChange.Put(m) + } +} +func BlockAccessListCodeChangeFromVTPool() *BlockAccessListCodeChange { + return vtprotoPool_BlockAccessListCodeChange.Get().(*BlockAccessListCodeChange) +} + +var vtprotoPool_BlockAccessListStorageRead = sync.Pool{ + New: func() interface{} { + return &BlockAccessListStorageRead{} + }, +} + +func (m *BlockAccessListStorageRead) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BlockAccessListStorageRead) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessListStorageRead.Put(m) + } +} +func BlockAccessListStorageReadFromVTPool() *BlockAccessListStorageRead { + return vtprotoPool_BlockAccessListStorageRead.Get().(*BlockAccessListStorageRead) +} + +var vtprotoPool_BlockAccessListEntry = sync.Pool{ + New: func() interface{} { + return &BlockAccessListEntry{} + }, +} + +func (m *BlockAccessListEntry) ResetVT() { + if m != nil { + for _, mm := range m.StorageChanges { + mm.ResetVT() + } + f0 := m.StorageChanges[:0] + for _, mm := range m.BalanceChanges { + mm.ResetVT() + } + f1 := m.BalanceChanges[:0] + for _, mm := range m.NonceChanges { + mm.ResetVT() + } + f2 := m.NonceChanges[:0] + for _, mm := range m.CodeChanges { + mm.ResetVT() + } + f3 := m.CodeChanges[:0] + for _, mm := range m.StorageReads { + mm.ResetVT() + } + f4 := m.StorageReads[:0] + m.Reset() + m.StorageChanges = f0 + m.BalanceChanges = f1 + m.NonceChanges = f2 + m.CodeChanges = f3 + m.StorageReads = f4 + } +} +func (m *BlockAccessListEntry) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessListEntry.Put(m) + } +} +func BlockAccessListEntryFromVTPool() *BlockAccessListEntry { + return vtprotoPool_BlockAccessListEntry.Get().(*BlockAccessListEntry) +} + +var vtprotoPool_BlockAccessList = sync.Pool{ + New: func() interface{} { + return &BlockAccessList{} + }, +} + +func (m *BlockAccessList) ResetVT() { + if m != nil { + for _, mm := range m.Entries { + mm.ResetVT() + } + f0 := m.Entries[:0] + m.Reset() + m.Entries = f0 + } +} +func (m *BlockAccessList) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessList.Put(m) + } +} +func BlockAccessListFromVTPool() *BlockAccessList { + return vtprotoPool_BlockAccessList.Get().(*BlockAccessList) +} + +var vtprotoPool_BlockAccessListChange = sync.Pool{ + New: func() interface{} { + return &BlockAccessListChange{} + }, +} + +func (m *BlockAccessListChange) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BlockAccessListChange) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlockAccessListChange.Put(m) + } +} +func BlockAccessListChangeFromVTPool() *BlockAccessListChange { + return vtprotoPool_BlockAccessListChange.Get().(*BlockAccessListChange) +} +func (m *BlockAccessListStorageChange) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BlockAccessIndex != nil { + l = (*wrapperspb.UInt32Value)(m.BlockAccessIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Key != nil { + l = (*wrapperspb.StringValue)(m.Key).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.NewValue != nil { + l = (*wrapperspb.StringValue)(m.NewValue).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessListBalanceChange) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BlockAccessIndex != nil { + l = (*wrapperspb.UInt32Value)(m.BlockAccessIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PostBalance != nil { + l = (*wrapperspb.StringValue)(m.PostBalance).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessListNonceChange) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BlockAccessIndex != nil { + l = (*wrapperspb.UInt32Value)(m.BlockAccessIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.NewNonce != nil { + l = (*wrapperspb.UInt64Value)(m.NewNonce).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessListCodeChange) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BlockAccessIndex != nil { + l = (*wrapperspb.UInt32Value)(m.BlockAccessIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.NewCode != nil { + l = (*wrapperspb.StringValue)(m.NewCode).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessListStorageRead) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Key != nil { + l = (*wrapperspb.StringValue)(m.Key).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessListEntry) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Address != nil { + l = (*wrapperspb.StringValue)(m.Address).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.StorageChanges) > 0 { + for _, e := range m.StorageChanges { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.BalanceChanges) > 0 { + for _, e := range m.BalanceChanges { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.NonceChanges) > 0 { + for _, e := range m.NonceChanges { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.CodeChanges) > 0 { + for _, e := range m.CodeChanges { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.StorageReads) > 0 { + for _, e := range m.StorageReads { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessList) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Entries) > 0 { + for _, e := range m.Entries { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessListChange) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Address != nil { + l = (*wrapperspb.StringValue)(m.Address).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ChangeType) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlockAccessIndex != nil { + l = (*wrapperspb.UInt32Value)(m.BlockAccessIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StorageKey != nil { + l = (*wrapperspb.StringValue)(m.StorageKey).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.NewValue != nil { + l = (*wrapperspb.StringValue)(m.NewValue).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BlockAccessListStorageChange) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessListStorageChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessListStorageChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockAccessIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockAccessIndex == nil { + m.BlockAccessIndex = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Key == nil { + m.Key = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Key).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NewValue == nil { + m.NewValue = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.NewValue).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockAccessListBalanceChange) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessListBalanceChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessListBalanceChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockAccessIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockAccessIndex == nil { + m.BlockAccessIndex = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PostBalance", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PostBalance == nil { + m.PostBalance = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.PostBalance).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockAccessListNonceChange) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessListNonceChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessListNonceChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockAccessIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockAccessIndex == nil { + m.BlockAccessIndex = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewNonce", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NewNonce == nil { + m.NewNonce = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.NewNonce).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockAccessListCodeChange) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessListCodeChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessListCodeChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockAccessIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockAccessIndex == nil { + m.BlockAccessIndex = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewCode", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NewCode == nil { + m.NewCode = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.NewCode).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockAccessListStorageRead) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessListStorageRead: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessListStorageRead: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Key == nil { + m.Key = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Key).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockAccessListEntry) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessListEntry: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessListEntry: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Address == nil { + m.Address = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Address).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorageChanges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.StorageChanges) == cap(m.StorageChanges) { + m.StorageChanges = append(m.StorageChanges, &BlockAccessListStorageChange{}) + } else { + m.StorageChanges = m.StorageChanges[:len(m.StorageChanges)+1] + if m.StorageChanges[len(m.StorageChanges)-1] == nil { + m.StorageChanges[len(m.StorageChanges)-1] = &BlockAccessListStorageChange{} + } + } + if err := m.StorageChanges[len(m.StorageChanges)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BalanceChanges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.BalanceChanges) == cap(m.BalanceChanges) { + m.BalanceChanges = append(m.BalanceChanges, &BlockAccessListBalanceChange{}) + } else { + m.BalanceChanges = m.BalanceChanges[:len(m.BalanceChanges)+1] + if m.BalanceChanges[len(m.BalanceChanges)-1] == nil { + m.BalanceChanges[len(m.BalanceChanges)-1] = &BlockAccessListBalanceChange{} + } + } + if err := m.BalanceChanges[len(m.BalanceChanges)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NonceChanges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.NonceChanges) == cap(m.NonceChanges) { + m.NonceChanges = append(m.NonceChanges, &BlockAccessListNonceChange{}) + } else { + m.NonceChanges = m.NonceChanges[:len(m.NonceChanges)+1] + if m.NonceChanges[len(m.NonceChanges)-1] == nil { + m.NonceChanges[len(m.NonceChanges)-1] = &BlockAccessListNonceChange{} + } + } + if err := m.NonceChanges[len(m.NonceChanges)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CodeChanges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.CodeChanges) == cap(m.CodeChanges) { + m.CodeChanges = append(m.CodeChanges, &BlockAccessListCodeChange{}) + } else { + m.CodeChanges = m.CodeChanges[:len(m.CodeChanges)+1] + if m.CodeChanges[len(m.CodeChanges)-1] == nil { + m.CodeChanges[len(m.CodeChanges)-1] = &BlockAccessListCodeChange{} + } + } + if err := m.CodeChanges[len(m.CodeChanges)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorageReads", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.StorageReads) == cap(m.StorageReads) { + m.StorageReads = append(m.StorageReads, &BlockAccessListStorageRead{}) + } else { + m.StorageReads = m.StorageReads[:len(m.StorageReads)+1] + if m.StorageReads[len(m.StorageReads)-1] == nil { + m.StorageReads[len(m.StorageReads)-1] = &BlockAccessListStorageRead{} + } + } + if err := m.StorageReads[len(m.StorageReads)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockAccessList) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Entries", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.Entries) == cap(m.Entries) { + m.Entries = append(m.Entries, &BlockAccessListEntry{}) + } else { + m.Entries = m.Entries[:len(m.Entries)+1] + if m.Entries[len(m.Entries)-1] == nil { + m.Entries[len(m.Entries)-1] = &BlockAccessListEntry{} + } + } + if err := m.Entries[len(m.Entries)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockAccessListChange) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockAccessListChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockAccessListChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Address == nil { + m.Address = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Address).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChangeType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChangeType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockAccessIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockAccessIndex == nil { + m.BlockAccessIndex = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.BlockAccessIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorageKey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StorageKey == nil { + m.StorageKey = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.StorageKey).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NewValue == nil { + m.NewValue = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.NewValue).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v1/builder.pb.go b/pkg/proto/eth/v1/builder.pb.go new file mode 100644 index 00000000..5c80eb48 --- /dev/null +++ b/pkg/proto/eth/v1/builder.pb.go @@ -0,0 +1,221 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/builder.proto + +// EIP-7732: ePBS Builder type +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#builder + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Builder represents an enshrined builder in the beacon state. +type Builder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + // uint8 in the spec; proto3 has no uint8, so we use UInt32Value. + Version *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + ExecutionAddress string `protobuf:"bytes,3,opt,name=execution_address,proto3" json:"execution_address,omitempty"` + Balance *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=balance,proto3" json:"balance,omitempty"` + DepositEpoch *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=deposit_epoch,proto3" json:"deposit_epoch,omitempty"` + WithdrawableEpoch *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=withdrawable_epoch,proto3" json:"withdrawable_epoch,omitempty"` +} + +func (x *Builder) Reset() { + *x = Builder{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_builder_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Builder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Builder) ProtoMessage() {} + +func (x *Builder) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_builder_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Builder.ProtoReflect.Descriptor instead. +func (*Builder) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_builder_proto_rawDescGZIP(), []int{0} +} + +func (x *Builder) GetPubkey() string { + if x != nil { + return x.Pubkey + } + return "" +} + +func (x *Builder) GetVersion() *wrapperspb.UInt32Value { + if x != nil { + return x.Version + } + return nil +} + +func (x *Builder) GetExecutionAddress() string { + if x != nil { + return x.ExecutionAddress + } + return "" +} + +func (x *Builder) GetBalance() *wrapperspb.UInt64Value { + if x != nil { + return x.Balance + } + return nil +} + +func (x *Builder) GetDepositEpoch() *wrapperspb.UInt64Value { + if x != nil { + return x.DepositEpoch + } + return nil +} + +func (x *Builder) GetWithdrawableEpoch() *wrapperspb.UInt64Value { + if x != nil { + return x.WithdrawableEpoch + } + return nil +} + +var File_pkg_proto_eth_v1_builder_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_builder_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0b, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xd1, 0x02, 0x0a, 0x07, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x12, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x12, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, + 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, + 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_builder_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_builder_proto_rawDescData = file_pkg_proto_eth_v1_builder_proto_rawDesc +) + +func file_pkg_proto_eth_v1_builder_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_builder_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_builder_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_builder_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_builder_proto_rawDescData +} + +var file_pkg_proto_eth_v1_builder_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_proto_eth_v1_builder_proto_goTypes = []any{ + (*Builder)(nil), // 0: xatu.eth.v1.Builder + (*wrapperspb.UInt32Value)(nil), // 1: google.protobuf.UInt32Value + (*wrapperspb.UInt64Value)(nil), // 2: google.protobuf.UInt64Value +} +var file_pkg_proto_eth_v1_builder_proto_depIdxs = []int32{ + 1, // 0: xatu.eth.v1.Builder.version:type_name -> google.protobuf.UInt32Value + 2, // 1: xatu.eth.v1.Builder.balance:type_name -> google.protobuf.UInt64Value + 2, // 2: xatu.eth.v1.Builder.deposit_epoch:type_name -> google.protobuf.UInt64Value + 2, // 3: xatu.eth.v1.Builder.withdrawable_epoch:type_name -> google.protobuf.UInt64Value + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_builder_proto_init() } +func file_pkg_proto_eth_v1_builder_proto_init() { + if File_pkg_proto_eth_v1_builder_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_builder_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*Builder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_builder_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_builder_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_builder_proto_depIdxs, + MessageInfos: file_pkg_proto_eth_v1_builder_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_builder_proto = out.File + file_pkg_proto_eth_v1_builder_proto_rawDesc = nil + file_pkg_proto_eth_v1_builder_proto_goTypes = nil + file_pkg_proto_eth_v1_builder_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/builder.proto b/pkg/proto/eth/v1/builder.proto new file mode 100644 index 00000000..420c6aea --- /dev/null +++ b/pkg/proto/eth/v1/builder.proto @@ -0,0 +1,29 @@ +syntax = "proto3"; + +// EIP-7732: ePBS Builder type +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#builder + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/wrappers.proto"; + +// Builder represents an enshrined builder in the beacon state. +message Builder { + string pubkey = 1; + + // uint8 in the spec; proto3 has no uint8, so we use UInt32Value. + google.protobuf.UInt32Value version = 2; + + string execution_address = 3 [ json_name = "execution_address" ]; + + google.protobuf.UInt64Value balance = 4; + + google.protobuf.UInt64Value deposit_epoch = 5 + [ json_name = "deposit_epoch" ]; + + google.protobuf.UInt64Value withdrawable_epoch = 6 + [ json_name = "withdrawable_epoch" ]; +} diff --git a/pkg/proto/eth/v1/builder_vtproto.pb.go b/pkg/proto/eth/v1/builder_vtproto.pb.go new file mode 100644 index 00000000..ed9e216b --- /dev/null +++ b/pkg/proto/eth/v1/builder_vtproto.pb.go @@ -0,0 +1,423 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/builder.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *Builder) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Builder) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Builder) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.WithdrawableEpoch != nil { + size, err := (*wrapperspb.UInt64Value)(m.WithdrawableEpoch).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.DepositEpoch != nil { + size, err := (*wrapperspb.UInt64Value)(m.DepositEpoch).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Balance != nil { + size, err := (*wrapperspb.UInt64Value)(m.Balance).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if len(m.ExecutionAddress) > 0 { + i -= len(m.ExecutionAddress) + copy(dAtA[i:], m.ExecutionAddress) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExecutionAddress))) + i-- + dAtA[i] = 0x1a + } + if m.Version != nil { + size, err := (*wrapperspb.UInt32Value)(m.Version).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.Pubkey) > 0 { + i -= len(m.Pubkey) + copy(dAtA[i:], m.Pubkey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Pubkey))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_Builder = sync.Pool{ + New: func() interface{} { + return &Builder{} + }, +} + +func (m *Builder) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *Builder) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_Builder.Put(m) + } +} +func BuilderFromVTPool() *Builder { + return vtprotoPool_Builder.Get().(*Builder) +} +func (m *Builder) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Pubkey) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Version != nil { + l = (*wrapperspb.UInt32Value)(m.Version).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ExecutionAddress) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Balance != nil { + l = (*wrapperspb.UInt64Value)(m.Balance).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DepositEpoch != nil { + l = (*wrapperspb.UInt64Value)(m.DepositEpoch).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WithdrawableEpoch != nil { + l = (*wrapperspb.UInt64Value)(m.WithdrawableEpoch).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Builder) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Builder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Builder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pubkey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Version == nil { + m.Version = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.Version).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExecutionAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Balance", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Balance == nil { + m.Balance = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Balance).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DepositEpoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DepositEpoch == nil { + m.DepositEpoch = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.DepositEpoch).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WithdrawableEpoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.WithdrawableEpoch == nil { + m.WithdrawableEpoch = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.WithdrawableEpoch).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v1/conversion.go b/pkg/proto/eth/v1/conversion.go index bfa2da52..bdac6ef9 100644 --- a/pkg/proto/eth/v1/conversion.go +++ b/pkg/proto/eth/v1/conversion.go @@ -4,9 +4,13 @@ import ( "encoding/hex" "fmt" + "github.com/ethereum/go-ethereum/core/types/bal" + "github.com/ethereum/go-ethereum/rlp" + apiv1 "github.com/ethpandaops/go-eth2-client/api/v1" "github.com/ethpandaops/go-eth2-client/spec/capella" "github.com/ethpandaops/go-eth2-client/spec/deneb" "github.com/ethpandaops/go-eth2-client/spec/electra" + "github.com/ethpandaops/go-eth2-client/spec/gloas" "github.com/ethpandaops/go-eth2-client/spec/phase0" wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" ) @@ -359,3 +363,242 @@ func NewElectraExecutionRequestsFromElectra(data *electra.ExecutionRequests) *El return requests } + +// NewBlockAccessListFromGloas decodes a raw RLP-encoded block access list +// (EIP-7928) into the structured proto representation. +func NewBlockAccessListFromGloas(rawBAL gloas.BlockAccessList) *BlockAccessList { + if len(rawBAL) == 0 { + return &BlockAccessList{} + } + + var accesses bal.BlockAccessList + if err := rlp.DecodeBytes(rawBAL, &accesses); err != nil { + return &BlockAccessList{} + } + + entries := make([]*BlockAccessListEntry, 0, len(accesses)) + + for i := range accesses { + access := &accesses[i] + entry := &BlockAccessListEntry{ + Address: &wrapperspb.StringValue{Value: fmt.Sprintf("0x%x", access.Address)}, + } + + // Storage changes: each slot has multiple writes keyed by tx index + for _, slotWrite := range access.StorageChanges { + slotHash := slotWrite.Slot.ToHash() + + for _, write := range slotWrite.Accesses { + valueHash := write.ValueAfter.ToHash() + + entry.StorageChanges = append(entry.StorageChanges, &BlockAccessListStorageChange{ + BlockAccessIndex: &wrapperspb.UInt32Value{Value: write.TxIdx}, + Key: &wrapperspb.StringValue{Value: fmt.Sprintf("0x%x", slotHash)}, + NewValue: &wrapperspb.StringValue{Value: fmt.Sprintf("0x%x", valueHash)}, + }) + } + } + + // Balance changes + for _, change := range access.BalanceChanges { + entry.BalanceChanges = append(entry.BalanceChanges, &BlockAccessListBalanceChange{ + BlockAccessIndex: &wrapperspb.UInt32Value{Value: change.TxIdx}, + PostBalance: &wrapperspb.StringValue{Value: change.Balance.String()}, + }) + } + + // Nonce changes + for _, change := range access.NonceChanges { + entry.NonceChanges = append(entry.NonceChanges, &BlockAccessListNonceChange{ + BlockAccessIndex: &wrapperspb.UInt32Value{Value: change.TxIdx}, + NewNonce: &wrapperspb.UInt64Value{Value: change.Nonce}, + }) + } + + // Code changes + for _, code := range access.CodeChanges { + entry.CodeChanges = append(entry.CodeChanges, &BlockAccessListCodeChange{ + BlockAccessIndex: &wrapperspb.UInt32Value{Value: uint32(code.TxIndex)}, + NewCode: &wrapperspb.StringValue{Value: fmt.Sprintf("0x%x", code.Code)}, + }) + } + + // Storage reads (read-only slots, no value or tx index) + for _, slot := range access.StorageReads { + slotHash := slot.ToHash() + + entry.StorageReads = append(entry.StorageReads, &BlockAccessListStorageRead{ + Key: &wrapperspb.StringValue{Value: fmt.Sprintf("0x%x", slotHash)}, + }) + } + + entries = append(entries, entry) + } + + return &BlockAccessList{Entries: entries} +} + +// NewSignedExecutionPayloadBidFromGloas converts the SDK's Gloas (EIP-7732) +// signed bid into our proto representation. Returns nil if the input is nil so +// callers on pre-Gloas paths leave the proto field unset. +func NewSignedExecutionPayloadBidFromGloas(bid *gloas.SignedExecutionPayloadBid) *SignedExecutionPayloadBid { + if bid == nil || bid.Message == nil { + return nil + } + + msg := bid.Message + + commitments := make([]string, 0, len(msg.BlobKZGCommitments)) + for _, c := range msg.BlobKZGCommitments { + commitments = append(commitments, KzgCommitmentToString(c)) + } + + return &SignedExecutionPayloadBid{ + Message: &ExecutionPayloadBid{ + ParentBlockHash: msg.ParentBlockHash.String(), + ParentBlockRoot: msg.ParentBlockRoot.String(), + BlockHash: msg.BlockHash.String(), + PrevRandao: msg.PrevRandao.String(), + FeeRecipient: msg.FeeRecipient.String(), + GasLimit: &wrapperspb.UInt64Value{Value: msg.GasLimit}, + BuilderIndex: &wrapperspb.UInt64Value{Value: uint64(msg.BuilderIndex)}, + Slot: &wrapperspb.UInt64Value{Value: uint64(msg.Slot)}, + Value: &wrapperspb.UInt64Value{Value: uint64(msg.Value)}, + ExecutionPayment: &wrapperspb.UInt64Value{Value: uint64(msg.ExecutionPayment)}, + BlobKzgCommitments: commitments, + ExecutionRequestsRoot: msg.ExecutionRequestsRoot.String(), + }, + Signature: bid.Signature.String(), + } +} + +// NewSignedExecutionPayloadEnvelopeFromGloas converts the SDK's Gloas envelope +// into our proto representation for sentry SSE emission. The payload section +// is populated with metadata (block hash, state root, block number, fee +// recipient, slot number) but bulk fields (transactions, withdrawals, +// block_access_list, extra_data) are intentionally omitted — those are +// captured via cannon backfill or libp2p gossip paths to keep the SSE-emitted +// DecoratedEvent compact. Returns nil if the input is nil. +func NewSignedExecutionPayloadEnvelopeFromGloas(envelope *gloas.SignedExecutionPayloadEnvelope) *SignedExecutionPayloadEnvelope { + if envelope == nil || envelope.Message == nil { + return nil + } + + msg := envelope.Message + + out := &ExecutionPayloadEnvelope{ + BuilderIndex: &wrapperspb.UInt64Value{Value: uint64(msg.BuilderIndex)}, + BeaconBlockRoot: msg.BeaconBlockRoot.String(), + ParentBeaconBlockRoot: msg.ParentBeaconBlockRoot.String(), + } + + if msg.Payload != nil { + p := msg.Payload + out.Payload = &ExecutionPayloadGloas{ + ParentHash: p.ParentHash.String(), + FeeRecipient: p.FeeRecipient.String(), + StateRoot: p.StateRoot.String(), + ReceiptsRoot: p.ReceiptsRoot.String(), + PrevRandao: fmt.Sprintf("%#x", p.PrevRandao), + BlockNumber: &wrapperspb.UInt64Value{Value: p.BlockNumber}, + GasLimit: &wrapperspb.UInt64Value{Value: p.GasLimit}, + GasUsed: &wrapperspb.UInt64Value{Value: p.GasUsed}, + Timestamp: &wrapperspb.UInt64Value{Value: p.Timestamp}, + BlockHash: p.BlockHash.String(), + BlobGasUsed: &wrapperspb.UInt64Value{Value: p.BlobGasUsed}, + ExcessBlobGas: &wrapperspb.UInt64Value{Value: p.ExcessBlobGas}, + SlotNumber: &wrapperspb.UInt64Value{Value: p.SlotNumber}, + } + } + + return &SignedExecutionPayloadEnvelope{ + Message: out, + Signature: envelope.Signature.String(), + } +} + +// NewPayloadAttestationMessageFromGloas converts an individual PTC validator's +// payload attestation message into our proto representation. Used by the +// payload_attestation_message SSE handler (one per PTC validator per slot, ~512 +// per slot). The aggregated form is converted by NewPayloadAttestationsFromGloas. +func NewPayloadAttestationMessageFromGloas(msg *gloas.PayloadAttestationMessage) *PayloadAttestationMessage { + if msg == nil { + return nil + } + + return &PayloadAttestationMessage{ + ValidatorIndex: &wrapperspb.UInt64Value{Value: uint64(msg.ValidatorIndex)}, + Data: newPayloadAttestationDataFromGloas(msg.Data), + Signature: msg.Signature.String(), + } +} + +// NewSignedProposerPreferencesFromGloas converts the SDK's Gloas signed +// proposer preferences into our proto representation. Returns nil if the +// input is nil. +func NewSignedProposerPreferencesFromGloas(prefs *gloas.SignedProposerPreferences) *SignedProposerPreferences { + if prefs == nil || prefs.Message == nil { + return nil + } + + msg := prefs.Message + + return &SignedProposerPreferences{ + Message: &ProposerPreferences{ + ProposalSlot: &wrapperspb.UInt64Value{Value: uint64(msg.ProposalSlot)}, + ValidatorIndex: &wrapperspb.UInt64Value{Value: uint64(msg.ValidatorIndex)}, + FeeRecipient: msg.FeeRecipient.String(), + GasLimit: &wrapperspb.UInt64Value{Value: msg.GasLimit}, + DependentRoot: msg.DependentRoot.String(), + }, + Signature: prefs.Signature.String(), + } +} + +// NewExecutionPayloadAvailableFromAPIV1 converts the SDK's +// execution_payload_available SSE event (block_root + slot signal) into our +// proto representation. +func NewExecutionPayloadAvailableFromAPIV1(ev *apiv1.ExecutionPayloadAvailableEvent) *ExecutionPayloadAvailable { + if ev == nil { + return nil + } + + return &ExecutionPayloadAvailable{ + BlockRoot: ev.BlockRoot.String(), + Slot: &wrapperspb.UInt64Value{Value: uint64(ev.Slot)}, + } +} + +// NewPayloadAttestationsFromGloas converts the SDK's Gloas (EIP-7732) payload +// attestations into our proto representation. Up to MAX_PAYLOAD_ATTESTATIONS=4 +// entries per block. +func NewPayloadAttestationsFromGloas(data []*gloas.PayloadAttestation) []*PayloadAttestation { + attestations := make([]*PayloadAttestation, 0, len(data)) + + for _, a := range data { + if a == nil { + continue + } + + attestations = append(attestations, &PayloadAttestation{ + AggregationBits: fmt.Sprintf("0x%x", a.AggregationBits), + Data: newPayloadAttestationDataFromGloas(a.Data), + Signature: a.Signature.String(), + }) + } + + return attestations +} + +func newPayloadAttestationDataFromGloas(data *gloas.PayloadAttestationData) *PayloadAttestationData { + if data == nil { + return nil + } + + return &PayloadAttestationData{ + BeaconBlockRoot: data.BeaconBlockRoot.String(), + Slot: &wrapperspb.UInt64Value{Value: uint64(data.Slot)}, + PayloadPresent: data.PayloadPresent, + BlobDataAvailable: data.BlobDataAvailable, + } +} diff --git a/pkg/proto/eth/v1/conversion_test.go b/pkg/proto/eth/v1/conversion_test.go index 61d21aed..ac36122a 100644 --- a/pkg/proto/eth/v1/conversion_test.go +++ b/pkg/proto/eth/v1/conversion_test.go @@ -1,6 +1,20 @@ package v1 -import "testing" +import ( + "encoding/hex" + "fmt" + "testing" + + bitfield "github.com/OffchainLabs/go-bitfield" + apiv1 "github.com/ethpandaops/go-eth2-client/api/v1" + "github.com/ethpandaops/go-eth2-client/spec/bellatrix" + "github.com/ethpandaops/go-eth2-client/spec/capella" + "github.com/ethpandaops/go-eth2-client/spec/deneb" + "github.com/ethpandaops/go-eth2-client/spec/electra" + "github.com/ethpandaops/go-eth2-client/spec/gloas" + "github.com/ethpandaops/go-eth2-client/spec/phase0" + "github.com/holiman/uint256" +) func TestTrimmedString(t *testing.T) { tests := []struct { @@ -48,3 +62,568 @@ func TestTrimmedString(t *testing.T) { }) } } + +func TestNewBlockAccessListFromGloas_Empty(t *testing.T) { + result := NewBlockAccessListFromGloas(nil) + if result == nil { + t.Fatal("expected non-nil result for nil input") + } + + if len(result.GetEntries()) != 0 { + t.Errorf("expected 0 entries, got %d", len(result.GetEntries())) + } +} + +func TestNewBlockAccessListFromGloas_InvalidRLP(t *testing.T) { + result := NewBlockAccessListFromGloas([]byte{0xff, 0xfe, 0xfd}) + if result == nil { + t.Fatal("expected non-nil result for invalid RLP") + } + + if len(result.GetEntries()) != 0 { + t.Errorf("expected 0 entries for invalid RLP, got %d", len(result.GetEntries())) + } +} + +// TestNewBlockAccessListFromGloas_RealDevnetData tests decoding real BAL data +// captured from a Gloas devnet beacon node (slot 200). Contains 4 entries: +// - Withdrawal Request Contract (reads only) +// - Consolidation Request Contract (reads only) +// - History Storage Contract (1 storage write) +// - Beacon Roots Contract (2 storage writes) +func TestNewBlockAccessListFromGloas_RealDevnetData(t *testing.T) { + rawHex := "f8d1de9400000961ef480eb55e80d19ad83579a64c007002c0c480010203c0c0c0" + + "de940000bbddc7ce488642fb579f8b00f3a590007251c0c480010203c0c0c0" + + "f841940000f90827f1c53a10cb7a02335b175320002935e7e681c7e3e280a02da04ac41c52c5ed22ac6e519822f2a3b5e852d835cab242548ba7cd531b8519c0c0c0c0" + + "f84e94000f3df6d732807ef1319fb7b8bb8522d0beac02f4cb821316c7c6808469c1e4ede7823315e3e280a03879f24e13e88a5db134e7092a18829d88875fc5c4252d3f27b21b7a96fd2e8bc0c0c0c0" + + rawBytes, err := hex.DecodeString(rawHex) + if err != nil { + t.Fatalf("failed to decode hex: %v", err) + } + + result := NewBlockAccessListFromGloas(rawBytes) + + if len(result.GetEntries()) != 4 { + t.Fatalf("expected 4 entries, got %d", len(result.GetEntries())) + } + + // Entry 0: Withdrawal Request Contract - reads only, no writes + entry0 := result.GetEntries()[0] + if got := entry0.GetAddress().GetValue(); got != "0x00000961ef480eb55e80d19ad83579a64c007002" { + t.Errorf("entry 0 address: got %s", got) + } + + if len(entry0.GetStorageChanges()) != 0 { + t.Errorf("entry 0: expected 0 storage changes, got %d", len(entry0.GetStorageChanges())) + } + + if len(entry0.GetStorageReads()) != 4 { + t.Fatalf("entry 0: expected 4 storage reads, got %d", len(entry0.GetStorageReads())) + } + + // Verify read slots are sequential (0x00, 0x01, 0x02, 0x03) + for i, r := range entry0.GetStorageReads() { + expected := fmt.Sprintf("0x00000000000000000000000000000000000000000000000000000000000000%02x", i) + if r.GetKey().GetValue() != expected { + t.Errorf("entry 0 read[%d]: expected %s, got %s", i, expected, r.GetKey().GetValue()) + } + } + + // Entry 2: History Storage Contract - 1 storage write + entry2 := result.GetEntries()[2] + if len(entry2.GetStorageChanges()) != 1 { + t.Fatalf("entry 2: expected 1 storage change, got %d", len(entry2.GetStorageChanges())) + } + + sc := entry2.GetStorageChanges()[0] + if sc.GetBlockAccessIndex().GetValue() != 0 { + t.Errorf("expected block_access_index=0, got %d", sc.GetBlockAccessIndex().GetValue()) + } + + // Entry 3: Beacon Roots Contract - 2 storage writes + entry3 := result.GetEntries()[3] + if got := entry3.GetAddress().GetValue(); got != "0x000f3df6d732807ef1319fb7b8bb8522d0beac02" { + t.Errorf("entry 3 address: got %s", got) + } + + if len(entry3.GetStorageChanges()) != 2 { + t.Fatalf("entry 3: expected 2 storage changes, got %d", len(entry3.GetStorageChanges())) + } +} + +func TestNewSignedExecutionPayloadBidFromGloas_Nil(t *testing.T) { + if got := NewSignedExecutionPayloadBidFromGloas(nil); got != nil { + t.Errorf("expected nil for nil input, got %v", got) + } + + if got := NewSignedExecutionPayloadBidFromGloas(&gloas.SignedExecutionPayloadBid{}); got != nil { + t.Errorf("expected nil for bid with nil Message, got %v", got) + } +} + +func TestNewSignedExecutionPayloadBidFromGloas_Populated(t *testing.T) { + parentHash := phase0.Hash32{0x11, 0x22} + parentRoot := phase0.Root{0x33, 0x44} + blockHash := phase0.Hash32{0x55, 0x66} + prevRandao := phase0.Root{0x77, 0x88} + feeRecipient := bellatrix.ExecutionAddress{0x99, 0xaa} + commitment := deneb.KZGCommitment{0xbb, 0xcc} + + executionRequestsRoot := phase0.Root{0xbe, 0xef} + + bid := &gloas.SignedExecutionPayloadBid{ + Message: &gloas.ExecutionPayloadBid{ + ParentBlockHash: parentHash, + ParentBlockRoot: parentRoot, + BlockHash: blockHash, + PrevRandao: prevRandao, + FeeRecipient: feeRecipient, + GasLimit: 30_000_000, + BuilderIndex: gloas.BuilderIndex(7), + Slot: phase0.Slot(99), + Value: phase0.Gwei(123_456), + ExecutionPayment: phase0.Gwei(7_890), + BlobKZGCommitments: []deneb.KZGCommitment{commitment}, + ExecutionRequestsRoot: executionRequestsRoot, + }, + Signature: phase0.BLSSignature{0xde, 0xad, 0xbe, 0xef}, + } + + got := NewSignedExecutionPayloadBidFromGloas(bid) + if got == nil { + t.Fatal("expected non-nil result") + } + + msg := got.GetMessage() + if msg == nil { + t.Fatal("expected non-nil message") + } + + if msg.GetParentBlockHash() != parentHash.String() { + t.Errorf("parent_block_hash mismatch: got %q want %q", msg.GetParentBlockHash(), parentHash.String()) + } + + if msg.GetParentBlockRoot() != parentRoot.String() { + t.Errorf("parent_block_root mismatch: got %q want %q", msg.GetParentBlockRoot(), parentRoot.String()) + } + + if msg.GetBlockHash() != blockHash.String() { + t.Errorf("block_hash mismatch: got %q want %q", msg.GetBlockHash(), blockHash.String()) + } + + if msg.GetFeeRecipient() != feeRecipient.String() { + t.Errorf("fee_recipient mismatch: got %q want %q", msg.GetFeeRecipient(), feeRecipient.String()) + } + + if v := msg.GetGasLimit().GetValue(); v != 30_000_000 { + t.Errorf("gas_limit: got %d want 30000000", v) + } + + if v := msg.GetBuilderIndex().GetValue(); v != 7 { + t.Errorf("builder_index: got %d want 7", v) + } + + if v := msg.GetSlot().GetValue(); v != 99 { + t.Errorf("slot: got %d want 99", v) + } + + if v := msg.GetValue().GetValue(); v != 123_456 { + t.Errorf("value: got %d want 123456", v) + } + + if v := msg.GetExecutionPayment().GetValue(); v != 7_890 { + t.Errorf("execution_payment: got %d want 7890", v) + } + + if commitments := msg.GetBlobKzgCommitments(); len(commitments) != 1 { + t.Errorf("blob_kzg_commitments len: got %d want 1", len(commitments)) + } else if commitments[0] != KzgCommitmentToString(commitment) { + t.Errorf("blob_kzg_commitments[0]: got %q want %q", commitments[0], KzgCommitmentToString(commitment)) + } + + if got.GetSignature() != bid.Signature.String() { + t.Errorf("signature mismatch: got %q want %q", got.GetSignature(), bid.Signature.String()) + } + + if got := msg.GetExecutionRequestsRoot(); got != executionRequestsRoot.String() { + t.Errorf("execution_requests_root mismatch: got %q want %q", got, executionRequestsRoot.String()) + } +} + +func TestNewPayloadAttestationsFromGloas_Empty(t *testing.T) { + if got := NewPayloadAttestationsFromGloas(nil); len(got) != 0 { + t.Errorf("expected empty slice for nil input, got len %d", len(got)) + } + + if got := NewPayloadAttestationsFromGloas([]*gloas.PayloadAttestation{}); len(got) != 0 { + t.Errorf("expected empty slice for empty input, got len %d", len(got)) + } + + // Nil entries in the slice are skipped, not panicked on. + if got := NewPayloadAttestationsFromGloas([]*gloas.PayloadAttestation{nil}); len(got) != 0 { + t.Errorf("expected nil entries to be skipped, got len %d", len(got)) + } +} + +func TestNewPayloadAttestationsFromGloas_Populated(t *testing.T) { + bits := bitfield.NewBitvector512() + bits.SetBitAt(3, true) + bits.SetBitAt(11, true) + + beaconRoot := phase0.Root{0xa0, 0xb1} + + atts := []*gloas.PayloadAttestation{ + { + AggregationBits: bits, + Data: &gloas.PayloadAttestationData{ + BeaconBlockRoot: beaconRoot, + Slot: phase0.Slot(50), + PayloadPresent: true, + BlobDataAvailable: false, + }, + Signature: phase0.BLSSignature{0x01, 0x02}, + }, + } + + got := NewPayloadAttestationsFromGloas(atts) + if len(got) != 1 { + t.Fatalf("expected 1 attestation, got %d", len(got)) + } + + a := got[0] + + wantBits := fmt.Sprintf("0x%x", bits) + if a.GetAggregationBits() != wantBits { + t.Errorf("aggregation_bits: got %q want %q", a.GetAggregationBits(), wantBits) + } + + data := a.GetData() + if data == nil { + t.Fatal("expected non-nil data") + } + + if data.GetBeaconBlockRoot() != beaconRoot.String() { + t.Errorf("beacon_block_root: got %q want %q", data.GetBeaconBlockRoot(), beaconRoot.String()) + } + + if data.GetSlot().GetValue() != 50 { + t.Errorf("slot: got %d want 50", data.GetSlot().GetValue()) + } + + if !data.GetPayloadPresent() { + t.Error("expected payload_present=true") + } + + if data.GetBlobDataAvailable() { + t.Error("expected blob_data_available=false") + } + + if a.GetSignature() != atts[0].Signature.String() { + t.Errorf("signature mismatch: got %q want %q", a.GetSignature(), atts[0].Signature.String()) + } +} + +// TestNewPayloadAttestationsFromGloas_NilData ensures the conversion is robust +// against malformed inputs where Data is missing. +func TestNewPayloadAttestationsFromGloas_NilData(t *testing.T) { + atts := []*gloas.PayloadAttestation{ + { + AggregationBits: bitfield.NewBitvector512(), + Data: nil, + Signature: phase0.BLSSignature{}, + }, + } + + got := NewPayloadAttestationsFromGloas(atts) + if len(got) != 1 { + t.Fatalf("expected 1 attestation, got %d", len(got)) + } + + if got[0].GetData() != nil { + t.Errorf("expected nil data for input with nil Data, got %v", got[0].GetData()) + } +} + +func TestNewSignedExecutionPayloadEnvelopeFromGloas_Nil(t *testing.T) { + if got := NewSignedExecutionPayloadEnvelopeFromGloas(nil); got != nil { + t.Errorf("expected nil for nil input, got %v", got) + } + + if got := NewSignedExecutionPayloadEnvelopeFromGloas(&gloas.SignedExecutionPayloadEnvelope{}); got != nil { + t.Errorf("expected nil for envelope with nil Message, got %v", got) + } +} + +func TestNewSignedExecutionPayloadEnvelopeFromGloas_Populated(t *testing.T) { + beaconBlockRoot := phase0.Root{0x01, 0x02} + parentBeaconBlockRoot := phase0.Root{0x03, 0x04} + parentHash := phase0.Hash32{0x05, 0x06} + feeRecipient := bellatrix.ExecutionAddress{0x07, 0x08} + stateRoot := phase0.Root{0x09, 0x0a} + receiptsRoot := phase0.Root{0x0b, 0x0c} + blockHash := phase0.Hash32{0x0d, 0x0e} + + envelope := &gloas.SignedExecutionPayloadEnvelope{ + Message: &gloas.ExecutionPayloadEnvelope{ + BuilderIndex: gloas.BuilderIndex(42), + BeaconBlockRoot: beaconBlockRoot, + ParentBeaconBlockRoot: parentBeaconBlockRoot, + Payload: &gloas.ExecutionPayload{ + ParentHash: parentHash, + FeeRecipient: feeRecipient, + StateRoot: stateRoot, + ReceiptsRoot: receiptsRoot, + PrevRandao: [32]byte{0x0f, 0x10}, + BlockNumber: 1234, + GasLimit: 30_000_000, + GasUsed: 21_000, + Timestamp: 1_700_000_000, + BlockHash: blockHash, + BaseFeePerGas: uint256.NewInt(7), + BlobGasUsed: 131_072, + ExcessBlobGas: 0, + SlotNumber: 99, + }, + }, + Signature: phase0.BLSSignature{0xde, 0xad}, + } + + got := NewSignedExecutionPayloadEnvelopeFromGloas(envelope) + if got == nil { + t.Fatal("expected non-nil result") + } + + msg := got.GetMessage() + if msg == nil { + t.Fatal("expected non-nil envelope message") + } + + if v := msg.GetBuilderIndex().GetValue(); v != 42 { + t.Errorf("builder_index: got %d want 42", v) + } + + if msg.GetBeaconBlockRoot() != beaconBlockRoot.String() { + t.Errorf("beacon_block_root mismatch: got %q want %q", msg.GetBeaconBlockRoot(), beaconBlockRoot.String()) + } + + if msg.GetParentBeaconBlockRoot() != parentBeaconBlockRoot.String() { + t.Errorf("parent_beacon_block_root mismatch: got %q want %q", msg.GetParentBeaconBlockRoot(), parentBeaconBlockRoot.String()) + } + + payload := msg.GetPayload() + if payload == nil { + t.Fatal("expected non-nil payload") + } + + if payload.GetBlockHash() != blockHash.String() { + t.Errorf("payload block_hash mismatch: got %q want %q", payload.GetBlockHash(), blockHash.String()) + } + + if payload.GetStateRoot() != stateRoot.String() { + t.Errorf("payload state_root mismatch: got %q want %q", payload.GetStateRoot(), stateRoot.String()) + } + + if v := payload.GetBlockNumber().GetValue(); v != 1234 { + t.Errorf("payload block_number: got %d want 1234", v) + } + + if v := payload.GetSlotNumber().GetValue(); v != 99 { + t.Errorf("payload slot_number: got %d want 99", v) + } + + if got.GetSignature() != envelope.Signature.String() { + t.Errorf("signature mismatch: got %q want %q", got.GetSignature(), envelope.Signature.String()) + } +} + +// TestNewSignedExecutionPayloadEnvelopeFromGloas_OmitsBulkFields verifies that +// transactions, withdrawals, and BAL bytes are NOT populated by the SSE +// converter — those go via cannon backfill or libp2p paths to keep SSE events +// compact. +func TestNewSignedExecutionPayloadEnvelopeFromGloas_OmitsBulkFields(t *testing.T) { + envelope := &gloas.SignedExecutionPayloadEnvelope{ + Message: &gloas.ExecutionPayloadEnvelope{ + BuilderIndex: gloas.BuilderIndex(1), + Payload: &gloas.ExecutionPayload{ + BaseFeePerGas: uint256.NewInt(1), + Transactions: []bellatrix.Transaction{ + []byte{0x01, 0x02, 0x03}, + }, + Withdrawals: []*capella.Withdrawal{ + {Index: 1}, + }, + BlockAccessList: gloas.BlockAccessList{0xde, 0xad, 0xbe, 0xef}, + }, + }, + } + + got := NewSignedExecutionPayloadEnvelopeFromGloas(envelope) + if got == nil { + t.Fatal("expected non-nil result") + } + + payload := got.GetMessage().GetPayload() + if payload == nil { + t.Fatal("expected non-nil payload") + } + + if len(payload.GetTransactions()) != 0 { + t.Errorf("transactions should be omitted from SSE envelope; got %d", len(payload.GetTransactions())) + } + + if len(payload.GetWithdrawals()) != 0 { + t.Errorf("withdrawals should be omitted from SSE envelope; got %d", len(payload.GetWithdrawals())) + } + + if payload.GetBlockAccessList() != nil { + t.Errorf("block_access_list should be omitted from SSE envelope; got %v", payload.GetBlockAccessList()) + } +} + +func TestNewPayloadAttestationMessageFromGloas_Nil(t *testing.T) { + if got := NewPayloadAttestationMessageFromGloas(nil); got != nil { + t.Errorf("expected nil for nil input, got %v", got) + } +} + +func TestNewPayloadAttestationMessageFromGloas_Populated(t *testing.T) { + beaconBlockRoot := phase0.Root{0x11, 0x22} + + msg := &gloas.PayloadAttestationMessage{ + ValidatorIndex: phase0.ValidatorIndex(7), + Data: &gloas.PayloadAttestationData{ + BeaconBlockRoot: beaconBlockRoot, + Slot: phase0.Slot(99), + PayloadPresent: true, + BlobDataAvailable: false, + }, + Signature: phase0.BLSSignature{0xab, 0xcd}, + } + + got := NewPayloadAttestationMessageFromGloas(msg) + if got == nil { + t.Fatal("expected non-nil result") + } + + if v := got.GetValidatorIndex().GetValue(); v != 7 { + t.Errorf("validator_index: got %d want 7", v) + } + + data := got.GetData() + if data == nil { + t.Fatal("expected non-nil data") + } + + if data.GetBeaconBlockRoot() != beaconBlockRoot.String() { + t.Errorf("beacon_block_root mismatch: got %q want %q", data.GetBeaconBlockRoot(), beaconBlockRoot.String()) + } + + if v := data.GetSlot().GetValue(); v != 99 { + t.Errorf("slot: got %d want 99", v) + } + + if !data.GetPayloadPresent() { + t.Error("payload_present should be true") + } + + if data.GetBlobDataAvailable() { + t.Error("blob_data_available should be false") + } + + if got.GetSignature() != msg.Signature.String() { + t.Errorf("signature mismatch: got %q want %q", got.GetSignature(), msg.Signature.String()) + } +} + +func TestNewSignedProposerPreferencesFromGloas_Nil(t *testing.T) { + if got := NewSignedProposerPreferencesFromGloas(nil); got != nil { + t.Errorf("expected nil for nil input, got %v", got) + } + + if got := NewSignedProposerPreferencesFromGloas(&gloas.SignedProposerPreferences{}); got != nil { + t.Errorf("expected nil for prefs with nil Message, got %v", got) + } +} + +func TestNewSignedProposerPreferencesFromGloas_Populated(t *testing.T) { + dependentRoot := phase0.Root{0x77, 0x88} + feeRecipient := bellatrix.ExecutionAddress{0x99, 0xaa} + + prefs := &gloas.SignedProposerPreferences{ + Message: &gloas.ProposerPreferences{ + DependentRoot: dependentRoot, + ProposalSlot: phase0.Slot(1234), + ValidatorIndex: phase0.ValidatorIndex(56), + FeeRecipient: feeRecipient, + GasLimit: 30_000_000, + }, + Signature: phase0.BLSSignature{0xfe, 0xed}, + } + + got := NewSignedProposerPreferencesFromGloas(prefs) + if got == nil { + t.Fatal("expected non-nil result") + } + + msg := got.GetMessage() + if msg == nil { + t.Fatal("expected non-nil message") + } + + if msg.GetDependentRoot() != dependentRoot.String() { + t.Errorf("dependent_root mismatch: got %q want %q", msg.GetDependentRoot(), dependentRoot.String()) + } + + if v := msg.GetProposalSlot().GetValue(); v != 1234 { + t.Errorf("proposal_slot: got %d want 1234", v) + } + + if v := msg.GetValidatorIndex().GetValue(); v != 56 { + t.Errorf("validator_index: got %d want 56", v) + } + + if msg.GetFeeRecipient() != feeRecipient.String() { + t.Errorf("fee_recipient mismatch: got %q want %q", msg.GetFeeRecipient(), feeRecipient.String()) + } + + if v := msg.GetGasLimit().GetValue(); v != 30_000_000 { + t.Errorf("gas_limit: got %d want 30000000", v) + } + + if got.GetSignature() != prefs.Signature.String() { + t.Errorf("signature mismatch: got %q want %q", got.GetSignature(), prefs.Signature.String()) + } +} + +func TestNewExecutionPayloadAvailableFromAPIV1_Nil(t *testing.T) { + if got := NewExecutionPayloadAvailableFromAPIV1(nil); got != nil { + t.Errorf("expected nil for nil input, got %v", got) + } +} + +func TestNewExecutionPayloadAvailableFromAPIV1_Populated(t *testing.T) { + blockRoot := phase0.Root{0xab, 0xcd} + + ev := &apiv1.ExecutionPayloadAvailableEvent{ + BlockRoot: blockRoot, + Slot: phase0.Slot(7), + } + + got := NewExecutionPayloadAvailableFromAPIV1(ev) + if got == nil { + t.Fatal("expected non-nil result") + } + + if got.GetBlockRoot() != blockRoot.String() { + t.Errorf("block_root mismatch: got %q want %q", got.GetBlockRoot(), blockRoot.String()) + } + + if v := got.GetSlot().GetValue(); v != 7 { + t.Errorf("slot: got %d want 7", v) + } +} + +// electra is imported via the bid test path; reference here ensures the import +// is preserved if other tests are removed. +var _ = electra.SignedBeaconBlock{} diff --git a/pkg/proto/eth/v1/execution_engine.pb.go b/pkg/proto/eth/v1/execution_engine.pb.go index 98d1640e..68e98805 100644 --- a/pkg/proto/eth/v1/execution_engine.pb.go +++ b/pkg/proto/eth/v1/execution_engine.pb.go @@ -1473,6 +1473,199 @@ func (x *ExecutionPayloadFulu) GetExcessBlobGas() *wrapperspb.UInt64Value { return nil } +type ExecutionPayloadGloas struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParentHash string `protobuf:"bytes,1,opt,name=parent_hash,proto3" json:"parent_hash,omitempty"` + FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + StateRoot string `protobuf:"bytes,3,opt,name=state_root,proto3" json:"state_root,omitempty"` + ReceiptsRoot string `protobuf:"bytes,4,opt,name=receipts_root,proto3" json:"receipts_root,omitempty"` + LogsBloom string `protobuf:"bytes,5,opt,name=logs_bloom,proto3" json:"logs_bloom,omitempty"` + PrevRandao string `protobuf:"bytes,6,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + BlockNumber *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=block_number,proto3" json:"block_number,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + GasUsed *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + Timestamp *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + ExtraData string `protobuf:"bytes,11,opt,name=extra_data,proto3" json:"extra_data,omitempty"` + BaseFeePerGas string `protobuf:"bytes,12,opt,name=base_fee_per_gas,proto3" json:"base_fee_per_gas,omitempty"` + BlockHash string `protobuf:"bytes,13,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + Transactions []string `protobuf:"bytes,14,rep,name=transactions,proto3" json:"transactions,omitempty"` + Withdrawals []*WithdrawalV2 `protobuf:"bytes,15,rep,name=withdrawals,proto3" json:"withdrawals,omitempty"` + BlobGasUsed *wrapperspb.UInt64Value `protobuf:"bytes,16,opt,name=blob_gas_used,proto3" json:"blob_gas_used,omitempty"` + ExcessBlobGas *wrapperspb.UInt64Value `protobuf:"bytes,17,opt,name=excess_blob_gas,proto3" json:"excess_blob_gas,omitempty"` + // EIP-7928: Block-level access list + BlockAccessList *BlockAccessList `protobuf:"bytes,18,opt,name=block_access_list,proto3" json:"block_access_list,omitempty"` + // Slot number in execution payload + SlotNumber *wrapperspb.UInt64Value `protobuf:"bytes,19,opt,name=slot_number,proto3" json:"slot_number,omitempty"` +} + +func (x *ExecutionPayloadGloas) Reset() { + *x = ExecutionPayloadGloas{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadGloas) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadGloas) ProtoMessage() {} + +func (x *ExecutionPayloadGloas) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadGloas.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadGloas) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{9} +} + +func (x *ExecutionPayloadGloas) GetParentHash() string { + if x != nil { + return x.ParentHash + } + return "" +} + +func (x *ExecutionPayloadGloas) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *ExecutionPayloadGloas) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *ExecutionPayloadGloas) GetReceiptsRoot() string { + if x != nil { + return x.ReceiptsRoot + } + return "" +} + +func (x *ExecutionPayloadGloas) GetLogsBloom() string { + if x != nil { + return x.LogsBloom + } + return "" +} + +func (x *ExecutionPayloadGloas) GetPrevRandao() string { + if x != nil { + return x.PrevRandao + } + return "" +} + +func (x *ExecutionPayloadGloas) GetBlockNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.BlockNumber + } + return nil +} + +func (x *ExecutionPayloadGloas) GetGasLimit() *wrapperspb.UInt64Value { + if x != nil { + return x.GasLimit + } + return nil +} + +func (x *ExecutionPayloadGloas) GetGasUsed() *wrapperspb.UInt64Value { + if x != nil { + return x.GasUsed + } + return nil +} + +func (x *ExecutionPayloadGloas) GetTimestamp() *wrapperspb.UInt64Value { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *ExecutionPayloadGloas) GetExtraData() string { + if x != nil { + return x.ExtraData + } + return "" +} + +func (x *ExecutionPayloadGloas) GetBaseFeePerGas() string { + if x != nil { + return x.BaseFeePerGas + } + return "" +} + +func (x *ExecutionPayloadGloas) GetBlockHash() string { + if x != nil { + return x.BlockHash + } + return "" +} + +func (x *ExecutionPayloadGloas) GetTransactions() []string { + if x != nil { + return x.Transactions + } + return nil +} + +func (x *ExecutionPayloadGloas) GetWithdrawals() []*WithdrawalV2 { + if x != nil { + return x.Withdrawals + } + return nil +} + +func (x *ExecutionPayloadGloas) GetBlobGasUsed() *wrapperspb.UInt64Value { + if x != nil { + return x.BlobGasUsed + } + return nil +} + +func (x *ExecutionPayloadGloas) GetExcessBlobGas() *wrapperspb.UInt64Value { + if x != nil { + return x.ExcessBlobGas + } + return nil +} + +func (x *ExecutionPayloadGloas) GetBlockAccessList() *BlockAccessList { + if x != nil { + return x.BlockAccessList + } + return nil +} + +func (x *ExecutionPayloadGloas) GetSlotNumber() *wrapperspb.UInt64Value { + if x != nil { + return x.SlotNumber + } + return nil +} + type Withdrawal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1487,7 +1680,7 @@ type Withdrawal struct { func (x *Withdrawal) Reset() { *x = Withdrawal{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1500,7 +1693,7 @@ func (x *Withdrawal) String() string { func (*Withdrawal) ProtoMessage() {} func (x *Withdrawal) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1513,7 +1706,7 @@ func (x *Withdrawal) ProtoReflect() protoreflect.Message { // Deprecated: Use Withdrawal.ProtoReflect.Descriptor instead. func (*Withdrawal) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{9} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{10} } func (x *Withdrawal) GetIndex() uint64 { @@ -1553,12 +1746,16 @@ type WithdrawalV2 struct { ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` Amount *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` + // EIP-7732 ePBS: classification of the withdrawal recipient. Empty on + // pre-Gloas blocks; "validator" or "builder" on Gloas+ blocks. Builder + // withdrawals are encoded by validator_index >= 2^40 in the spec. + WithdrawalType string `protobuf:"bytes,5,opt,name=withdrawal_type,proto3" json:"withdrawal_type,omitempty"` } func (x *WithdrawalV2) Reset() { *x = WithdrawalV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[10] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1571,7 +1768,7 @@ func (x *WithdrawalV2) String() string { func (*WithdrawalV2) ProtoMessage() {} func (x *WithdrawalV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[10] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1584,7 +1781,7 @@ func (x *WithdrawalV2) ProtoReflect() protoreflect.Message { // Deprecated: Use WithdrawalV2.ProtoReflect.Descriptor instead. func (*WithdrawalV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{10} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{11} } func (x *WithdrawalV2) GetIndex() *wrapperspb.UInt64Value { @@ -1615,6 +1812,13 @@ func (x *WithdrawalV2) GetAmount() *wrapperspb.UInt64Value { return nil } +func (x *WithdrawalV2) GetWithdrawalType() string { + if x != nil { + return x.WithdrawalType + } + return "" +} + type ExecutionPayloadHeaderCapella struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1640,7 +1844,7 @@ type ExecutionPayloadHeaderCapella struct { func (x *ExecutionPayloadHeaderCapella) Reset() { *x = ExecutionPayloadHeaderCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[11] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1653,7 +1857,7 @@ func (x *ExecutionPayloadHeaderCapella) String() string { func (*ExecutionPayloadHeaderCapella) ProtoMessage() {} func (x *ExecutionPayloadHeaderCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[11] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1666,7 +1870,7 @@ func (x *ExecutionPayloadHeaderCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionPayloadHeaderCapella.ProtoReflect.Descriptor instead. func (*ExecutionPayloadHeaderCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{11} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{12} } func (x *ExecutionPayloadHeaderCapella) GetParentHash() string { @@ -1799,7 +2003,7 @@ type ExecutionPayloadHeaderCapellaV2 struct { func (x *ExecutionPayloadHeaderCapellaV2) Reset() { *x = ExecutionPayloadHeaderCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[12] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1812,7 +2016,7 @@ func (x *ExecutionPayloadHeaderCapellaV2) String() string { func (*ExecutionPayloadHeaderCapellaV2) ProtoMessage() {} func (x *ExecutionPayloadHeaderCapellaV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[12] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1825,7 +2029,7 @@ func (x *ExecutionPayloadHeaderCapellaV2) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutionPayloadHeaderCapellaV2.ProtoReflect.Descriptor instead. func (*ExecutionPayloadHeaderCapellaV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{12} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{13} } func (x *ExecutionPayloadHeaderCapellaV2) GetParentHash() string { @@ -1958,7 +2162,7 @@ type Transaction struct { func (x *Transaction) Reset() { *x = Transaction{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[13] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1971,7 +2175,7 @@ func (x *Transaction) String() string { func (*Transaction) ProtoMessage() {} func (x *Transaction) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[13] + mi := &file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1984,7 +2188,7 @@ func (x *Transaction) ProtoReflect() protoreflect.Message { // Deprecated: Use Transaction.ProtoReflect.Descriptor instead. func (*Transaction) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{13} + return file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP(), []int{14} } func (x *Transaction) GetChainId() string { @@ -2102,213 +2306,101 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, - 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x03, 0x0a, 0x10, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, - 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, - 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, - 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, - 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, - 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe8, 0x04, 0x0a, 0x12, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x32, - 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, - 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, - 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, - 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xee, 0x03, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, + 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, + 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, + 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, + 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, + 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, + 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, + 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, + 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0xe8, 0x04, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, + 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, + 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, + 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, - 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfe, 0x03, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, - 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, - 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0xf8, 0x04, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, - 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, - 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, - 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, - 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, - 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x22, 0xb0, 0x04, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, - 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, - 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, - 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, - 0x61, 0x6c, 0x73, 0x22, 0xac, 0x05, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, - 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, - 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, - 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, - 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, + 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, + 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, + 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, + 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, + 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfe, + 0x03, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, + 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, + 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, + 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, + 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, + 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, + 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, + 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, + 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, @@ -2316,14 +2408,11 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x61, 0x6c, 0x56, 0x32, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, - 0x6c, 0x73, 0x22, 0xb4, 0x06, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x12, 0x20, 0x0a, 0x0b, + 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, + 0xf8, 0x04, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, @@ -2358,24 +2447,193 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x3b, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, - 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, - 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x12, 0x42, 0x0a, - 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x10, + 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0xb0, 0x04, 0x0a, 0x17, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, + 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, + 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, + 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, + 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, + 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, + 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, + 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, + 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, + 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, + 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, + 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x22, 0xac, 0x05, + 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, + 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, + 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, + 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, + 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, + 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, + 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, + 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, + 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, + 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3b, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, 0x52, + 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x22, 0xb4, 0x06, 0x0a, + 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, + 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, + 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, + 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, + 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, + 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x77, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, + 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x62, 0x6c, + 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x0f, 0x65, + 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, - 0x64, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, - 0x5f, 0x67, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x75, 0x65, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x67, 0x61, 0x73, 0x22, 0xb6, 0x06, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, + 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, + 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, + 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x22, 0xb6, 0x06, 0x0a, 0x17, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6c, - 0x65, 0x63, 0x74, 0x72, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, + 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x22, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, + 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, + 0x6c, 0x56, 0x32, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, + 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, + 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, + 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x78, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x22, 0xb3, 0x06, 0x0a, + 0x14, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x46, 0x75, 0x6c, 0x75, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, @@ -2425,194 +2683,206 @@ var file_pkg_proto_eth_v1_execution_engine_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, - 0x61, 0x73, 0x22, 0xb3, 0x06, 0x0a, 0x14, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x75, 0x6c, 0x75, 0x12, 0x20, 0x0a, 0x0b, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, - 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, - 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, - 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, - 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x61, 0x73, 0x22, 0xc0, 0x07, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x6c, 0x6f, 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, + 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, + 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, - 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, - 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x3b, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, 0x0f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, 0x52, - 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0d, - 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x10, 0x20, + 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, + 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3b, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x18, + 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, + 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x12, 0x42, 0x0a, + 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, + 0x64, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, + 0x5f, 0x67, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x7e, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, 0x02, 0x0a, 0x0c, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x46, 0x0a, 0x0f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, - 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, - 0x67, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x77, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb1, 0x04, 0x0a, + 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, + 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, + 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x22, 0xab, 0x05, 0x0a, 0x1f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, + 0x6c, 0x61, 0x56, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, + 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, + 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x22, 0x7e, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x0f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x0c, 0x57, 0x69, 0x74, - 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x46, 0x0a, - 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x34, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb1, 0x04, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, - 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, - 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, - 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, - 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, - 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x67, - 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x73, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x61, 0x73, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, - 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, - 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0xab, 0x05, 0x0a, 0x1f, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, - 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, - 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x70, - 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x12, 0x40, 0x0a, - 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x67, - 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, - 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x67, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x77, - 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, - 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x8d, 0x04, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x61, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, - 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, - 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x72, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, - 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, - 0x32, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, + 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x8d, + 0x04, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x67, 0x61, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6e, 0x6f, - 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, - 0x61, 0x73, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x20, 0x0a, - 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x12, - 0x38, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x6c, 0x6f, - 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x62, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, - 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x63, 0x61, + 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x70, + 0x5f, 0x63, 0x61, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x63, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x38, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, + 0x61, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, + 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, + 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x62, + 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x20, 0x0a, 0x0b, + 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x42, 0x2e, + 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2627,7 +2897,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v1_execution_engine_proto_rawDescData } -var file_pkg_proto_eth_v1_execution_engine_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_pkg_proto_eth_v1_execution_engine_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_pkg_proto_eth_v1_execution_engine_proto_goTypes = []any{ (*ExecutionPayload)(nil), // 0: xatu.eth.v1.ExecutionPayload (*ExecutionPayloadV2)(nil), // 1: xatu.eth.v1.ExecutionPayloadV2 @@ -2638,66 +2908,77 @@ var file_pkg_proto_eth_v1_execution_engine_proto_goTypes = []any{ (*ExecutionPayloadDeneb)(nil), // 6: xatu.eth.v1.ExecutionPayloadDeneb (*ExecutionPayloadElectra)(nil), // 7: xatu.eth.v1.ExecutionPayloadElectra (*ExecutionPayloadFulu)(nil), // 8: xatu.eth.v1.ExecutionPayloadFulu - (*Withdrawal)(nil), // 9: xatu.eth.v1.Withdrawal - (*WithdrawalV2)(nil), // 10: xatu.eth.v1.WithdrawalV2 - (*ExecutionPayloadHeaderCapella)(nil), // 11: xatu.eth.v1.ExecutionPayloadHeaderCapella - (*ExecutionPayloadHeaderCapellaV2)(nil), // 12: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 - (*Transaction)(nil), // 13: xatu.eth.v1.Transaction - (*wrapperspb.UInt64Value)(nil), // 14: google.protobuf.UInt64Value - (*wrapperspb.UInt32Value)(nil), // 15: google.protobuf.UInt32Value + (*ExecutionPayloadGloas)(nil), // 9: xatu.eth.v1.ExecutionPayloadGloas + (*Withdrawal)(nil), // 10: xatu.eth.v1.Withdrawal + (*WithdrawalV2)(nil), // 11: xatu.eth.v1.WithdrawalV2 + (*ExecutionPayloadHeaderCapella)(nil), // 12: xatu.eth.v1.ExecutionPayloadHeaderCapella + (*ExecutionPayloadHeaderCapellaV2)(nil), // 13: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 + (*Transaction)(nil), // 14: xatu.eth.v1.Transaction + (*wrapperspb.UInt64Value)(nil), // 15: google.protobuf.UInt64Value + (*BlockAccessList)(nil), // 16: xatu.eth.v1.BlockAccessList + (*wrapperspb.UInt32Value)(nil), // 17: google.protobuf.UInt32Value } var file_pkg_proto_eth_v1_execution_engine_proto_depIdxs = []int32{ - 14, // 0: xatu.eth.v1.ExecutionPayloadV2.block_number:type_name -> google.protobuf.UInt64Value - 14, // 1: xatu.eth.v1.ExecutionPayloadV2.gas_limit:type_name -> google.protobuf.UInt64Value - 14, // 2: xatu.eth.v1.ExecutionPayloadV2.gas_used:type_name -> google.protobuf.UInt64Value - 14, // 3: xatu.eth.v1.ExecutionPayloadV2.timestamp:type_name -> google.protobuf.UInt64Value - 14, // 4: xatu.eth.v1.ExecutionPayloadHeaderV2.block_number:type_name -> google.protobuf.UInt64Value - 14, // 5: xatu.eth.v1.ExecutionPayloadHeaderV2.gas_limit:type_name -> google.protobuf.UInt64Value - 14, // 6: xatu.eth.v1.ExecutionPayloadHeaderV2.gas_used:type_name -> google.protobuf.UInt64Value - 14, // 7: xatu.eth.v1.ExecutionPayloadHeaderV2.timestamp:type_name -> google.protobuf.UInt64Value - 9, // 8: xatu.eth.v1.ExecutionPayloadCapella.withdrawals:type_name -> xatu.eth.v1.Withdrawal - 14, // 9: xatu.eth.v1.ExecutionPayloadCapellaV2.block_number:type_name -> google.protobuf.UInt64Value - 14, // 10: xatu.eth.v1.ExecutionPayloadCapellaV2.gas_limit:type_name -> google.protobuf.UInt64Value - 14, // 11: xatu.eth.v1.ExecutionPayloadCapellaV2.gas_used:type_name -> google.protobuf.UInt64Value - 14, // 12: xatu.eth.v1.ExecutionPayloadCapellaV2.timestamp:type_name -> google.protobuf.UInt64Value - 10, // 13: xatu.eth.v1.ExecutionPayloadCapellaV2.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 - 14, // 14: xatu.eth.v1.ExecutionPayloadDeneb.block_number:type_name -> google.protobuf.UInt64Value - 14, // 15: xatu.eth.v1.ExecutionPayloadDeneb.gas_limit:type_name -> google.protobuf.UInt64Value - 14, // 16: xatu.eth.v1.ExecutionPayloadDeneb.gas_used:type_name -> google.protobuf.UInt64Value - 14, // 17: xatu.eth.v1.ExecutionPayloadDeneb.timestamp:type_name -> google.protobuf.UInt64Value - 10, // 18: xatu.eth.v1.ExecutionPayloadDeneb.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 - 14, // 19: xatu.eth.v1.ExecutionPayloadDeneb.blob_gas_used:type_name -> google.protobuf.UInt64Value - 14, // 20: xatu.eth.v1.ExecutionPayloadDeneb.excess_blob_gas:type_name -> google.protobuf.UInt64Value - 14, // 21: xatu.eth.v1.ExecutionPayloadElectra.block_number:type_name -> google.protobuf.UInt64Value - 14, // 22: xatu.eth.v1.ExecutionPayloadElectra.gas_limit:type_name -> google.protobuf.UInt64Value - 14, // 23: xatu.eth.v1.ExecutionPayloadElectra.gas_used:type_name -> google.protobuf.UInt64Value - 14, // 24: xatu.eth.v1.ExecutionPayloadElectra.timestamp:type_name -> google.protobuf.UInt64Value - 10, // 25: xatu.eth.v1.ExecutionPayloadElectra.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 - 14, // 26: xatu.eth.v1.ExecutionPayloadElectra.blob_gas_used:type_name -> google.protobuf.UInt64Value - 14, // 27: xatu.eth.v1.ExecutionPayloadElectra.excess_blob_gas:type_name -> google.protobuf.UInt64Value - 14, // 28: xatu.eth.v1.ExecutionPayloadFulu.block_number:type_name -> google.protobuf.UInt64Value - 14, // 29: xatu.eth.v1.ExecutionPayloadFulu.gas_limit:type_name -> google.protobuf.UInt64Value - 14, // 30: xatu.eth.v1.ExecutionPayloadFulu.gas_used:type_name -> google.protobuf.UInt64Value - 14, // 31: xatu.eth.v1.ExecutionPayloadFulu.timestamp:type_name -> google.protobuf.UInt64Value - 10, // 32: xatu.eth.v1.ExecutionPayloadFulu.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 - 14, // 33: xatu.eth.v1.ExecutionPayloadFulu.blob_gas_used:type_name -> google.protobuf.UInt64Value - 14, // 34: xatu.eth.v1.ExecutionPayloadFulu.excess_blob_gas:type_name -> google.protobuf.UInt64Value - 14, // 35: xatu.eth.v1.WithdrawalV2.index:type_name -> google.protobuf.UInt64Value - 14, // 36: xatu.eth.v1.WithdrawalV2.validator_index:type_name -> google.protobuf.UInt64Value - 14, // 37: xatu.eth.v1.WithdrawalV2.amount:type_name -> google.protobuf.UInt64Value - 14, // 38: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.block_number:type_name -> google.protobuf.UInt64Value - 14, // 39: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.gas_limit:type_name -> google.protobuf.UInt64Value - 14, // 40: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.gas_used:type_name -> google.protobuf.UInt64Value - 14, // 41: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.timestamp:type_name -> google.protobuf.UInt64Value - 14, // 42: xatu.eth.v1.Transaction.gas:type_name -> google.protobuf.UInt64Value - 14, // 43: xatu.eth.v1.Transaction.nonce:type_name -> google.protobuf.UInt64Value - 15, // 44: xatu.eth.v1.Transaction.type:type_name -> google.protobuf.UInt32Value - 14, // 45: xatu.eth.v1.Transaction.blob_gas:type_name -> google.protobuf.UInt64Value - 46, // [46:46] is the sub-list for method output_type - 46, // [46:46] is the sub-list for method input_type - 46, // [46:46] is the sub-list for extension type_name - 46, // [46:46] is the sub-list for extension extendee - 0, // [0:46] is the sub-list for field type_name + 15, // 0: xatu.eth.v1.ExecutionPayloadV2.block_number:type_name -> google.protobuf.UInt64Value + 15, // 1: xatu.eth.v1.ExecutionPayloadV2.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 2: xatu.eth.v1.ExecutionPayloadV2.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 3: xatu.eth.v1.ExecutionPayloadV2.timestamp:type_name -> google.protobuf.UInt64Value + 15, // 4: xatu.eth.v1.ExecutionPayloadHeaderV2.block_number:type_name -> google.protobuf.UInt64Value + 15, // 5: xatu.eth.v1.ExecutionPayloadHeaderV2.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 6: xatu.eth.v1.ExecutionPayloadHeaderV2.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 7: xatu.eth.v1.ExecutionPayloadHeaderV2.timestamp:type_name -> google.protobuf.UInt64Value + 10, // 8: xatu.eth.v1.ExecutionPayloadCapella.withdrawals:type_name -> xatu.eth.v1.Withdrawal + 15, // 9: xatu.eth.v1.ExecutionPayloadCapellaV2.block_number:type_name -> google.protobuf.UInt64Value + 15, // 10: xatu.eth.v1.ExecutionPayloadCapellaV2.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 11: xatu.eth.v1.ExecutionPayloadCapellaV2.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 12: xatu.eth.v1.ExecutionPayloadCapellaV2.timestamp:type_name -> google.protobuf.UInt64Value + 11, // 13: xatu.eth.v1.ExecutionPayloadCapellaV2.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 + 15, // 14: xatu.eth.v1.ExecutionPayloadDeneb.block_number:type_name -> google.protobuf.UInt64Value + 15, // 15: xatu.eth.v1.ExecutionPayloadDeneb.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 16: xatu.eth.v1.ExecutionPayloadDeneb.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 17: xatu.eth.v1.ExecutionPayloadDeneb.timestamp:type_name -> google.protobuf.UInt64Value + 11, // 18: xatu.eth.v1.ExecutionPayloadDeneb.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 + 15, // 19: xatu.eth.v1.ExecutionPayloadDeneb.blob_gas_used:type_name -> google.protobuf.UInt64Value + 15, // 20: xatu.eth.v1.ExecutionPayloadDeneb.excess_blob_gas:type_name -> google.protobuf.UInt64Value + 15, // 21: xatu.eth.v1.ExecutionPayloadElectra.block_number:type_name -> google.protobuf.UInt64Value + 15, // 22: xatu.eth.v1.ExecutionPayloadElectra.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 23: xatu.eth.v1.ExecutionPayloadElectra.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 24: xatu.eth.v1.ExecutionPayloadElectra.timestamp:type_name -> google.protobuf.UInt64Value + 11, // 25: xatu.eth.v1.ExecutionPayloadElectra.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 + 15, // 26: xatu.eth.v1.ExecutionPayloadElectra.blob_gas_used:type_name -> google.protobuf.UInt64Value + 15, // 27: xatu.eth.v1.ExecutionPayloadElectra.excess_blob_gas:type_name -> google.protobuf.UInt64Value + 15, // 28: xatu.eth.v1.ExecutionPayloadFulu.block_number:type_name -> google.protobuf.UInt64Value + 15, // 29: xatu.eth.v1.ExecutionPayloadFulu.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 30: xatu.eth.v1.ExecutionPayloadFulu.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 31: xatu.eth.v1.ExecutionPayloadFulu.timestamp:type_name -> google.protobuf.UInt64Value + 11, // 32: xatu.eth.v1.ExecutionPayloadFulu.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 + 15, // 33: xatu.eth.v1.ExecutionPayloadFulu.blob_gas_used:type_name -> google.protobuf.UInt64Value + 15, // 34: xatu.eth.v1.ExecutionPayloadFulu.excess_blob_gas:type_name -> google.protobuf.UInt64Value + 15, // 35: xatu.eth.v1.ExecutionPayloadGloas.block_number:type_name -> google.protobuf.UInt64Value + 15, // 36: xatu.eth.v1.ExecutionPayloadGloas.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 37: xatu.eth.v1.ExecutionPayloadGloas.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 38: xatu.eth.v1.ExecutionPayloadGloas.timestamp:type_name -> google.protobuf.UInt64Value + 11, // 39: xatu.eth.v1.ExecutionPayloadGloas.withdrawals:type_name -> xatu.eth.v1.WithdrawalV2 + 15, // 40: xatu.eth.v1.ExecutionPayloadGloas.blob_gas_used:type_name -> google.protobuf.UInt64Value + 15, // 41: xatu.eth.v1.ExecutionPayloadGloas.excess_blob_gas:type_name -> google.protobuf.UInt64Value + 16, // 42: xatu.eth.v1.ExecutionPayloadGloas.block_access_list:type_name -> xatu.eth.v1.BlockAccessList + 15, // 43: xatu.eth.v1.ExecutionPayloadGloas.slot_number:type_name -> google.protobuf.UInt64Value + 15, // 44: xatu.eth.v1.WithdrawalV2.index:type_name -> google.protobuf.UInt64Value + 15, // 45: xatu.eth.v1.WithdrawalV2.validator_index:type_name -> google.protobuf.UInt64Value + 15, // 46: xatu.eth.v1.WithdrawalV2.amount:type_name -> google.protobuf.UInt64Value + 15, // 47: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.block_number:type_name -> google.protobuf.UInt64Value + 15, // 48: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.gas_limit:type_name -> google.protobuf.UInt64Value + 15, // 49: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.gas_used:type_name -> google.protobuf.UInt64Value + 15, // 50: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2.timestamp:type_name -> google.protobuf.UInt64Value + 15, // 51: xatu.eth.v1.Transaction.gas:type_name -> google.protobuf.UInt64Value + 15, // 52: xatu.eth.v1.Transaction.nonce:type_name -> google.protobuf.UInt64Value + 17, // 53: xatu.eth.v1.Transaction.type:type_name -> google.protobuf.UInt32Value + 15, // 54: xatu.eth.v1.Transaction.blob_gas:type_name -> google.protobuf.UInt64Value + 55, // [55:55] is the sub-list for method output_type + 55, // [55:55] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 55, // [55:55] is the sub-list for extension extendee + 0, // [0:55] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_execution_engine_proto_init() } @@ -2705,6 +2986,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { if File_pkg_proto_eth_v1_execution_engine_proto != nil { return } + file_pkg_proto_eth_v1_block_access_list_proto_init() if !protoimpl.UnsafeEnabled { file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*ExecutionPayload); i { @@ -2815,7 +3097,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*Withdrawal); i { + switch v := v.(*ExecutionPayloadGloas); i { case 0: return &v.state case 1: @@ -2827,7 +3109,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*WithdrawalV2); i { + switch v := v.(*Withdrawal); i { case 0: return &v.state case 1: @@ -2839,7 +3121,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*ExecutionPayloadHeaderCapella); i { + switch v := v.(*WithdrawalV2); i { case 0: return &v.state case 1: @@ -2851,7 +3133,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*ExecutionPayloadHeaderCapellaV2); i { + switch v := v.(*ExecutionPayloadHeaderCapella); i { case 0: return &v.state case 1: @@ -2863,6 +3145,18 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { } } file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*ExecutionPayloadHeaderCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_execution_engine_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*Transaction); i { case 0: return &v.state @@ -2881,7 +3175,7 @@ func file_pkg_proto_eth_v1_execution_engine_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v1_execution_engine_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v1/execution_engine.proto b/pkg/proto/eth/v1/execution_engine.proto index fc0b9848..dc8d4389 100644 --- a/pkg/proto/eth/v1/execution_engine.proto +++ b/pkg/proto/eth/v1/execution_engine.proto @@ -9,6 +9,7 @@ option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; import "google/protobuf/descriptor.proto"; import "google/protobuf/wrappers.proto"; +import "pkg/proto/eth/v1/block_access_list.proto"; message ExecutionPayload { string parent_hash = 1 [ json_name = "parent_hash" ]; @@ -181,6 +182,35 @@ message ExecutionPayloadFulu { // TODO(fulu): Is there anything else to add for Fulu? } +message ExecutionPayloadGloas { + string parent_hash = 1 [ json_name = "parent_hash" ]; + string fee_recipient = 2 [ json_name = "fee_recipient" ]; + string state_root = 3 [ json_name = "state_root" ]; + string receipts_root = 4 [ json_name = "receipts_root" ]; + string logs_bloom = 5 [ json_name = "logs_bloom" ]; + string prev_randao = 6 [ json_name = "prev_randao" ]; + google.protobuf.UInt64Value block_number = 7 [ json_name = "block_number" ]; + google.protobuf.UInt64Value gas_limit = 8 [ json_name = "gas_limit" ]; + google.protobuf.UInt64Value gas_used = 9 [ json_name = "gas_used" ]; + google.protobuf.UInt64Value timestamp = 10; + string extra_data = 11 [ json_name = "extra_data" ]; + string base_fee_per_gas = 12 [ json_name = "base_fee_per_gas" ]; + string block_hash = 13 [ json_name = "block_hash" ]; + repeated string transactions = 14; + repeated WithdrawalV2 withdrawals = 15; + google.protobuf.UInt64Value blob_gas_used = 16 + [ json_name = "blob_gas_used" ]; + google.protobuf.UInt64Value excess_blob_gas = 17 + [ json_name = "excess_blob_gas" ]; + + // EIP-7928: Block-level access list + BlockAccessList block_access_list = 18 + [ json_name = "block_access_list" ]; + // Slot number in execution payload + google.protobuf.UInt64Value slot_number = 19 + [ json_name = "slot_number" ]; +} + message Withdrawal { uint64 index = 1; @@ -200,6 +230,11 @@ message WithdrawalV2 { string address = 3; google.protobuf.UInt64Value amount = 4; + + // EIP-7732 ePBS: classification of the withdrawal recipient. Empty on + // pre-Gloas blocks; "validator" or "builder" on Gloas+ blocks. Builder + // withdrawals are encoded by validator_index >= 2^40 in the spec. + string withdrawal_type = 5 [ json_name = "withdrawal_type" ]; } message ExecutionPayloadHeaderCapella { diff --git a/pkg/proto/eth/v1/execution_engine_vtproto.pb.go b/pkg/proto/eth/v1/execution_engine_vtproto.pb.go index 64162a03..8f8ae352 100644 --- a/pkg/proto/eth/v1/execution_engine_vtproto.pb.go +++ b/pkg/proto/eth/v1/execution_engine_vtproto.pb.go @@ -1395,6 +1395,211 @@ func (m *ExecutionPayloadFulu) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *ExecutionPayloadGloas) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExecutionPayloadGloas) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExecutionPayloadGloas) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.SlotNumber != nil { + size, err := (*wrapperspb.UInt64Value)(m.SlotNumber).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a + } + if m.BlockAccessList != nil { + size, err := m.BlockAccessList.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + if m.ExcessBlobGas != nil { + size, err := (*wrapperspb.UInt64Value)(m.ExcessBlobGas).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + if m.BlobGasUsed != nil { + size, err := (*wrapperspb.UInt64Value)(m.BlobGasUsed).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if len(m.Withdrawals) > 0 { + for iNdEx := len(m.Withdrawals) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Withdrawals[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x7a + } + } + if len(m.Transactions) > 0 { + for iNdEx := len(m.Transactions) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Transactions[iNdEx]) + copy(dAtA[i:], m.Transactions[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Transactions[iNdEx]))) + i-- + dAtA[i] = 0x72 + } + } + if len(m.BlockHash) > 0 { + i -= len(m.BlockHash) + copy(dAtA[i:], m.BlockHash) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BlockHash))) + i-- + dAtA[i] = 0x6a + } + if len(m.BaseFeePerGas) > 0 { + i -= len(m.BaseFeePerGas) + copy(dAtA[i:], m.BaseFeePerGas) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BaseFeePerGas))) + i-- + dAtA[i] = 0x62 + } + if len(m.ExtraData) > 0 { + i -= len(m.ExtraData) + copy(dAtA[i:], m.ExtraData) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExtraData))) + i-- + dAtA[i] = 0x5a + } + if m.Timestamp != nil { + size, err := (*wrapperspb.UInt64Value)(m.Timestamp).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + if m.GasUsed != nil { + size, err := (*wrapperspb.UInt64Value)(m.GasUsed).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.GasLimit != nil { + size, err := (*wrapperspb.UInt64Value)(m.GasLimit).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.BlockNumber != nil { + size, err := (*wrapperspb.UInt64Value)(m.BlockNumber).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if len(m.PrevRandao) > 0 { + i -= len(m.PrevRandao) + copy(dAtA[i:], m.PrevRandao) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PrevRandao))) + i-- + dAtA[i] = 0x32 + } + if len(m.LogsBloom) > 0 { + i -= len(m.LogsBloom) + copy(dAtA[i:], m.LogsBloom) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LogsBloom))) + i-- + dAtA[i] = 0x2a + } + if len(m.ReceiptsRoot) > 0 { + i -= len(m.ReceiptsRoot) + copy(dAtA[i:], m.ReceiptsRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReceiptsRoot))) + i-- + dAtA[i] = 0x22 + } + if len(m.StateRoot) > 0 { + i -= len(m.StateRoot) + copy(dAtA[i:], m.StateRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StateRoot))) + i-- + dAtA[i] = 0x1a + } + if len(m.FeeRecipient) > 0 { + i -= len(m.FeeRecipient) + copy(dAtA[i:], m.FeeRecipient) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FeeRecipient))) + i-- + dAtA[i] = 0x12 + } + if len(m.ParentHash) > 0 { + i -= len(m.ParentHash) + copy(dAtA[i:], m.ParentHash) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ParentHash))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *Withdrawal) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -1480,6 +1685,13 @@ func (m *WithdrawalV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.WithdrawalType) > 0 { + i -= len(m.WithdrawalType) + copy(dAtA[i:], m.WithdrawalType) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WithdrawalType))) + i-- + dAtA[i] = 0x2a + } if m.Amount != nil { size, err := (*wrapperspb.UInt64Value)(m.Amount).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -2180,6 +2392,35 @@ func ExecutionPayloadFuluFromVTPool() *ExecutionPayloadFulu { return vtprotoPool_ExecutionPayloadFulu.Get().(*ExecutionPayloadFulu) } +var vtprotoPool_ExecutionPayloadGloas = sync.Pool{ + New: func() interface{} { + return &ExecutionPayloadGloas{} + }, +} + +func (m *ExecutionPayloadGloas) ResetVT() { + if m != nil { + f0 := m.Transactions[:0] + for _, mm := range m.Withdrawals { + mm.ResetVT() + } + f1 := m.Withdrawals[:0] + m.BlockAccessList.ReturnToVTPool() + m.Reset() + m.Transactions = f0 + m.Withdrawals = f1 + } +} +func (m *ExecutionPayloadGloas) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ExecutionPayloadGloas.Put(m) + } +} +func ExecutionPayloadGloasFromVTPool() *ExecutionPayloadGloas { + return vtprotoPool_ExecutionPayloadGloas.Get().(*ExecutionPayloadGloas) +} + var vtprotoPool_Withdrawal = sync.Pool{ New: func() interface{} { return &Withdrawal{} @@ -2936,49 +3177,143 @@ func (m *ExecutionPayloadFulu) SizeVT() (n int) { return n } -func (m *Withdrawal) SizeVT() (n int) { +func (m *ExecutionPayloadGloas) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Index != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Index)) - } - if m.ValidatorIndex != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.ValidatorIndex)) - } - l = len(m.Address) + l = len(m.ParentHash) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Amount != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Amount)) - } - n += len(m.unknownFields) - return n -} - -func (m *WithdrawalV2) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Index != nil { - l = (*wrapperspb.UInt64Value)(m.Index).SizeVT() + l = len(m.FeeRecipient) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.ValidatorIndex != nil { - l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + l = len(m.StateRoot) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - l = len(m.Address) + l = len(m.ReceiptsRoot) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Amount != nil { - l = (*wrapperspb.UInt64Value)(m.Amount).SizeVT() + l = len(m.LogsBloom) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.PrevRandao) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlockNumber != nil { + l = (*wrapperspb.UInt64Value)(m.BlockNumber).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.GasLimit != nil { + l = (*wrapperspb.UInt64Value)(m.GasLimit).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.GasUsed != nil { + l = (*wrapperspb.UInt64Value)(m.GasUsed).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Timestamp != nil { + l = (*wrapperspb.UInt64Value)(m.Timestamp).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ExtraData) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BaseFeePerGas) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BlockHash) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.Transactions) > 0 { + for _, s := range m.Transactions { + l = len(s) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.Withdrawals) > 0 { + for _, e := range m.Withdrawals { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.BlobGasUsed != nil { + l = (*wrapperspb.UInt64Value)(m.BlobGasUsed).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ExcessBlobGas != nil { + l = (*wrapperspb.UInt64Value)(m.ExcessBlobGas).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlockAccessList != nil { + l = m.BlockAccessList.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.SlotNumber != nil { + l = (*wrapperspb.UInt64Value)(m.SlotNumber).SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Withdrawal) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Index != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Index)) + } + if m.ValidatorIndex != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ValidatorIndex)) + } + l = len(m.Address) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Amount != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Amount)) + } + n += len(m.unknownFields) + return n +} + +func (m *WithdrawalV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Index != nil { + l = (*wrapperspb.UInt64Value)(m.Index).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValidatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Address) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Amount != nil { + l = (*wrapperspb.UInt64Value)(m.Amount).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.WithdrawalType) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -5361,7 +5696,512 @@ func (m *ExecutionPayloadCapella) UnmarshalVT(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) } - m.GasLimit = 0 + m.GasLimit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GasLimit |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) + } + m.GasUsed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GasUsed |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExtraData", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExtraData = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BaseFeePerGas", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BaseFeePerGas = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Transactions", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Transactions = append(m.Transactions, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Withdrawals", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.Withdrawals) == cap(m.Withdrawals) { + m.Withdrawals = append(m.Withdrawals, &Withdrawal{}) + } else { + m.Withdrawals = m.Withdrawals[:len(m.Withdrawals)+1] + if m.Withdrawals[len(m.Withdrawals)-1] == nil { + m.Withdrawals[len(m.Withdrawals)-1] = &Withdrawal{} + } + } + if err := m.Withdrawals[len(m.Withdrawals)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExecutionPayloadCapellaV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionPayloadCapellaV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionPayloadCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FeeRecipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StateRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceiptsRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReceiptsRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LogsBloom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LogsBloom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PrevRandao", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PrevRandao = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockNumber == nil { + m.BlockNumber = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5371,16 +6211,33 @@ func (m *ExecutionPayloadCapella) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GasLimit |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasLimit == nil { + m.GasLimit = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 9: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) } - m.GasUsed = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5390,16 +6247,33 @@ func (m *ExecutionPayloadCapella) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GasUsed |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasUsed == nil { + m.GasUsed = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 10: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) } - m.Timestamp = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5409,11 +6283,28 @@ func (m *ExecutionPayloadCapella) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Timestamp |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Timestamp == nil { + m.Timestamp = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 11: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ExtraData", wireType) @@ -5572,11 +6463,11 @@ func (m *ExecutionPayloadCapella) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if len(m.Withdrawals) == cap(m.Withdrawals) { - m.Withdrawals = append(m.Withdrawals, &Withdrawal{}) + m.Withdrawals = append(m.Withdrawals, &WithdrawalV2{}) } else { m.Withdrawals = m.Withdrawals[:len(m.Withdrawals)+1] if m.Withdrawals[len(m.Withdrawals)-1] == nil { - m.Withdrawals[len(m.Withdrawals)-1] = &Withdrawal{} + m.Withdrawals[len(m.Withdrawals)-1] = &WithdrawalV2{} } } if err := m.Withdrawals[len(m.Withdrawals)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { @@ -5605,7 +6496,7 @@ func (m *ExecutionPayloadCapella) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionPayloadCapellaV2) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionPayloadDeneb) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5628,10 +6519,10 @@ func (m *ExecutionPayloadCapellaV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionPayloadCapellaV2: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionPayloadDeneb: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionPayloadCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionPayloadDeneb: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6139,6 +7030,78 @@ func (m *ExecutionPayloadCapellaV2) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobGasUsed", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlobGasUsed == nil { + m.BlobGasUsed = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BlobGasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExcessBlobGas", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ExcessBlobGas == nil { + m.ExcessBlobGas = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ExcessBlobGas).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -6161,7 +7124,7 @@ func (m *ExecutionPayloadCapellaV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionPayloadDeneb) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionPayloadElectra) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6184,10 +7147,10 @@ func (m *ExecutionPayloadDeneb) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionPayloadDeneb: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionPayloadElectra: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionPayloadDeneb: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionPayloadElectra: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6789,7 +7752,7 @@ func (m *ExecutionPayloadDeneb) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionPayloadElectra) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionPayloadFulu) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6812,10 +7775,10 @@ func (m *ExecutionPayloadElectra) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionPayloadElectra: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionPayloadFulu: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionPayloadElectra: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionPayloadFulu: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7417,7 +8380,7 @@ func (m *ExecutionPayloadElectra) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionPayloadFulu) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionPayloadGloas) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7440,10 +8403,10 @@ func (m *ExecutionPayloadFulu) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionPayloadFulu: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionPayloadGloas: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionPayloadFulu: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionPayloadGloas: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8023,6 +8986,78 @@ func (m *ExecutionPayloadFulu) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockAccessList", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockAccessList == nil { + m.BlockAccessList = BlockAccessListFromVTPool() + } + if err := m.BlockAccessList.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 19: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SlotNumber", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SlotNumber == nil { + m.SlotNumber = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.SlotNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -8354,6 +9389,38 @@ func (m *WithdrawalV2) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WithdrawalType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WithdrawalType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/pkg/proto/eth/v1/execution_payload_available.pb.go b/pkg/proto/eth/v1/execution_payload_available.pb.go new file mode 100644 index 00000000..3ec51323 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_available.pb.go @@ -0,0 +1,178 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/execution_payload_available.proto + +// EIP-7732: ePBS Execution Payload Available signal +// https://github.com/ethereum/beacon-APIs/blob/master/apis/eventstream/index.yaml +// +// The beacon node emits this SSE event once it has verified that the +// execution payload and blobs for a given beacon block are locally +// available, i.e. ready for the PTC to vote `payload_present = true`. +// Distinct from the `execution_payload` SSE topic which carries the full +// SignedExecutionPayloadEnvelope on import. + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ExecutionPayloadAvailable carries the block root + slot of a beacon block +// whose execution payload + blobs the node has just confirmed available. +type ExecutionPayloadAvailable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BlockRoot string `protobuf:"bytes,1,opt,name=block_root,proto3" json:"block_root,omitempty"` + Slot *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` +} + +func (x *ExecutionPayloadAvailable) Reset() { + *x = ExecutionPayloadAvailable{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_payload_available_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadAvailable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadAvailable) ProtoMessage() {} + +func (x *ExecutionPayloadAvailable) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_payload_available_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadAvailable.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadAvailable) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescGZIP(), []int{0} +} + +func (x *ExecutionPayloadAvailable) GetBlockRoot() string { + if x != nil { + return x.BlockRoot + } + return "" +} + +func (x *ExecutionPayloadAvailable) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +var File_pkg_proto_eth_v1_execution_payload_available_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_execution_payload_available_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, + 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescData = file_pkg_proto_eth_v1_execution_payload_available_proto_rawDesc +) + +func file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_execution_payload_available_proto_rawDescData +} + +var file_pkg_proto_eth_v1_execution_payload_available_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_proto_eth_v1_execution_payload_available_proto_goTypes = []any{ + (*ExecutionPayloadAvailable)(nil), // 0: xatu.eth.v1.ExecutionPayloadAvailable + (*wrapperspb.UInt64Value)(nil), // 1: google.protobuf.UInt64Value +} +var file_pkg_proto_eth_v1_execution_payload_available_proto_depIdxs = []int32{ + 1, // 0: xatu.eth.v1.ExecutionPayloadAvailable.slot:type_name -> google.protobuf.UInt64Value + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_execution_payload_available_proto_init() } +func file_pkg_proto_eth_v1_execution_payload_available_proto_init() { + if File_pkg_proto_eth_v1_execution_payload_available_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_execution_payload_available_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*ExecutionPayloadAvailable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_execution_payload_available_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_execution_payload_available_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_execution_payload_available_proto_depIdxs, + MessageInfos: file_pkg_proto_eth_v1_execution_payload_available_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_execution_payload_available_proto = out.File + file_pkg_proto_eth_v1_execution_payload_available_proto_rawDesc = nil + file_pkg_proto_eth_v1_execution_payload_available_proto_goTypes = nil + file_pkg_proto_eth_v1_execution_payload_available_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/execution_payload_available.proto b/pkg/proto/eth/v1/execution_payload_available.proto new file mode 100644 index 00000000..abea67a4 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_available.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +// EIP-7732: ePBS Execution Payload Available signal +// https://github.com/ethereum/beacon-APIs/blob/master/apis/eventstream/index.yaml +// +// The beacon node emits this SSE event once it has verified that the +// execution payload and blobs for a given beacon block are locally +// available, i.e. ready for the PTC to vote `payload_present = true`. +// Distinct from the `execution_payload` SSE topic which carries the full +// SignedExecutionPayloadEnvelope on import. + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/wrappers.proto"; + +// ExecutionPayloadAvailable carries the block root + slot of a beacon block +// whose execution payload + blobs the node has just confirmed available. +message ExecutionPayloadAvailable { + string block_root = 1 [ json_name = "block_root" ]; + + google.protobuf.UInt64Value slot = 2 [ json_name = "slot" ]; +} diff --git a/pkg/proto/eth/v1/execution_payload_available_vtproto.pb.go b/pkg/proto/eth/v1/execution_payload_available_vtproto.pb.go new file mode 100644 index 00000000..0ead45f2 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_available_vtproto.pb.go @@ -0,0 +1,230 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/execution_payload_available.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *ExecutionPayloadAvailable) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExecutionPayloadAvailable) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExecutionPayloadAvailable) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.BlockRoot) > 0 { + i -= len(m.BlockRoot) + copy(dAtA[i:], m.BlockRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BlockRoot))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_ExecutionPayloadAvailable = sync.Pool{ + New: func() interface{} { + return &ExecutionPayloadAvailable{} + }, +} + +func (m *ExecutionPayloadAvailable) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *ExecutionPayloadAvailable) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ExecutionPayloadAvailable.Put(m) + } +} +func ExecutionPayloadAvailableFromVTPool() *ExecutionPayloadAvailable { + return vtprotoPool_ExecutionPayloadAvailable.Get().(*ExecutionPayloadAvailable) +} +func (m *ExecutionPayloadAvailable) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BlockRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExecutionPayloadAvailable) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionPayloadAvailable: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionPayloadAvailable: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v1/execution_payload_bid.pb.go b/pkg/proto/eth/v1/execution_payload_bid.pb.go new file mode 100644 index 00000000..8de80ae7 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_bid.pb.go @@ -0,0 +1,365 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/execution_payload_bid.proto + +// EIP-7732: ePBS Execution Payload Bid types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#executionpayloadbid + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ExecutionPayloadBid is the builder's bid included in the beacon block body. +type ExecutionPayloadBid struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParentBlockHash string `protobuf:"bytes,1,opt,name=parent_block_hash,proto3" json:"parent_block_hash,omitempty"` + ParentBlockRoot string `protobuf:"bytes,2,opt,name=parent_block_root,proto3" json:"parent_block_root,omitempty"` + BlockHash string `protobuf:"bytes,3,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + PrevRandao string `protobuf:"bytes,4,opt,name=prev_randao,proto3" json:"prev_randao,omitempty"` + FeeRecipient string `protobuf:"bytes,5,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + BuilderIndex *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=builder_index,proto3" json:"builder_index,omitempty"` + Slot *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=slot,proto3" json:"slot,omitempty"` + Value *wrapperspb.UInt64Value `protobuf:"bytes,9,opt,name=value,proto3" json:"value,omitempty"` + ExecutionPayment *wrapperspb.UInt64Value `protobuf:"bytes,10,opt,name=execution_payment,proto3" json:"execution_payment,omitempty"` + BlobKzgCommitments []string `protobuf:"bytes,11,rep,name=blob_kzg_commitments,proto3" json:"blob_kzg_commitments,omitempty"` + ExecutionRequestsRoot string `protobuf:"bytes,12,opt,name=execution_requests_root,proto3" json:"execution_requests_root,omitempty"` +} + +func (x *ExecutionPayloadBid) Reset() { + *x = ExecutionPayloadBid{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadBid) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadBid) ProtoMessage() {} + +func (x *ExecutionPayloadBid) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadBid.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadBid) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescGZIP(), []int{0} +} + +func (x *ExecutionPayloadBid) GetParentBlockHash() string { + if x != nil { + return x.ParentBlockHash + } + return "" +} + +func (x *ExecutionPayloadBid) GetParentBlockRoot() string { + if x != nil { + return x.ParentBlockRoot + } + return "" +} + +func (x *ExecutionPayloadBid) GetBlockHash() string { + if x != nil { + return x.BlockHash + } + return "" +} + +func (x *ExecutionPayloadBid) GetPrevRandao() string { + if x != nil { + return x.PrevRandao + } + return "" +} + +func (x *ExecutionPayloadBid) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *ExecutionPayloadBid) GetGasLimit() *wrapperspb.UInt64Value { + if x != nil { + return x.GasLimit + } + return nil +} + +func (x *ExecutionPayloadBid) GetBuilderIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.BuilderIndex + } + return nil +} + +func (x *ExecutionPayloadBid) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ExecutionPayloadBid) GetValue() *wrapperspb.UInt64Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *ExecutionPayloadBid) GetExecutionPayment() *wrapperspb.UInt64Value { + if x != nil { + return x.ExecutionPayment + } + return nil +} + +func (x *ExecutionPayloadBid) GetBlobKzgCommitments() []string { + if x != nil { + return x.BlobKzgCommitments + } + return nil +} + +func (x *ExecutionPayloadBid) GetExecutionRequestsRoot() string { + if x != nil { + return x.ExecutionRequestsRoot + } + return "" +} + +// SignedExecutionPayloadBid wraps ExecutionPayloadBid with the builder's signature. +type SignedExecutionPayloadBid struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *ExecutionPayloadBid `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *SignedExecutionPayloadBid) Reset() { + *x = SignedExecutionPayloadBid{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignedExecutionPayloadBid) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignedExecutionPayloadBid) ProtoMessage() {} + +func (x *SignedExecutionPayloadBid) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignedExecutionPayloadBid.ProtoReflect.Descriptor instead. +func (*SignedExecutionPayloadBid) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescGZIP(), []int{1} +} + +func (x *SignedExecutionPayloadBid) GetMessage() *ExecutionPayloadBid { + if x != nil { + return x.Message + } + return nil +} + +func (x *SignedExecutionPayloadBid) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +var File_pkg_proto_eth_v1_execution_payload_bid_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, + 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x04, + 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x42, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x61, 0x6e, + 0x64, 0x61, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, + 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x4a, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x62, + 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x38, 0x0a, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x75, 0x0a, 0x19, 0x53, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, + 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescData = file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDesc +) + +func file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDescData +} + +var file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_pkg_proto_eth_v1_execution_payload_bid_proto_goTypes = []any{ + (*ExecutionPayloadBid)(nil), // 0: xatu.eth.v1.ExecutionPayloadBid + (*SignedExecutionPayloadBid)(nil), // 1: xatu.eth.v1.SignedExecutionPayloadBid + (*wrapperspb.UInt64Value)(nil), // 2: google.protobuf.UInt64Value +} +var file_pkg_proto_eth_v1_execution_payload_bid_proto_depIdxs = []int32{ + 2, // 0: xatu.eth.v1.ExecutionPayloadBid.gas_limit:type_name -> google.protobuf.UInt64Value + 2, // 1: xatu.eth.v1.ExecutionPayloadBid.builder_index:type_name -> google.protobuf.UInt64Value + 2, // 2: xatu.eth.v1.ExecutionPayloadBid.slot:type_name -> google.protobuf.UInt64Value + 2, // 3: xatu.eth.v1.ExecutionPayloadBid.value:type_name -> google.protobuf.UInt64Value + 2, // 4: xatu.eth.v1.ExecutionPayloadBid.execution_payment:type_name -> google.protobuf.UInt64Value + 0, // 5: xatu.eth.v1.SignedExecutionPayloadBid.message:type_name -> xatu.eth.v1.ExecutionPayloadBid + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_execution_payload_bid_proto_init() } +func file_pkg_proto_eth_v1_execution_payload_bid_proto_init() { + if File_pkg_proto_eth_v1_execution_payload_bid_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*ExecutionPayloadBid); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*SignedExecutionPayloadBid); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_execution_payload_bid_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_execution_payload_bid_proto_depIdxs, + MessageInfos: file_pkg_proto_eth_v1_execution_payload_bid_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_execution_payload_bid_proto = out.File + file_pkg_proto_eth_v1_execution_payload_bid_proto_rawDesc = nil + file_pkg_proto_eth_v1_execution_payload_bid_proto_goTypes = nil + file_pkg_proto_eth_v1_execution_payload_bid_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/execution_payload_bid.proto b/pkg/proto/eth/v1/execution_payload_bid.proto new file mode 100644 index 00000000..2f480580 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_bid.proto @@ -0,0 +1,48 @@ +syntax = "proto3"; + +// EIP-7732: ePBS Execution Payload Bid types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#executionpayloadbid + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/wrappers.proto"; + +// ExecutionPayloadBid is the builder's bid included in the beacon block body. +message ExecutionPayloadBid { + string parent_block_hash = 1 [ json_name = "parent_block_hash" ]; + + string parent_block_root = 2 [ json_name = "parent_block_root" ]; + + string block_hash = 3 [ json_name = "block_hash" ]; + + string prev_randao = 4 [ json_name = "prev_randao" ]; + + string fee_recipient = 5 [ json_name = "fee_recipient" ]; + + google.protobuf.UInt64Value gas_limit = 6 [ json_name = "gas_limit" ]; + + google.protobuf.UInt64Value builder_index = 7 + [ json_name = "builder_index" ]; + + google.protobuf.UInt64Value slot = 8 [ json_name = "slot" ]; + + google.protobuf.UInt64Value value = 9 [ json_name = "value" ]; + + google.protobuf.UInt64Value execution_payment = 10 + [ json_name = "execution_payment" ]; + + repeated string blob_kzg_commitments = 11 + [ json_name = "blob_kzg_commitments" ]; + + string execution_requests_root = 12 [ json_name = "execution_requests_root" ]; +} + +// SignedExecutionPayloadBid wraps ExecutionPayloadBid with the builder's signature. +message SignedExecutionPayloadBid { + ExecutionPayloadBid message = 1; + + string signature = 2; +} diff --git a/pkg/proto/eth/v1/execution_payload_bid_vtproto.pb.go b/pkg/proto/eth/v1/execution_payload_bid_vtproto.pb.go new file mode 100644 index 00000000..4f3cd034 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_bid_vtproto.pb.go @@ -0,0 +1,903 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/execution_payload_bid.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *ExecutionPayloadBid) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.ExecutionRequestsRoot) > 0 { + i -= len(m.ExecutionRequestsRoot) + copy(dAtA[i:], m.ExecutionRequestsRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExecutionRequestsRoot))) + i-- + dAtA[i] = 0x62 + } + if len(m.BlobKzgCommitments) > 0 { + for iNdEx := len(m.BlobKzgCommitments) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlobKzgCommitments[iNdEx]) + copy(dAtA[i:], m.BlobKzgCommitments[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BlobKzgCommitments[iNdEx]))) + i-- + dAtA[i] = 0x5a + } + } + if m.ExecutionPayment != nil { + size, err := (*wrapperspb.UInt64Value)(m.ExecutionPayment).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + if m.Value != nil { + size, err := (*wrapperspb.UInt64Value)(m.Value).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.BuilderIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.BuilderIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.GasLimit != nil { + size, err := (*wrapperspb.UInt64Value)(m.GasLimit).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if len(m.FeeRecipient) > 0 { + i -= len(m.FeeRecipient) + copy(dAtA[i:], m.FeeRecipient) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FeeRecipient))) + i-- + dAtA[i] = 0x2a + } + if len(m.PrevRandao) > 0 { + i -= len(m.PrevRandao) + copy(dAtA[i:], m.PrevRandao) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PrevRandao))) + i-- + dAtA[i] = 0x22 + } + if len(m.BlockHash) > 0 { + i -= len(m.BlockHash) + copy(dAtA[i:], m.BlockHash) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BlockHash))) + i-- + dAtA[i] = 0x1a + } + if len(m.ParentBlockRoot) > 0 { + i -= len(m.ParentBlockRoot) + copy(dAtA[i:], m.ParentBlockRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ParentBlockRoot))) + i-- + dAtA[i] = 0x12 + } + if len(m.ParentBlockHash) > 0 { + i -= len(m.ParentBlockHash) + copy(dAtA[i:], m.ParentBlockHash) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ParentBlockHash))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *SignedExecutionPayloadBid) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignedExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SignedExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x12 + } + if m.Message != nil { + size, err := m.Message.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_ExecutionPayloadBid = sync.Pool{ + New: func() interface{} { + return &ExecutionPayloadBid{} + }, +} + +func (m *ExecutionPayloadBid) ResetVT() { + if m != nil { + f0 := m.BlobKzgCommitments[:0] + m.Reset() + m.BlobKzgCommitments = f0 + } +} +func (m *ExecutionPayloadBid) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ExecutionPayloadBid.Put(m) + } +} +func ExecutionPayloadBidFromVTPool() *ExecutionPayloadBid { + return vtprotoPool_ExecutionPayloadBid.Get().(*ExecutionPayloadBid) +} + +var vtprotoPool_SignedExecutionPayloadBid = sync.Pool{ + New: func() interface{} { + return &SignedExecutionPayloadBid{} + }, +} + +func (m *SignedExecutionPayloadBid) ResetVT() { + if m != nil { + m.Message.ReturnToVTPool() + m.Reset() + } +} +func (m *SignedExecutionPayloadBid) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_SignedExecutionPayloadBid.Put(m) + } +} +func SignedExecutionPayloadBidFromVTPool() *SignedExecutionPayloadBid { + return vtprotoPool_SignedExecutionPayloadBid.Get().(*SignedExecutionPayloadBid) +} +func (m *ExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ParentBlockHash) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ParentBlockRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BlockHash) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.PrevRandao) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.FeeRecipient) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.GasLimit != nil { + l = (*wrapperspb.UInt64Value)(m.GasLimit).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BuilderIndex != nil { + l = (*wrapperspb.UInt64Value)(m.BuilderIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Value != nil { + l = (*wrapperspb.UInt64Value)(m.Value).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ExecutionPayment != nil { + l = (*wrapperspb.UInt64Value)(m.ExecutionPayment).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.BlobKzgCommitments) > 0 { + for _, s := range m.BlobKzgCommitments { + l = len(s) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + l = len(m.ExecutionRequestsRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *SignedExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Message != nil { + l = m.Message.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Signature) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExecutionPayloadBid) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionPayloadBid: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionPayloadBid: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentBlockHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentBlockHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentBlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentBlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PrevRandao", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PrevRandao = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FeeRecipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasLimit == nil { + m.GasLimit = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BuilderIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BuilderIndex == nil { + m.BuilderIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BuilderIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Value == nil { + m.Value = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Value).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayment", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ExecutionPayment == nil { + m.ExecutionPayment = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ExecutionPayment).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobKzgCommitments", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlobKzgCommitments = append(m.BlobKzgCommitments, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionRequestsRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExecutionRequestsRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignedExecutionPayloadBid) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SignedExecutionPayloadBid: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignedExecutionPayloadBid: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Message == nil { + m.Message = ExecutionPayloadBidFromVTPool() + } + if err := m.Message.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v1/execution_payload_envelope.pb.go b/pkg/proto/eth/v1/execution_payload_envelope.pb.go new file mode 100644 index 00000000..b03dbcc6 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_envelope.pb.go @@ -0,0 +1,301 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/execution_payload_envelope.proto + +// EIP-7732: ePBS Execution Payload Envelope types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#executionpayloadenvelope + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ExecutionPayloadEnvelope is the container delivered by the builder +// separately from the beacon block (~2s after block). +type ExecutionPayloadEnvelope struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payload *ExecutionPayloadGloas `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + ExecutionRequests *ElectraExecutionRequests `protobuf:"bytes,2,opt,name=execution_requests,proto3" json:"execution_requests,omitempty"` + BuilderIndex *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=builder_index,proto3" json:"builder_index,omitempty"` + BeaconBlockRoot string `protobuf:"bytes,4,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` + ParentBeaconBlockRoot string `protobuf:"bytes,7,opt,name=parent_beacon_block_root,proto3" json:"parent_beacon_block_root,omitempty"` +} + +func (x *ExecutionPayloadEnvelope) Reset() { + *x = ExecutionPayloadEnvelope{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadEnvelope) ProtoMessage() {} + +func (x *ExecutionPayloadEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadEnvelope.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadEnvelope) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescGZIP(), []int{0} +} + +func (x *ExecutionPayloadEnvelope) GetPayload() *ExecutionPayloadGloas { + if x != nil { + return x.Payload + } + return nil +} + +func (x *ExecutionPayloadEnvelope) GetExecutionRequests() *ElectraExecutionRequests { + if x != nil { + return x.ExecutionRequests + } + return nil +} + +func (x *ExecutionPayloadEnvelope) GetBuilderIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.BuilderIndex + } + return nil +} + +func (x *ExecutionPayloadEnvelope) GetBeaconBlockRoot() string { + if x != nil { + return x.BeaconBlockRoot + } + return "" +} + +func (x *ExecutionPayloadEnvelope) GetParentBeaconBlockRoot() string { + if x != nil { + return x.ParentBeaconBlockRoot + } + return "" +} + +// SignedExecutionPayloadEnvelope wraps ExecutionPayloadEnvelope with the +// builder's signature. +type SignedExecutionPayloadEnvelope struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *ExecutionPayloadEnvelope `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *SignedExecutionPayloadEnvelope) Reset() { + *x = SignedExecutionPayloadEnvelope{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignedExecutionPayloadEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignedExecutionPayloadEnvelope) ProtoMessage() {} + +func (x *SignedExecutionPayloadEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignedExecutionPayloadEnvelope.ProtoReflect.Descriptor instead. +func (*SignedExecutionPayloadEnvelope) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescGZIP(), []int{1} +} + +func (x *SignedExecutionPayloadEnvelope) GetMessage() *ExecutionPayloadEnvelope { + if x != nil { + return x.Message + } + return nil +} + +func (x *SignedExecutionPayloadEnvelope) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +var File_pkg_proto_eth_v1_execution_payload_envelope_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x27, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, + 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x70, 0x6b, 0x67, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x47, 0x6c, 0x6f, 0x61, 0x73, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x55, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6c, 0x65, 0x63, + 0x74, 0x72, 0x61, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x11, + 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x7f, 0x0a, 0x1e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, + 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescData = file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDesc +) + +func file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDescData +} + +var file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_pkg_proto_eth_v1_execution_payload_envelope_proto_goTypes = []any{ + (*ExecutionPayloadEnvelope)(nil), // 0: xatu.eth.v1.ExecutionPayloadEnvelope + (*SignedExecutionPayloadEnvelope)(nil), // 1: xatu.eth.v1.SignedExecutionPayloadEnvelope + (*ExecutionPayloadGloas)(nil), // 2: xatu.eth.v1.ExecutionPayloadGloas + (*ElectraExecutionRequests)(nil), // 3: xatu.eth.v1.ElectraExecutionRequests + (*wrapperspb.UInt64Value)(nil), // 4: google.protobuf.UInt64Value +} +var file_pkg_proto_eth_v1_execution_payload_envelope_proto_depIdxs = []int32{ + 2, // 0: xatu.eth.v1.ExecutionPayloadEnvelope.payload:type_name -> xatu.eth.v1.ExecutionPayloadGloas + 3, // 1: xatu.eth.v1.ExecutionPayloadEnvelope.execution_requests:type_name -> xatu.eth.v1.ElectraExecutionRequests + 4, // 2: xatu.eth.v1.ExecutionPayloadEnvelope.builder_index:type_name -> google.protobuf.UInt64Value + 0, // 3: xatu.eth.v1.SignedExecutionPayloadEnvelope.message:type_name -> xatu.eth.v1.ExecutionPayloadEnvelope + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_execution_payload_envelope_proto_init() } +func file_pkg_proto_eth_v1_execution_payload_envelope_proto_init() { + if File_pkg_proto_eth_v1_execution_payload_envelope_proto != nil { + return + } + file_pkg_proto_eth_v1_execution_engine_proto_init() + file_pkg_proto_eth_v1_execution_requests_proto_init() + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*ExecutionPayloadEnvelope); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*SignedExecutionPayloadEnvelope); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_execution_payload_envelope_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_execution_payload_envelope_proto_depIdxs, + MessageInfos: file_pkg_proto_eth_v1_execution_payload_envelope_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_execution_payload_envelope_proto = out.File + file_pkg_proto_eth_v1_execution_payload_envelope_proto_rawDesc = nil + file_pkg_proto_eth_v1_execution_payload_envelope_proto_goTypes = nil + file_pkg_proto_eth_v1_execution_payload_envelope_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/execution_payload_envelope.proto b/pkg/proto/eth/v1/execution_payload_envelope.proto new file mode 100644 index 00000000..49fb1068 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_envelope.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; + +// EIP-7732: ePBS Execution Payload Envelope types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#executionpayloadenvelope + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/wrappers.proto"; +import "pkg/proto/eth/v1/execution_engine.proto"; +import "pkg/proto/eth/v1/execution_requests.proto"; + +// ExecutionPayloadEnvelope is the container delivered by the builder +// separately from the beacon block (~2s after block). +message ExecutionPayloadEnvelope { + ExecutionPayloadGloas payload = 1; + + ElectraExecutionRequests execution_requests = 2 + [ json_name = "execution_requests" ]; + + google.protobuf.UInt64Value builder_index = 3 + [ json_name = "builder_index" ]; + + string beacon_block_root = 4 [ json_name = "beacon_block_root" ]; + + string parent_beacon_block_root = 7 [ json_name = "parent_beacon_block_root" ]; +} + +// SignedExecutionPayloadEnvelope wraps ExecutionPayloadEnvelope with the +// builder's signature. +message SignedExecutionPayloadEnvelope { + ExecutionPayloadEnvelope message = 1; + + string signature = 2; +} diff --git a/pkg/proto/eth/v1/execution_payload_envelope_vtproto.pb.go b/pkg/proto/eth/v1/execution_payload_envelope_vtproto.pb.go new file mode 100644 index 00000000..e7818513 --- /dev/null +++ b/pkg/proto/eth/v1/execution_payload_envelope_vtproto.pb.go @@ -0,0 +1,584 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/execution_payload_envelope.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *ExecutionPayloadEnvelope) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExecutionPayloadEnvelope) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExecutionPayloadEnvelope) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.ParentBeaconBlockRoot) > 0 { + i -= len(m.ParentBeaconBlockRoot) + copy(dAtA[i:], m.ParentBeaconBlockRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ParentBeaconBlockRoot))) + i-- + dAtA[i] = 0x3a + } + if len(m.BeaconBlockRoot) > 0 { + i -= len(m.BeaconBlockRoot) + copy(dAtA[i:], m.BeaconBlockRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BeaconBlockRoot))) + i-- + dAtA[i] = 0x22 + } + if m.BuilderIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.BuilderIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.ExecutionRequests != nil { + size, err := m.ExecutionRequests.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Payload != nil { + size, err := m.Payload.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *SignedExecutionPayloadEnvelope) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignedExecutionPayloadEnvelope) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SignedExecutionPayloadEnvelope) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x12 + } + if m.Message != nil { + size, err := m.Message.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_ExecutionPayloadEnvelope = sync.Pool{ + New: func() interface{} { + return &ExecutionPayloadEnvelope{} + }, +} + +func (m *ExecutionPayloadEnvelope) ResetVT() { + if m != nil { + m.Payload.ReturnToVTPool() + m.ExecutionRequests.ReturnToVTPool() + m.Reset() + } +} +func (m *ExecutionPayloadEnvelope) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ExecutionPayloadEnvelope.Put(m) + } +} +func ExecutionPayloadEnvelopeFromVTPool() *ExecutionPayloadEnvelope { + return vtprotoPool_ExecutionPayloadEnvelope.Get().(*ExecutionPayloadEnvelope) +} + +var vtprotoPool_SignedExecutionPayloadEnvelope = sync.Pool{ + New: func() interface{} { + return &SignedExecutionPayloadEnvelope{} + }, +} + +func (m *SignedExecutionPayloadEnvelope) ResetVT() { + if m != nil { + m.Message.ReturnToVTPool() + m.Reset() + } +} +func (m *SignedExecutionPayloadEnvelope) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_SignedExecutionPayloadEnvelope.Put(m) + } +} +func SignedExecutionPayloadEnvelopeFromVTPool() *SignedExecutionPayloadEnvelope { + return vtprotoPool_SignedExecutionPayloadEnvelope.Get().(*SignedExecutionPayloadEnvelope) +} +func (m *ExecutionPayloadEnvelope) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Payload != nil { + l = m.Payload.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ExecutionRequests != nil { + l = m.ExecutionRequests.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BuilderIndex != nil { + l = (*wrapperspb.UInt64Value)(m.BuilderIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BeaconBlockRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ParentBeaconBlockRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *SignedExecutionPayloadEnvelope) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Message != nil { + l = m.Message.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Signature) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExecutionPayloadEnvelope) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionPayloadEnvelope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionPayloadEnvelope: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Payload == nil { + m.Payload = ExecutionPayloadGloasFromVTPool() + } + if err := m.Payload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionRequests", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ExecutionRequests == nil { + m.ExecutionRequests = ElectraExecutionRequestsFromVTPool() + } + if err := m.ExecutionRequests.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BuilderIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BuilderIndex == nil { + m.BuilderIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BuilderIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BeaconBlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BeaconBlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentBeaconBlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentBeaconBlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignedExecutionPayloadEnvelope) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SignedExecutionPayloadEnvelope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignedExecutionPayloadEnvelope: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Message == nil { + m.Message = ExecutionPayloadEnvelopeFromVTPool() + } + if err := m.Message.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v1/fork_choice.go b/pkg/proto/eth/v1/fork_choice.go index 4a8ace62..f9fa0922 100644 --- a/pkg/proto/eth/v1/fork_choice.go +++ b/pkg/proto/eth/v1/fork_choice.go @@ -145,6 +145,12 @@ func (f *ForkChoiceNodeV2) AsGoEth2ClientV1ForkChoiceNode() (*eth2v1.ForkChoiceN return nil, errors.Wrap(err, "failed to marshal extra_data") } + // Round-trip the EIP-7732 payload_status into extra_data so downstream + // consumers that only inspect extra_data still see it. + if ps := f.GetPayloadStatus(); ps != nil { + extraData["payload_status"] = ps.GetValue() + } + validity, err := eth2v1.ForkChoiceNodeValidityFromString(f.Validity) if err != nil { return nil, errors.Wrap(err, "failed to convert validity") @@ -242,7 +248,7 @@ func NewForkChoiceNodeV2FromGoEth2ClientV1(node *eth2v1.ForkChoiceNode) (*ForkCh return nil, err } - return &ForkChoiceNodeV2{ + out := &ForkChoiceNodeV2{ Slot: &wrapperspb.UInt64Value{Value: uint64(node.Slot)}, BlockRoot: RootAsString(node.BlockRoot), ParentRoot: RootAsString(node.ParentRoot), @@ -252,5 +258,49 @@ func NewForkChoiceNodeV2FromGoEth2ClientV1(node *eth2v1.ForkChoiceNode) (*ForkCh Validity: node.Validity.String(), ExecutionBlockHash: RootAsString(node.ExecutionBlockHash), ExtraData: string(extraData), - }, nil + } + + if v, ok := payloadStatusFromExtraData(node.ExtraData); ok { + out.PayloadStatus = &wrapperspb.UInt32Value{Value: v} + } + + return out, nil +} + +// payloadStatusFromExtraData reads the EIP-7732 per-node payload_status enum +// from the beacon API's fork_choice extra_data map. Gloas+ beacon nodes report +// it as a string ("EMPTY", "FULL", "PENDING") or an integer (0/1/2); upstream +// hasn't standardised the shape yet so we tolerate both. Returns false when +// the key isn't present (pre-Gloas nodes), or when the value can't be coerced. +func payloadStatusFromExtraData(extraData map[string]any) (uint32, bool) { + raw, ok := extraData["payload_status"] + if !ok { + return 0, false + } + + switch v := raw.(type) { + case string: + switch v { + case "EMPTY", "empty", "0": + return 0, true + case "FULL", "full", "1": + return 1, true + case "PENDING", "pending", "2": + return 2, true + } + case float64: + if v >= 0 && v <= 2 { + return uint32(v), true + } + case int: + if v >= 0 && v <= 2 { + return uint32(v), true + } + case uint64: + if v <= 2 { + return uint32(v), true + } + } + + return 0, false } diff --git a/pkg/proto/eth/v1/fork_choice.pb.go b/pkg/proto/eth/v1/fork_choice.pb.go index 71787ef5..bfc9d192 100644 --- a/pkg/proto/eth/v1/fork_choice.pb.go +++ b/pkg/proto/eth/v1/fork_choice.pb.go @@ -277,6 +277,12 @@ type ForkChoiceNodeV2 struct { Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity,omitempty"` ExecutionBlockHash string `protobuf:"bytes,8,opt,name=ExecutionBlockHash,json=execution_block_hash,proto3" json:"ExecutionBlockHash,omitempty"` ExtraData string `protobuf:"bytes,9,opt,name=ExtraData,json=extra_data,proto3" json:"ExtraData,omitempty"` + // EIP-7732 ePBS: per-node payload status from the Gloas+ fork-choice store + // (0 = EMPTY, 1 = FULL, 2 = PENDING). Sourced from the upstream beacon + // node's debug/fork_choice extra_data["payload_status"] when present. + // Pre-Gloas nodes leave this unset. consensus-specs PR #5094 narrowed the + // scope to per-node tracking (no Store-level payload_states mirror). + PayloadStatus *wrapperspb.UInt32Value `protobuf:"bytes,10,opt,name=payload_status,proto3" json:"payload_status,omitempty"` } func (x *ForkChoiceNodeV2) Reset() { @@ -374,6 +380,13 @@ func (x *ForkChoiceNodeV2) GetExtraData() string { return "" } +func (x *ForkChoiceNodeV2) GetPayloadStatus() *wrapperspb.UInt32Value { + if x != nil { + return x.PayloadStatus + } + return nil +} + var File_pkg_proto_eth_v1_fork_choice_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v1_fork_choice_proto_rawDesc = []byte{ @@ -437,7 +450,7 @@ var file_pkg_proto_eth_v1_fork_choice_proto_rawDesc = []byte{ 0x01, 0x28, 0x09, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x03, 0x0a, 0x10, 0x46, 0x6f, 0x72, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xff, 0x03, 0x0a, 0x10, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, @@ -465,10 +478,15 @@ var file_pkg_proto_eth_v1_fork_choice_proto_rawDesc = []byte{ 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, - 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, - 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -492,6 +510,7 @@ var file_pkg_proto_eth_v1_fork_choice_proto_goTypes = []any{ (*Checkpoint)(nil), // 4: xatu.eth.v1.Checkpoint (*CheckpointV2)(nil), // 5: xatu.eth.v1.CheckpointV2 (*wrapperspb.UInt64Value)(nil), // 6: google.protobuf.UInt64Value + (*wrapperspb.UInt32Value)(nil), // 7: google.protobuf.UInt32Value } var file_pkg_proto_eth_v1_fork_choice_proto_depIdxs = []int32{ 4, // 0: xatu.eth.v1.ForkChoice.justified_checkpoint:type_name -> xatu.eth.v1.Checkpoint @@ -504,11 +523,12 @@ var file_pkg_proto_eth_v1_fork_choice_proto_depIdxs = []int32{ 6, // 7: xatu.eth.v1.ForkChoiceNodeV2.justified_epoch:type_name -> google.protobuf.UInt64Value 6, // 8: xatu.eth.v1.ForkChoiceNodeV2.finalized_epoch:type_name -> google.protobuf.UInt64Value 6, // 9: xatu.eth.v1.ForkChoiceNodeV2.weight:type_name -> google.protobuf.UInt64Value - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 7, // 10: xatu.eth.v1.ForkChoiceNodeV2.payload_status:type_name -> google.protobuf.UInt32Value + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v1_fork_choice_proto_init() } diff --git a/pkg/proto/eth/v1/fork_choice.proto b/pkg/proto/eth/v1/fork_choice.proto index d19fe8d4..9de8f1dc 100644 --- a/pkg/proto/eth/v1/fork_choice.proto +++ b/pkg/proto/eth/v1/fork_choice.proto @@ -69,4 +69,11 @@ message ForkChoiceNodeV2 { string ExecutionBlockHash = 8 [ json_name = "execution_block_hash" ]; string ExtraData = 9 [ json_name = "extra_data" ]; + + // EIP-7732 ePBS: per-node payload status from the Gloas+ fork-choice store + // (0 = EMPTY, 1 = FULL, 2 = PENDING). Sourced from the upstream beacon + // node's debug/fork_choice extra_data["payload_status"] when present. + // Pre-Gloas nodes leave this unset. consensus-specs PR #5094 narrowed the + // scope to per-node tracking (no Store-level payload_states mirror). + google.protobuf.UInt32Value payload_status = 10 [ json_name = "payload_status" ]; } diff --git a/pkg/proto/eth/v1/fork_choice_vtproto.pb.go b/pkg/proto/eth/v1/fork_choice_vtproto.pb.go index c0bdfe91..df685af6 100644 --- a/pkg/proto/eth/v1/fork_choice_vtproto.pb.go +++ b/pkg/proto/eth/v1/fork_choice_vtproto.pb.go @@ -270,6 +270,16 @@ func (m *ForkChoiceNodeV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.PayloadStatus != nil { + size, err := (*wrapperspb.UInt32Value)(m.PayloadStatus).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } if len(m.ExtraData) > 0 { i -= len(m.ExtraData) copy(dAtA[i:], m.ExtraData) @@ -577,6 +587,10 @@ func (m *ForkChoiceNodeV2) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.PayloadStatus != nil { + l = (*wrapperspb.UInt32Value)(m.PayloadStatus).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -1529,6 +1543,42 @@ func (m *ForkChoiceNodeV2) UnmarshalVT(dAtA []byte) error { } m.ExtraData = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PayloadStatus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PayloadStatus == nil { + m.PayloadStatus = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.PayloadStatus).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/pkg/proto/eth/v1/payload_attestation.pb.go b/pkg/proto/eth/v1/payload_attestation.pb.go new file mode 100644 index 00000000..3d6843fe --- /dev/null +++ b/pkg/proto/eth/v1/payload_attestation.pb.go @@ -0,0 +1,467 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/payload_attestation.proto + +// EIP-7732: ePBS Payload Attestation types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#payloadattestationdata + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// PayloadAttestationData is the data that PTC validators attest to. +type PayloadAttestationData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BeaconBlockRoot string `protobuf:"bytes,1,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` + Slot *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + PayloadPresent bool `protobuf:"varint,3,opt,name=payload_present,proto3" json:"payload_present,omitempty"` + BlobDataAvailable bool `protobuf:"varint,4,opt,name=blob_data_available,proto3" json:"blob_data_available,omitempty"` +} + +func (x *PayloadAttestationData) Reset() { + *x = PayloadAttestationData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadAttestationData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadAttestationData) ProtoMessage() {} + +func (x *PayloadAttestationData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayloadAttestationData.ProtoReflect.Descriptor instead. +func (*PayloadAttestationData) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_payload_attestation_proto_rawDescGZIP(), []int{0} +} + +func (x *PayloadAttestationData) GetBeaconBlockRoot() string { + if x != nil { + return x.BeaconBlockRoot + } + return "" +} + +func (x *PayloadAttestationData) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *PayloadAttestationData) GetPayloadPresent() bool { + if x != nil { + return x.PayloadPresent + } + return false +} + +func (x *PayloadAttestationData) GetBlobDataAvailable() bool { + if x != nil { + return x.BlobDataAvailable + } + return false +} + +// PayloadAttestationMessage is an individual PTC validator's attestation. +// ~512 of these are produced per slot. +type PayloadAttestationMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + Data *PayloadAttestationData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *PayloadAttestationMessage) Reset() { + *x = PayloadAttestationMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadAttestationMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadAttestationMessage) ProtoMessage() {} + +func (x *PayloadAttestationMessage) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayloadAttestationMessage.ProtoReflect.Descriptor instead. +func (*PayloadAttestationMessage) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_payload_attestation_proto_rawDescGZIP(), []int{1} +} + +func (x *PayloadAttestationMessage) GetValidatorIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ValidatorIndex + } + return nil +} + +func (x *PayloadAttestationMessage) GetData() *PayloadAttestationData { + if x != nil { + return x.Data + } + return nil +} + +func (x *PayloadAttestationMessage) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +// PayloadAttestation is the aggregated PTC attestation included in the block body. +// Max MAX_PAYLOAD_ATTESTATIONS (4) per block. +type PayloadAttestation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Bitvector[PTC_SIZE] (512 bits) as hex string + AggregationBits string `protobuf:"bytes,1,opt,name=aggregation_bits,proto3" json:"aggregation_bits,omitempty"` + Data *PayloadAttestationData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *PayloadAttestation) Reset() { + *x = PayloadAttestation{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadAttestation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadAttestation) ProtoMessage() {} + +func (x *PayloadAttestation) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayloadAttestation.ProtoReflect.Descriptor instead. +func (*PayloadAttestation) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_payload_attestation_proto_rawDescGZIP(), []int{2} +} + +func (x *PayloadAttestation) GetAggregationBits() string { + if x != nil { + return x.AggregationBits + } + return "" +} + +func (x *PayloadAttestation) GetData() *PayloadAttestationData { + if x != nil { + return x.Data + } + return nil +} + +func (x *PayloadAttestation) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +// IndexedPayloadAttestation is a PayloadAttestation with attesting indices +// expanded from the aggregation bits. +type IndexedPayloadAttestation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttestingIndices []*wrapperspb.UInt64Value `protobuf:"bytes,1,rep,name=attesting_indices,proto3" json:"attesting_indices,omitempty"` + Data *PayloadAttestationData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *IndexedPayloadAttestation) Reset() { + *x = IndexedPayloadAttestation{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexedPayloadAttestation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexedPayloadAttestation) ProtoMessage() {} + +func (x *IndexedPayloadAttestation) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IndexedPayloadAttestation.ProtoReflect.Descriptor instead. +func (*IndexedPayloadAttestation) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_payload_attestation_proto_rawDescGZIP(), []int{3} +} + +func (x *IndexedPayloadAttestation) GetAttestingIndices() []*wrapperspb.UInt64Value { + if x != nil { + return x.AttestingIndices + } + return nil +} + +func (x *IndexedPayloadAttestation) GetData() *PayloadAttestationData { + if x != nil { + return x.Data + } + return nil +} + +func (x *IndexedPayloadAttestation) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +var File_pkg_proto_eth_v1_payload_attestation_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_payload_attestation_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x16, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x12, 0x30, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x62, + 0x6c, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x46, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, + 0x97, 0x01, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, + 0x74, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x19, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x11, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, + 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_payload_attestation_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_payload_attestation_proto_rawDescData = file_pkg_proto_eth_v1_payload_attestation_proto_rawDesc +) + +func file_pkg_proto_eth_v1_payload_attestation_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_payload_attestation_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_payload_attestation_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_payload_attestation_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_payload_attestation_proto_rawDescData +} + +var file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_pkg_proto_eth_v1_payload_attestation_proto_goTypes = []any{ + (*PayloadAttestationData)(nil), // 0: xatu.eth.v1.PayloadAttestationData + (*PayloadAttestationMessage)(nil), // 1: xatu.eth.v1.PayloadAttestationMessage + (*PayloadAttestation)(nil), // 2: xatu.eth.v1.PayloadAttestation + (*IndexedPayloadAttestation)(nil), // 3: xatu.eth.v1.IndexedPayloadAttestation + (*wrapperspb.UInt64Value)(nil), // 4: google.protobuf.UInt64Value +} +var file_pkg_proto_eth_v1_payload_attestation_proto_depIdxs = []int32{ + 4, // 0: xatu.eth.v1.PayloadAttestationData.slot:type_name -> google.protobuf.UInt64Value + 4, // 1: xatu.eth.v1.PayloadAttestationMessage.validator_index:type_name -> google.protobuf.UInt64Value + 0, // 2: xatu.eth.v1.PayloadAttestationMessage.data:type_name -> xatu.eth.v1.PayloadAttestationData + 0, // 3: xatu.eth.v1.PayloadAttestation.data:type_name -> xatu.eth.v1.PayloadAttestationData + 4, // 4: xatu.eth.v1.IndexedPayloadAttestation.attesting_indices:type_name -> google.protobuf.UInt64Value + 0, // 5: xatu.eth.v1.IndexedPayloadAttestation.data:type_name -> xatu.eth.v1.PayloadAttestationData + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_payload_attestation_proto_init() } +func file_pkg_proto_eth_v1_payload_attestation_proto_init() { + if File_pkg_proto_eth_v1_payload_attestation_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*PayloadAttestationData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*PayloadAttestationMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*PayloadAttestation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*IndexedPayloadAttestation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_payload_attestation_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_payload_attestation_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_payload_attestation_proto_depIdxs, + MessageInfos: file_pkg_proto_eth_v1_payload_attestation_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_payload_attestation_proto = out.File + file_pkg_proto_eth_v1_payload_attestation_proto_rawDesc = nil + file_pkg_proto_eth_v1_payload_attestation_proto_goTypes = nil + file_pkg_proto_eth_v1_payload_attestation_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/payload_attestation.proto b/pkg/proto/eth/v1/payload_attestation.proto new file mode 100644 index 00000000..d7f1c30f --- /dev/null +++ b/pkg/proto/eth/v1/payload_attestation.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; + +// EIP-7732: ePBS Payload Attestation types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/beacon-chain.md#payloadattestationdata + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/wrappers.proto"; + +// PayloadAttestationData is the data that PTC validators attest to. +message PayloadAttestationData { + string beacon_block_root = 1 [ json_name = "beacon_block_root" ]; + + google.protobuf.UInt64Value slot = 2 [ json_name = "slot" ]; + + bool payload_present = 3 [ json_name = "payload_present" ]; + + bool blob_data_available = 4 [ json_name = "blob_data_available" ]; +} + +// PayloadAttestationMessage is an individual PTC validator's attestation. +// ~512 of these are produced per slot. +message PayloadAttestationMessage { + google.protobuf.UInt64Value validator_index = 1 + [ json_name = "validator_index" ]; + + PayloadAttestationData data = 2; + + string signature = 3; +} + +// PayloadAttestation is the aggregated PTC attestation included in the block body. +// Max MAX_PAYLOAD_ATTESTATIONS (4) per block. +message PayloadAttestation { + // Bitvector[PTC_SIZE] (512 bits) as hex string + string aggregation_bits = 1 [ json_name = "aggregation_bits" ]; + + PayloadAttestationData data = 2; + + string signature = 3; +} + +// IndexedPayloadAttestation is a PayloadAttestation with attesting indices +// expanded from the aggregation bits. +message IndexedPayloadAttestation { + repeated google.protobuf.UInt64Value attesting_indices = 1 + [ json_name = "attesting_indices" ]; + + PayloadAttestationData data = 2; + + string signature = 3; +} diff --git a/pkg/proto/eth/v1/payload_attestation_vtproto.pb.go b/pkg/proto/eth/v1/payload_attestation_vtproto.pb.go new file mode 100644 index 00000000..5324018c --- /dev/null +++ b/pkg/proto/eth/v1/payload_attestation_vtproto.pb.go @@ -0,0 +1,1080 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/payload_attestation.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *PayloadAttestationData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PayloadAttestationData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PayloadAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.BlobDataAvailable { + i-- + if m.BlobDataAvailable { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.PayloadPresent { + i-- + if m.PayloadPresent { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.BeaconBlockRoot) > 0 { + i -= len(m.BeaconBlockRoot) + copy(dAtA[i:], m.BeaconBlockRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BeaconBlockRoot))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *PayloadAttestationMessage) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PayloadAttestationMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PayloadAttestationMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x1a + } + if m.Data != nil { + size, err := m.Data.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.ValidatorIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *PayloadAttestation) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x1a + } + if m.Data != nil { + size, err := m.Data.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.AggregationBits) > 0 { + i -= len(m.AggregationBits) + copy(dAtA[i:], m.AggregationBits) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AggregationBits))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *IndexedPayloadAttestation) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *IndexedPayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *IndexedPayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x1a + } + if m.Data != nil { + size, err := m.Data.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.AttestingIndices) > 0 { + for iNdEx := len(m.AttestingIndices) - 1; iNdEx >= 0; iNdEx-- { + size, err := (*wrapperspb.UInt64Value)(m.AttestingIndices[iNdEx]).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +var vtprotoPool_PayloadAttestationData = sync.Pool{ + New: func() interface{} { + return &PayloadAttestationData{} + }, +} + +func (m *PayloadAttestationData) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *PayloadAttestationData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_PayloadAttestationData.Put(m) + } +} +func PayloadAttestationDataFromVTPool() *PayloadAttestationData { + return vtprotoPool_PayloadAttestationData.Get().(*PayloadAttestationData) +} + +var vtprotoPool_PayloadAttestationMessage = sync.Pool{ + New: func() interface{} { + return &PayloadAttestationMessage{} + }, +} + +func (m *PayloadAttestationMessage) ResetVT() { + if m != nil { + m.Data.ReturnToVTPool() + m.Reset() + } +} +func (m *PayloadAttestationMessage) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_PayloadAttestationMessage.Put(m) + } +} +func PayloadAttestationMessageFromVTPool() *PayloadAttestationMessage { + return vtprotoPool_PayloadAttestationMessage.Get().(*PayloadAttestationMessage) +} + +var vtprotoPool_PayloadAttestation = sync.Pool{ + New: func() interface{} { + return &PayloadAttestation{} + }, +} + +func (m *PayloadAttestation) ResetVT() { + if m != nil { + m.Data.ReturnToVTPool() + m.Reset() + } +} +func (m *PayloadAttestation) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_PayloadAttestation.Put(m) + } +} +func PayloadAttestationFromVTPool() *PayloadAttestation { + return vtprotoPool_PayloadAttestation.Get().(*PayloadAttestation) +} + +var vtprotoPool_IndexedPayloadAttestation = sync.Pool{ + New: func() interface{} { + return &IndexedPayloadAttestation{} + }, +} + +func (m *IndexedPayloadAttestation) ResetVT() { + if m != nil { + for _, mm := range m.AttestingIndices { + mm.Reset() + } + f0 := m.AttestingIndices[:0] + m.Data.ReturnToVTPool() + m.Reset() + m.AttestingIndices = f0 + } +} +func (m *IndexedPayloadAttestation) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_IndexedPayloadAttestation.Put(m) + } +} +func IndexedPayloadAttestationFromVTPool() *IndexedPayloadAttestation { + return vtprotoPool_IndexedPayloadAttestation.Get().(*IndexedPayloadAttestation) +} +func (m *PayloadAttestationData) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BeaconBlockRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PayloadPresent { + n += 2 + } + if m.BlobDataAvailable { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *PayloadAttestationMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ValidatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Data != nil { + l = m.Data.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Signature) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *PayloadAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AggregationBits) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Data != nil { + l = m.Data.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Signature) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *IndexedPayloadAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.AttestingIndices) > 0 { + for _, e := range m.AttestingIndices { + l = (*wrapperspb.UInt64Value)(e).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.Data != nil { + l = m.Data.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Signature) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *PayloadAttestationData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PayloadAttestationData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PayloadAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BeaconBlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BeaconBlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PayloadPresent", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadPresent = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobDataAvailable", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BlobDataAvailable = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PayloadAttestationMessage) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PayloadAttestationMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PayloadAttestationMessage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ValidatorIndex == nil { + m.ValidatorIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Data == nil { + m.Data = PayloadAttestationDataFromVTPool() + } + if err := m.Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PayloadAttestation) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PayloadAttestation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PayloadAttestation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AggregationBits", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AggregationBits = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Data == nil { + m.Data = PayloadAttestationDataFromVTPool() + } + if err := m.Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *IndexedPayloadAttestation) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: IndexedPayloadAttestation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IndexedPayloadAttestation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AttestingIndices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.AttestingIndices) == cap(m.AttestingIndices) { + m.AttestingIndices = append(m.AttestingIndices, &wrapperspb1.UInt64Value{}) + } else { + m.AttestingIndices = m.AttestingIndices[:len(m.AttestingIndices)+1] + if m.AttestingIndices[len(m.AttestingIndices)-1] == nil { + m.AttestingIndices[len(m.AttestingIndices)-1] = &wrapperspb1.UInt64Value{} + } + } + if err := (*wrapperspb.UInt64Value)(m.AttestingIndices[len(m.AttestingIndices)-1]).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Data == nil { + m.Data = PayloadAttestationDataFromVTPool() + } + if err := m.Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v1/proposer_preferences.pb.go b/pkg/proto/eth/v1/proposer_preferences.pb.go new file mode 100644 index 00000000..98e7f706 --- /dev/null +++ b/pkg/proto/eth/v1/proposer_preferences.pb.go @@ -0,0 +1,292 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: pkg/proto/eth/v1/proposer_preferences.proto + +// EIP-7732: ePBS Proposer Preferences types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#new-proposerpreferences + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ProposerPreferences signals the proposer's preferences for their upcoming +// slot (fee recipient, gas limit). Gossiped on P2P. +// +// Per the Gloas p2p-interface spec, dependent_root is logically the first +// field; here it is field 5 because proto field numbers are independent of +// the spec's container ordering and the other fields predate this addition. +type ProposerPreferences struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProposalSlot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=proposal_slot,proto3" json:"proposal_slot,omitempty"` + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + FeeRecipient string `protobuf:"bytes,3,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + DependentRoot string `protobuf:"bytes,5,opt,name=dependent_root,proto3" json:"dependent_root,omitempty"` +} + +func (x *ProposerPreferences) Reset() { + *x = ProposerPreferences{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProposerPreferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProposerPreferences) ProtoMessage() {} + +func (x *ProposerPreferences) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProposerPreferences.ProtoReflect.Descriptor instead. +func (*ProposerPreferences) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescGZIP(), []int{0} +} + +func (x *ProposerPreferences) GetProposalSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.ProposalSlot + } + return nil +} + +func (x *ProposerPreferences) GetValidatorIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ValidatorIndex + } + return nil +} + +func (x *ProposerPreferences) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *ProposerPreferences) GetGasLimit() *wrapperspb.UInt64Value { + if x != nil { + return x.GasLimit + } + return nil +} + +func (x *ProposerPreferences) GetDependentRoot() string { + if x != nil { + return x.DependentRoot + } + return "" +} + +// SignedProposerPreferences wraps ProposerPreferences with the proposer's +// signature. +type SignedProposerPreferences struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *ProposerPreferences `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *SignedProposerPreferences) Reset() { + *x = SignedProposerPreferences{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignedProposerPreferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignedProposerPreferences) ProtoMessage() {} + +func (x *SignedProposerPreferences) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignedProposerPreferences.ProtoReflect.Descriptor instead. +func (*SignedProposerPreferences) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescGZIP(), []int{1} +} + +func (x *SignedProposerPreferences) GetMessage() *ProposerPreferences { + if x != nil { + return x.Message + } + return nil +} + +func (x *SignedProposerPreferences) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +var File_pkg_proto_eth_v1_proposer_preferences_proto protoreflect.FileDescriptor + +var file_pkg_proto_eth_v1_proposer_preferences_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x02, 0x0a, + 0x13, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, + 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x61, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x46, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x75, 0x0a, 0x19, 0x53, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescOnce sync.Once + file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescData = file_pkg_proto_eth_v1_proposer_preferences_proto_rawDesc +) + +func file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescGZIP() []byte { + file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescOnce.Do(func() { + file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescData) + }) + return file_pkg_proto_eth_v1_proposer_preferences_proto_rawDescData +} + +var file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_pkg_proto_eth_v1_proposer_preferences_proto_goTypes = []any{ + (*ProposerPreferences)(nil), // 0: xatu.eth.v1.ProposerPreferences + (*SignedProposerPreferences)(nil), // 1: xatu.eth.v1.SignedProposerPreferences + (*wrapperspb.UInt64Value)(nil), // 2: google.protobuf.UInt64Value +} +var file_pkg_proto_eth_v1_proposer_preferences_proto_depIdxs = []int32{ + 2, // 0: xatu.eth.v1.ProposerPreferences.proposal_slot:type_name -> google.protobuf.UInt64Value + 2, // 1: xatu.eth.v1.ProposerPreferences.validator_index:type_name -> google.protobuf.UInt64Value + 2, // 2: xatu.eth.v1.ProposerPreferences.gas_limit:type_name -> google.protobuf.UInt64Value + 0, // 3: xatu.eth.v1.SignedProposerPreferences.message:type_name -> xatu.eth.v1.ProposerPreferences + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_pkg_proto_eth_v1_proposer_preferences_proto_init() } +func file_pkg_proto_eth_v1_proposer_preferences_proto_init() { + if File_pkg_proto_eth_v1_proposer_preferences_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*ProposerPreferences); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*SignedProposerPreferences); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_eth_v1_proposer_preferences_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_eth_v1_proposer_preferences_proto_goTypes, + DependencyIndexes: file_pkg_proto_eth_v1_proposer_preferences_proto_depIdxs, + MessageInfos: file_pkg_proto_eth_v1_proposer_preferences_proto_msgTypes, + }.Build() + File_pkg_proto_eth_v1_proposer_preferences_proto = out.File + file_pkg_proto_eth_v1_proposer_preferences_proto_rawDesc = nil + file_pkg_proto_eth_v1_proposer_preferences_proto_goTypes = nil + file_pkg_proto_eth_v1_proposer_preferences_proto_depIdxs = nil +} diff --git a/pkg/proto/eth/v1/proposer_preferences.proto b/pkg/proto/eth/v1/proposer_preferences.proto new file mode 100644 index 00000000..2e729a54 --- /dev/null +++ b/pkg/proto/eth/v1/proposer_preferences.proto @@ -0,0 +1,39 @@ +syntax = "proto3"; + +// EIP-7732: ePBS Proposer Preferences types +// https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/p2p-interface.md#new-proposerpreferences + +package xatu.eth.v1; + +option go_package = "github.com/ethpandaops/xatu/pkg/proto/eth/v1"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/wrappers.proto"; + +// ProposerPreferences signals the proposer's preferences for their upcoming +// slot (fee recipient, gas limit). Gossiped on P2P. +// +// Per the Gloas p2p-interface spec, dependent_root is logically the first +// field; here it is field 5 because proto field numbers are independent of +// the spec's container ordering and the other fields predate this addition. +message ProposerPreferences { + google.protobuf.UInt64Value proposal_slot = 1 + [ json_name = "proposal_slot" ]; + + google.protobuf.UInt64Value validator_index = 2 + [ json_name = "validator_index" ]; + + string fee_recipient = 3 [ json_name = "fee_recipient" ]; + + google.protobuf.UInt64Value gas_limit = 4 [ json_name = "gas_limit" ]; + + string dependent_root = 5 [ json_name = "dependent_root" ]; +} + +// SignedProposerPreferences wraps ProposerPreferences with the proposer's +// signature. +message SignedProposerPreferences { + ProposerPreferences message = 1; + + string signature = 2; +} diff --git a/pkg/proto/eth/v1/proposer_preferences_vtproto.pb.go b/pkg/proto/eth/v1/proposer_preferences_vtproto.pb.go new file mode 100644 index 00000000..44091890 --- /dev/null +++ b/pkg/proto/eth/v1/proposer_preferences_vtproto.pb.go @@ -0,0 +1,582 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: pkg/proto/eth/v1/proposer_preferences.proto + +package v1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" + io "io" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *ProposerPreferences) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProposerPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ProposerPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.DependentRoot) > 0 { + i -= len(m.DependentRoot) + copy(dAtA[i:], m.DependentRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DependentRoot))) + i-- + dAtA[i] = 0x2a + } + if m.GasLimit != nil { + size, err := (*wrapperspb.UInt64Value)(m.GasLimit).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if len(m.FeeRecipient) > 0 { + i -= len(m.FeeRecipient) + copy(dAtA[i:], m.FeeRecipient) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FeeRecipient))) + i-- + dAtA[i] = 0x1a + } + if m.ValidatorIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.ProposalSlot != nil { + size, err := (*wrapperspb.UInt64Value)(m.ProposalSlot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *SignedProposerPreferences) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignedProposerPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SignedProposerPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x12 + } + if m.Message != nil { + size, err := m.Message.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_ProposerPreferences = sync.Pool{ + New: func() interface{} { + return &ProposerPreferences{} + }, +} + +func (m *ProposerPreferences) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *ProposerPreferences) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ProposerPreferences.Put(m) + } +} +func ProposerPreferencesFromVTPool() *ProposerPreferences { + return vtprotoPool_ProposerPreferences.Get().(*ProposerPreferences) +} + +var vtprotoPool_SignedProposerPreferences = sync.Pool{ + New: func() interface{} { + return &SignedProposerPreferences{} + }, +} + +func (m *SignedProposerPreferences) ResetVT() { + if m != nil { + m.Message.ReturnToVTPool() + m.Reset() + } +} +func (m *SignedProposerPreferences) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_SignedProposerPreferences.Put(m) + } +} +func SignedProposerPreferencesFromVTPool() *SignedProposerPreferences { + return vtprotoPool_SignedProposerPreferences.Get().(*SignedProposerPreferences) +} +func (m *ProposerPreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ProposalSlot != nil { + l = (*wrapperspb.UInt64Value)(m.ProposalSlot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValidatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.FeeRecipient) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.GasLimit != nil { + l = (*wrapperspb.UInt64Value)(m.GasLimit).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.DependentRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *SignedProposerPreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Message != nil { + l = m.Message.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Signature) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ProposerPreferences) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProposerPreferences: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProposerPreferences: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposalSlot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposalSlot == nil { + m.ProposalSlot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposalSlot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ValidatorIndex == nil { + m.ValidatorIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FeeRecipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasLimit == nil { + m.GasLimit = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DependentRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DependentRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignedProposerPreferences) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SignedProposerPreferences: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignedProposerPreferences: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Message == nil { + m.Message = ProposerPreferencesFromVTPool() + } + if err := m.Message.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/pkg/proto/eth/v2/beacon_block.pb.go b/pkg/proto/eth/v2/beacon_block.pb.go index e80368f6..6e7c97e1 100644 --- a/pkg/proto/eth/v2/beacon_block.pb.go +++ b/pkg/proto/eth/v2/beacon_block.pb.go @@ -413,6 +413,61 @@ func (x *SignedBeaconBlockFulu) GetSignature() string { return "" } +type SignedBeaconBlockGloas struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *BeaconBlockGloas `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *SignedBeaconBlockGloas) Reset() { + *x = SignedBeaconBlockGloas{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignedBeaconBlockGloas) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignedBeaconBlockGloas) ProtoMessage() {} + +func (x *SignedBeaconBlockGloas) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignedBeaconBlockGloas.ProtoReflect.Descriptor instead. +func (*SignedBeaconBlockGloas) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{7} +} + +func (x *SignedBeaconBlockGloas) GetMessage() *BeaconBlockGloas { + if x != nil { + return x.Message + } + return nil +} + +func (x *SignedBeaconBlockGloas) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + type SignedBlindedBeaconBlockBellatrix struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -425,7 +480,7 @@ type SignedBlindedBeaconBlockBellatrix struct { func (x *SignedBlindedBeaconBlockBellatrix) Reset() { *x = SignedBlindedBeaconBlockBellatrix{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -438,7 +493,7 @@ func (x *SignedBlindedBeaconBlockBellatrix) String() string { func (*SignedBlindedBeaconBlockBellatrix) ProtoMessage() {} func (x *SignedBlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -451,7 +506,7 @@ func (x *SignedBlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message // Deprecated: Use SignedBlindedBeaconBlockBellatrix.ProtoReflect.Descriptor instead. func (*SignedBlindedBeaconBlockBellatrix) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{7} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{8} } func (x *SignedBlindedBeaconBlockBellatrix) GetMessage() *BlindedBeaconBlockBellatrix { @@ -480,7 +535,7 @@ type SignedBlindedBeaconBlockBellatrixV2 struct { func (x *SignedBlindedBeaconBlockBellatrixV2) Reset() { *x = SignedBlindedBeaconBlockBellatrixV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -493,7 +548,7 @@ func (x *SignedBlindedBeaconBlockBellatrixV2) String() string { func (*SignedBlindedBeaconBlockBellatrixV2) ProtoMessage() {} func (x *SignedBlindedBeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -506,7 +561,7 @@ func (x *SignedBlindedBeaconBlockBellatrixV2) ProtoReflect() protoreflect.Messag // Deprecated: Use SignedBlindedBeaconBlockBellatrixV2.ProtoReflect.Descriptor instead. func (*SignedBlindedBeaconBlockBellatrixV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{8} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{9} } func (x *SignedBlindedBeaconBlockBellatrixV2) GetMessage() *BlindedBeaconBlockBellatrixV2 { @@ -535,7 +590,7 @@ type SignedBlindedBeaconBlockCapella struct { func (x *SignedBlindedBeaconBlockCapella) Reset() { *x = SignedBlindedBeaconBlockCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -548,7 +603,7 @@ func (x *SignedBlindedBeaconBlockCapella) String() string { func (*SignedBlindedBeaconBlockCapella) ProtoMessage() {} func (x *SignedBlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -561,7 +616,7 @@ func (x *SignedBlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use SignedBlindedBeaconBlockCapella.ProtoReflect.Descriptor instead. func (*SignedBlindedBeaconBlockCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{9} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{10} } func (x *SignedBlindedBeaconBlockCapella) GetMessage() *BlindedBeaconBlockCapella { @@ -590,7 +645,7 @@ type SignedBlindedBeaconBlockCapellaV2 struct { func (x *SignedBlindedBeaconBlockCapellaV2) Reset() { *x = SignedBlindedBeaconBlockCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -603,7 +658,7 @@ func (x *SignedBlindedBeaconBlockCapellaV2) String() string { func (*SignedBlindedBeaconBlockCapellaV2) ProtoMessage() {} func (x *SignedBlindedBeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -616,7 +671,7 @@ func (x *SignedBlindedBeaconBlockCapellaV2) ProtoReflect() protoreflect.Message // Deprecated: Use SignedBlindedBeaconBlockCapellaV2.ProtoReflect.Descriptor instead. func (*SignedBlindedBeaconBlockCapellaV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{10} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{11} } func (x *SignedBlindedBeaconBlockCapellaV2) GetMessage() *BlindedBeaconBlockCapellaV2 { @@ -645,7 +700,7 @@ type SignedBeaconBlockAltair struct { func (x *SignedBeaconBlockAltair) Reset() { *x = SignedBeaconBlockAltair{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -658,7 +713,7 @@ func (x *SignedBeaconBlockAltair) String() string { func (*SignedBeaconBlockAltair) ProtoMessage() {} func (x *SignedBeaconBlockAltair) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -671,7 +726,7 @@ func (x *SignedBeaconBlockAltair) ProtoReflect() protoreflect.Message { // Deprecated: Use SignedBeaconBlockAltair.ProtoReflect.Descriptor instead. func (*SignedBeaconBlockAltair) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{11} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{12} } func (x *SignedBeaconBlockAltair) GetMessage() *BeaconBlockAltair { @@ -700,7 +755,7 @@ type SignedBeaconBlockAltairV2 struct { func (x *SignedBeaconBlockAltairV2) Reset() { *x = SignedBeaconBlockAltairV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -713,7 +768,7 @@ func (x *SignedBeaconBlockAltairV2) String() string { func (*SignedBeaconBlockAltairV2) ProtoMessage() {} func (x *SignedBeaconBlockAltairV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -726,7 +781,7 @@ func (x *SignedBeaconBlockAltairV2) ProtoReflect() protoreflect.Message { // Deprecated: Use SignedBeaconBlockAltairV2.ProtoReflect.Descriptor instead. func (*SignedBeaconBlockAltairV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{12} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{13} } func (x *SignedBeaconBlockAltairV2) GetMessage() *BeaconBlockAltairV2 { @@ -758,7 +813,7 @@ type BeaconBlockBellatrix struct { func (x *BeaconBlockBellatrix) Reset() { *x = BeaconBlockBellatrix{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -771,7 +826,7 @@ func (x *BeaconBlockBellatrix) String() string { func (*BeaconBlockBellatrix) ProtoMessage() {} func (x *BeaconBlockBellatrix) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -784,7 +839,7 @@ func (x *BeaconBlockBellatrix) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBellatrix.ProtoReflect.Descriptor instead. func (*BeaconBlockBellatrix) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{13} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{14} } func (x *BeaconBlockBellatrix) GetSlot() uint64 { @@ -837,7 +892,7 @@ type BeaconBlockBellatrixV2 struct { func (x *BeaconBlockBellatrixV2) Reset() { *x = BeaconBlockBellatrixV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -850,7 +905,7 @@ func (x *BeaconBlockBellatrixV2) String() string { func (*BeaconBlockBellatrixV2) ProtoMessage() {} func (x *BeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -863,7 +918,7 @@ func (x *BeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBellatrixV2.ProtoReflect.Descriptor instead. func (*BeaconBlockBellatrixV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{14} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{15} } func (x *BeaconBlockBellatrixV2) GetSlot() *wrapperspb.UInt64Value { @@ -916,7 +971,7 @@ type BlindedBeaconBlockBellatrix struct { func (x *BlindedBeaconBlockBellatrix) Reset() { *x = BlindedBeaconBlockBellatrix{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -929,7 +984,7 @@ func (x *BlindedBeaconBlockBellatrix) String() string { func (*BlindedBeaconBlockBellatrix) ProtoMessage() {} func (x *BlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -942,7 +997,7 @@ func (x *BlindedBeaconBlockBellatrix) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindedBeaconBlockBellatrix.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockBellatrix) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{15} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{16} } func (x *BlindedBeaconBlockBellatrix) GetSlot() uint64 { @@ -995,7 +1050,7 @@ type BlindedBeaconBlockBellatrixV2 struct { func (x *BlindedBeaconBlockBellatrixV2) Reset() { *x = BlindedBeaconBlockBellatrixV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1008,7 +1063,7 @@ func (x *BlindedBeaconBlockBellatrixV2) String() string { func (*BlindedBeaconBlockBellatrixV2) ProtoMessage() {} func (x *BlindedBeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1021,7 +1076,7 @@ func (x *BlindedBeaconBlockBellatrixV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindedBeaconBlockBellatrixV2.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockBellatrixV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{16} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{17} } func (x *BlindedBeaconBlockBellatrixV2) GetSlot() *wrapperspb.UInt64Value { @@ -1074,7 +1129,7 @@ type BeaconBlockCapella struct { func (x *BeaconBlockCapella) Reset() { *x = BeaconBlockCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1087,7 +1142,7 @@ func (x *BeaconBlockCapella) String() string { func (*BeaconBlockCapella) ProtoMessage() {} func (x *BeaconBlockCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1100,7 +1155,7 @@ func (x *BeaconBlockCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockCapella.ProtoReflect.Descriptor instead. func (*BeaconBlockCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{17} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{18} } func (x *BeaconBlockCapella) GetSlot() uint64 { @@ -1153,7 +1208,7 @@ type BeaconBlockCapellaV2 struct { func (x *BeaconBlockCapellaV2) Reset() { *x = BeaconBlockCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1166,7 +1221,7 @@ func (x *BeaconBlockCapellaV2) String() string { func (*BeaconBlockCapellaV2) ProtoMessage() {} func (x *BeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1179,7 +1234,7 @@ func (x *BeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockCapellaV2.ProtoReflect.Descriptor instead. func (*BeaconBlockCapellaV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{18} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{19} } func (x *BeaconBlockCapellaV2) GetSlot() *wrapperspb.UInt64Value { @@ -1232,7 +1287,7 @@ type BeaconBlockDeneb struct { func (x *BeaconBlockDeneb) Reset() { *x = BeaconBlockDeneb{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1245,7 +1300,7 @@ func (x *BeaconBlockDeneb) String() string { func (*BeaconBlockDeneb) ProtoMessage() {} func (x *BeaconBlockDeneb) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1258,7 +1313,7 @@ func (x *BeaconBlockDeneb) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockDeneb.ProtoReflect.Descriptor instead. func (*BeaconBlockDeneb) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{19} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{20} } func (x *BeaconBlockDeneb) GetSlot() *wrapperspb.UInt64Value { @@ -1311,7 +1366,7 @@ type BeaconBlockElectra struct { func (x *BeaconBlockElectra) Reset() { *x = BeaconBlockElectra{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1324,7 +1379,7 @@ func (x *BeaconBlockElectra) String() string { func (*BeaconBlockElectra) ProtoMessage() {} func (x *BeaconBlockElectra) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1337,7 +1392,7 @@ func (x *BeaconBlockElectra) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockElectra.ProtoReflect.Descriptor instead. func (*BeaconBlockElectra) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{20} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{21} } func (x *BeaconBlockElectra) GetSlot() *wrapperspb.UInt64Value { @@ -1390,7 +1445,7 @@ type BeaconBlockFulu struct { func (x *BeaconBlockFulu) Reset() { *x = BeaconBlockFulu{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1403,7 +1458,7 @@ func (x *BeaconBlockFulu) String() string { func (*BeaconBlockFulu) ProtoMessage() {} func (x *BeaconBlockFulu) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1416,7 +1471,7 @@ func (x *BeaconBlockFulu) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockFulu.ProtoReflect.Descriptor instead. func (*BeaconBlockFulu) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{21} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{22} } func (x *BeaconBlockFulu) GetSlot() *wrapperspb.UInt64Value { @@ -1454,6 +1509,85 @@ func (x *BeaconBlockFulu) GetBody() *BeaconBlockBodyFulu { return nil } +type BeaconBlockGloas struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ProposerIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=proposer_index,proto3" json:"proposer_index,omitempty"` + ParentRoot string `protobuf:"bytes,3,opt,name=parent_root,proto3" json:"parent_root,omitempty"` + StateRoot string `protobuf:"bytes,4,opt,name=state_root,proto3" json:"state_root,omitempty"` + Body *BeaconBlockBodyGloas `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` +} + +func (x *BeaconBlockGloas) Reset() { + *x = BeaconBlockGloas{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockGloas) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockGloas) ProtoMessage() {} + +func (x *BeaconBlockGloas) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockGloas.ProtoReflect.Descriptor instead. +func (*BeaconBlockGloas) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{23} +} + +func (x *BeaconBlockGloas) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *BeaconBlockGloas) GetProposerIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ProposerIndex + } + return nil +} + +func (x *BeaconBlockGloas) GetParentRoot() string { + if x != nil { + return x.ParentRoot + } + return "" +} + +func (x *BeaconBlockGloas) GetStateRoot() string { + if x != nil { + return x.StateRoot + } + return "" +} + +func (x *BeaconBlockGloas) GetBody() *BeaconBlockBodyGloas { + if x != nil { + return x.Body + } + return nil +} + type BlindedBeaconBlockCapella struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1469,7 +1603,7 @@ type BlindedBeaconBlockCapella struct { func (x *BlindedBeaconBlockCapella) Reset() { *x = BlindedBeaconBlockCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1482,7 +1616,7 @@ func (x *BlindedBeaconBlockCapella) String() string { func (*BlindedBeaconBlockCapella) ProtoMessage() {} func (x *BlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1495,7 +1629,7 @@ func (x *BlindedBeaconBlockCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindedBeaconBlockCapella.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{22} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{24} } func (x *BlindedBeaconBlockCapella) GetSlot() uint64 { @@ -1548,7 +1682,7 @@ type BlindedBeaconBlockCapellaV2 struct { func (x *BlindedBeaconBlockCapellaV2) Reset() { *x = BlindedBeaconBlockCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1561,7 +1695,7 @@ func (x *BlindedBeaconBlockCapellaV2) String() string { func (*BlindedBeaconBlockCapellaV2) ProtoMessage() {} func (x *BlindedBeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1574,7 +1708,7 @@ func (x *BlindedBeaconBlockCapellaV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindedBeaconBlockCapellaV2.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockCapellaV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{23} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{25} } func (x *BlindedBeaconBlockCapellaV2) GetSlot() *wrapperspb.UInt64Value { @@ -1627,7 +1761,7 @@ type BeaconBlockAltair struct { func (x *BeaconBlockAltair) Reset() { *x = BeaconBlockAltair{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1640,7 +1774,7 @@ func (x *BeaconBlockAltair) String() string { func (*BeaconBlockAltair) ProtoMessage() {} func (x *BeaconBlockAltair) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1653,7 +1787,7 @@ func (x *BeaconBlockAltair) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockAltair.ProtoReflect.Descriptor instead. func (*BeaconBlockAltair) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{24} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{26} } func (x *BeaconBlockAltair) GetSlot() uint64 { @@ -1706,7 +1840,7 @@ type BeaconBlockAltairV2 struct { func (x *BeaconBlockAltairV2) Reset() { *x = BeaconBlockAltairV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1719,7 +1853,7 @@ func (x *BeaconBlockAltairV2) String() string { func (*BeaconBlockAltairV2) ProtoMessage() {} func (x *BeaconBlockAltairV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1732,7 +1866,7 @@ func (x *BeaconBlockAltairV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockAltairV2.ProtoReflect.Descriptor instead. func (*BeaconBlockAltairV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{25} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{27} } func (x *BeaconBlockAltairV2) GetSlot() *wrapperspb.UInt64Value { @@ -1790,7 +1924,7 @@ type BeaconBlockBodyBellatrix struct { func (x *BeaconBlockBodyBellatrix) Reset() { *x = BeaconBlockBodyBellatrix{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1803,7 +1937,7 @@ func (x *BeaconBlockBodyBellatrix) String() string { func (*BeaconBlockBodyBellatrix) ProtoMessage() {} func (x *BeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1816,7 +1950,7 @@ func (x *BeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyBellatrix.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyBellatrix) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{26} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{28} } func (x *BeaconBlockBodyBellatrix) GetRandaoReveal() string { @@ -1909,7 +2043,7 @@ type BeaconBlockBodyBellatrixV2 struct { func (x *BeaconBlockBodyBellatrixV2) Reset() { *x = BeaconBlockBodyBellatrixV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1922,7 +2056,7 @@ func (x *BeaconBlockBodyBellatrixV2) String() string { func (*BeaconBlockBodyBellatrixV2) ProtoMessage() {} func (x *BeaconBlockBodyBellatrixV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1935,7 +2069,7 @@ func (x *BeaconBlockBodyBellatrixV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyBellatrixV2.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyBellatrixV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{27} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{29} } func (x *BeaconBlockBodyBellatrixV2) GetRandaoReveal() string { @@ -2028,7 +2162,7 @@ type BlindedBeaconBlockBodyBellatrix struct { func (x *BlindedBeaconBlockBodyBellatrix) Reset() { *x = BlindedBeaconBlockBodyBellatrix{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2041,7 +2175,7 @@ func (x *BlindedBeaconBlockBodyBellatrix) String() string { func (*BlindedBeaconBlockBodyBellatrix) ProtoMessage() {} func (x *BlindedBeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2054,7 +2188,7 @@ func (x *BlindedBeaconBlockBodyBellatrix) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindedBeaconBlockBodyBellatrix.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockBodyBellatrix) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{28} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{30} } func (x *BlindedBeaconBlockBodyBellatrix) GetRandaoReveal() string { @@ -2147,7 +2281,7 @@ type BlindedBeaconBlockBodyBellatrixV2 struct { func (x *BlindedBeaconBlockBodyBellatrixV2) Reset() { *x = BlindedBeaconBlockBodyBellatrixV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2160,7 +2294,7 @@ func (x *BlindedBeaconBlockBodyBellatrixV2) String() string { func (*BlindedBeaconBlockBodyBellatrixV2) ProtoMessage() {} func (x *BlindedBeaconBlockBodyBellatrixV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2173,7 +2307,7 @@ func (x *BlindedBeaconBlockBodyBellatrixV2) ProtoReflect() protoreflect.Message // Deprecated: Use BlindedBeaconBlockBodyBellatrixV2.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockBodyBellatrixV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{29} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{31} } func (x *BlindedBeaconBlockBodyBellatrixV2) GetRandaoReveal() string { @@ -2267,7 +2401,7 @@ type BeaconBlockBodyCapella struct { func (x *BeaconBlockBodyCapella) Reset() { *x = BeaconBlockBodyCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[30] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2280,7 +2414,7 @@ func (x *BeaconBlockBodyCapella) String() string { func (*BeaconBlockBodyCapella) ProtoMessage() {} func (x *BeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[30] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2293,7 +2427,7 @@ func (x *BeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyCapella.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{30} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{32} } func (x *BeaconBlockBodyCapella) GetRandaoReveal() string { @@ -2394,7 +2528,7 @@ type BeaconBlockBodyCapellaV2 struct { func (x *BeaconBlockBodyCapellaV2) Reset() { *x = BeaconBlockBodyCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[31] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2407,7 +2541,7 @@ func (x *BeaconBlockBodyCapellaV2) String() string { func (*BeaconBlockBodyCapellaV2) ProtoMessage() {} func (x *BeaconBlockBodyCapellaV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[31] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2420,7 +2554,7 @@ func (x *BeaconBlockBodyCapellaV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyCapellaV2.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyCapellaV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{31} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{33} } func (x *BeaconBlockBodyCapellaV2) GetRandaoReveal() string { @@ -2522,7 +2656,7 @@ type BeaconBlockBodyDeneb struct { func (x *BeaconBlockBodyDeneb) Reset() { *x = BeaconBlockBodyDeneb{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[32] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2535,7 +2669,7 @@ func (x *BeaconBlockBodyDeneb) String() string { func (*BeaconBlockBodyDeneb) ProtoMessage() {} func (x *BeaconBlockBodyDeneb) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[32] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2548,7 +2682,7 @@ func (x *BeaconBlockBodyDeneb) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyDeneb.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyDeneb) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{32} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{34} } func (x *BeaconBlockBodyDeneb) GetRandaoReveal() string { @@ -2658,7 +2792,7 @@ type BeaconBlockBodyElectra struct { func (x *BeaconBlockBodyElectra) Reset() { *x = BeaconBlockBodyElectra{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[33] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2671,7 +2805,7 @@ func (x *BeaconBlockBodyElectra) String() string { func (*BeaconBlockBodyElectra) ProtoMessage() {} func (x *BeaconBlockBodyElectra) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[33] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2684,7 +2818,7 @@ func (x *BeaconBlockBodyElectra) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyElectra.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyElectra) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{33} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{35} } func (x *BeaconBlockBodyElectra) GetRandaoReveal() string { @@ -2801,7 +2935,7 @@ type BeaconBlockBodyFulu struct { func (x *BeaconBlockBodyFulu) Reset() { *x = BeaconBlockBodyFulu{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[34] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2814,7 +2948,7 @@ func (x *BeaconBlockBodyFulu) String() string { func (*BeaconBlockBodyFulu) ProtoMessage() {} func (x *BeaconBlockBodyFulu) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[34] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2827,7 +2961,7 @@ func (x *BeaconBlockBodyFulu) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyFulu.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyFulu) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{34} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{36} } func (x *BeaconBlockBodyFulu) GetRandaoReveal() string { @@ -2921,6 +3055,161 @@ func (x *BeaconBlockBodyFulu) GetExecutionRequests() *v1.ElectraExecutionRequest return nil } +// BeaconBlockBodyGloas mirrors the EIP-7732 (ePBS) + EIP-7928 (BALs) shape of +// the consensus-spec BeaconBlockBody. The execution payload, blob KZG +// commitments and execution requests no longer live on the body — payload and +// execution_requests arrive in a separate ExecutionPayloadEnvelope, and the +// blob commitments live inside the SignedExecutionPayloadBid. +type BeaconBlockBodyGloas struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RandaoReveal string `protobuf:"bytes,1,opt,name=randao_reveal,proto3" json:"randao_reveal,omitempty"` + Eth1Data *v1.Eth1Data `protobuf:"bytes,2,opt,name=eth1_data,proto3" json:"eth1_data,omitempty"` + Graffiti string `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty"` + ProposerSlashings []*v1.ProposerSlashing `protobuf:"bytes,4,rep,name=proposer_slashings,proto3" json:"proposer_slashings,omitempty"` + AttesterSlashings []*v1.AttesterSlashing `protobuf:"bytes,5,rep,name=attester_slashings,proto3" json:"attester_slashings,omitempty"` + Attestations []*v1.Attestation `protobuf:"bytes,6,rep,name=attestations,proto3" json:"attestations,omitempty"` + Deposits []*v1.Deposit `protobuf:"bytes,7,rep,name=deposits,proto3" json:"deposits,omitempty"` + VoluntaryExits []*v1.SignedVoluntaryExit `protobuf:"bytes,8,rep,name=voluntary_exits,proto3" json:"voluntary_exits,omitempty"` + SyncAggregate *v1.SyncAggregate `protobuf:"bytes,9,opt,name=sync_aggregate,proto3" json:"sync_aggregate,omitempty"` + BlsToExecutionChanges []*SignedBLSToExecutionChange `protobuf:"bytes,10,rep,name=bls_to_execution_changes,proto3" json:"bls_to_execution_changes,omitempty"` + // EIP-7732 ePBS: Builder's bid. Carries the proposer's chosen builder bid + // and the slot's blob KZG commitments. + SignedExecutionPayloadBid *v1.SignedExecutionPayloadBid `protobuf:"bytes,11,opt,name=signed_execution_payload_bid,proto3" json:"signed_execution_payload_bid,omitempty"` + // EIP-7732 ePBS: Aggregated PTC attestations (max 4 per block). + PayloadAttestations []*v1.PayloadAttestation `protobuf:"bytes,12,rep,name=payload_attestations,proto3" json:"payload_attestations,omitempty"` + // EIP-7732 ePBS deferred payload processing: + // execution requests of the *parent* block's payload, processed in this + // block's state transition. Replaces the per-block execution_requests that + // existed before deferred processing was introduced. + ParentExecutionRequests *v1.ElectraExecutionRequests `protobuf:"bytes,13,opt,name=parent_execution_requests,proto3" json:"parent_execution_requests,omitempty"` +} + +func (x *BeaconBlockBodyGloas) Reset() { + *x = BeaconBlockBodyGloas{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BeaconBlockBodyGloas) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BeaconBlockBodyGloas) ProtoMessage() {} + +func (x *BeaconBlockBodyGloas) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BeaconBlockBodyGloas.ProtoReflect.Descriptor instead. +func (*BeaconBlockBodyGloas) Descriptor() ([]byte, []int) { + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{37} +} + +func (x *BeaconBlockBodyGloas) GetRandaoReveal() string { + if x != nil { + return x.RandaoReveal + } + return "" +} + +func (x *BeaconBlockBodyGloas) GetEth1Data() *v1.Eth1Data { + if x != nil { + return x.Eth1Data + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetGraffiti() string { + if x != nil { + return x.Graffiti + } + return "" +} + +func (x *BeaconBlockBodyGloas) GetProposerSlashings() []*v1.ProposerSlashing { + if x != nil { + return x.ProposerSlashings + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetAttesterSlashings() []*v1.AttesterSlashing { + if x != nil { + return x.AttesterSlashings + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetAttestations() []*v1.Attestation { + if x != nil { + return x.Attestations + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetDeposits() []*v1.Deposit { + if x != nil { + return x.Deposits + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetVoluntaryExits() []*v1.SignedVoluntaryExit { + if x != nil { + return x.VoluntaryExits + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetSyncAggregate() *v1.SyncAggregate { + if x != nil { + return x.SyncAggregate + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetBlsToExecutionChanges() []*SignedBLSToExecutionChange { + if x != nil { + return x.BlsToExecutionChanges + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetSignedExecutionPayloadBid() *v1.SignedExecutionPayloadBid { + if x != nil { + return x.SignedExecutionPayloadBid + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetPayloadAttestations() []*v1.PayloadAttestation { + if x != nil { + return x.PayloadAttestations + } + return nil +} + +func (x *BeaconBlockBodyGloas) GetParentExecutionRequests() *v1.ElectraExecutionRequests { + if x != nil { + return x.ParentExecutionRequests + } + return nil +} + type BlindedBeaconBlockBodyCapella struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2942,7 +3231,7 @@ type BlindedBeaconBlockBodyCapella struct { func (x *BlindedBeaconBlockBodyCapella) Reset() { *x = BlindedBeaconBlockBodyCapella{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[35] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2955,7 +3244,7 @@ func (x *BlindedBeaconBlockBodyCapella) String() string { func (*BlindedBeaconBlockBodyCapella) ProtoMessage() {} func (x *BlindedBeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[35] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2968,7 +3257,7 @@ func (x *BlindedBeaconBlockBodyCapella) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindedBeaconBlockBodyCapella.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockBodyCapella) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{35} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{38} } func (x *BlindedBeaconBlockBodyCapella) GetRandaoReveal() string { @@ -3069,7 +3358,7 @@ type BlindedBeaconBlockBodyCapellaV2 struct { func (x *BlindedBeaconBlockBodyCapellaV2) Reset() { *x = BlindedBeaconBlockBodyCapellaV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[36] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3082,7 +3371,7 @@ func (x *BlindedBeaconBlockBodyCapellaV2) String() string { func (*BlindedBeaconBlockBodyCapellaV2) ProtoMessage() {} func (x *BlindedBeaconBlockBodyCapellaV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[36] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3095,7 +3384,7 @@ func (x *BlindedBeaconBlockBodyCapellaV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BlindedBeaconBlockBodyCapellaV2.ProtoReflect.Descriptor instead. func (*BlindedBeaconBlockBodyCapellaV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{36} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{39} } func (x *BlindedBeaconBlockBodyCapellaV2) GetRandaoReveal() string { @@ -3195,7 +3484,7 @@ type BeaconBlockBodyAltair struct { func (x *BeaconBlockBodyAltair) Reset() { *x = BeaconBlockBodyAltair{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[37] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3208,7 +3497,7 @@ func (x *BeaconBlockBodyAltair) String() string { func (*BeaconBlockBodyAltair) ProtoMessage() {} func (x *BeaconBlockBodyAltair) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[37] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3221,7 +3510,7 @@ func (x *BeaconBlockBodyAltair) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyAltair.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyAltair) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{37} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{40} } func (x *BeaconBlockBodyAltair) GetRandaoReveal() string { @@ -3307,7 +3596,7 @@ type BeaconBlockBodyAltairV2 struct { func (x *BeaconBlockBodyAltairV2) Reset() { *x = BeaconBlockBodyAltairV2{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[38] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3320,7 +3609,7 @@ func (x *BeaconBlockBodyAltairV2) String() string { func (*BeaconBlockBodyAltairV2) ProtoMessage() {} func (x *BeaconBlockBodyAltairV2) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[38] + mi := &file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3333,7 +3622,7 @@ func (x *BeaconBlockBodyAltairV2) ProtoReflect() protoreflect.Message { // Deprecated: Use BeaconBlockBodyAltairV2.ProtoReflect.Descriptor instead. func (*BeaconBlockBodyAltairV2) Descriptor() ([]byte, []int) { - return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{38} + return file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP(), []int{41} } func (x *BeaconBlockBodyAltairV2) GetRandaoReveal() string { @@ -3416,143 +3705,125 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x61, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x1a, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, - 0x72, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, - 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7b, - 0x0a, 0x1c, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x3d, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, - 0x69, 0x78, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x18, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x77, 0x0a, 0x1a, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x3b, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, - 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x6f, 0x0a, 0x16, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, - 0x6e, 0x65, 0x62, 0x12, 0x37, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, - 0x6e, 0x65, 0x62, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x22, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, + 0x76, 0x32, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x77, 0x0a, 0x1a, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x3b, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7b, 0x0a, 0x1c, 0x53, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, + 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, + 0x61, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, + 0x6c, 0x6c, 0x61, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x18, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, - 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, - 0x6d, 0x0a, 0x15, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x75, 0x12, 0x36, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x77, 0x0a, 0x1a, 0x53, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, + 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x75, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, - 0x01, 0x0a, 0x21, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, + 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x22, 0x6f, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x12, 0x37, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x22, 0x73, 0x0a, 0x18, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, + 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, 0x65, 0x63, 0x74, + 0x72, 0x61, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x6d, 0x0a, 0x15, 0x53, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x75, + 0x6c, 0x75, 0x12, 0x36, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x75, 0x6c, + 0x75, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x6f, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6c, 0x6f, + 0x61, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6c, 0x6f, + 0x61, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x21, 0x53, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, + 0x42, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x89, 0x01, 0x0a, 0x23, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x44, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x12, 0x42, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x23, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x44, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, - 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x1f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, - 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, - 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x21, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x42, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, - 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, - 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x71, - 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x81, 0x01, + 0x0a, 0x1f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, + 0x61, 0x12, 0x40, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, + 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x22, 0x75, 0x0a, 0x19, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x12, 0x3a, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, - 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x14, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, - 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x8f, 0x02, 0x0a, 0x16, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, - 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, - 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x3b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xdd, 0x01, 0x0a, - 0x1b, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x65, 0x22, 0x85, 0x01, 0x0a, 0x21, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, + 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x42, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, + 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x71, 0x0a, 0x17, 0x53, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, + 0x74, 0x61, 0x69, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x6c, 0x74, 0x61, 0x69, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x75, 0x0a, 0x19, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x14, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, @@ -3561,13 +3832,74 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x62, 0x6f, - 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, - 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x9d, 0x02, 0x0a, - 0x1d, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x30, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x62, 0x6f, + 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x8f, 0x02, 0x0a, 0x16, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, + 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x6f, + 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, + 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xdd, 0x01, 0x0a, 0x1b, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x9d, 0x02, 0x0a, 0x1d, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, + 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xcb, 0x01, 0x0a, 0x12, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x04, + 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x8b, 0x02, 0x0a, 0x14, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, @@ -3579,75 +3911,61 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, - 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xcb, 0x01, 0x0a, - 0x12, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, - 0x6c, 0x6c, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x22, 0x83, 0x02, 0x0a, 0x10, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x44, 0x65, + 0x6e, 0x65, 0x62, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x87, 0x02, 0x0a, 0x12, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, + 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x62, 0x6f, + 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x52, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x22, 0x81, 0x02, 0x0a, 0x0f, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x75, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x12, 0x37, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, - 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x8b, 0x02, 0x0a, 0x14, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, - 0x61, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x39, 0x0a, - 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, - 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x83, 0x02, 0x0a, 0x10, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x12, 0x30, 0x0a, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, - 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, - 0x6f, 0x64, 0x79, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x87, - 0x02, 0x0a, 0x12, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, - 0x65, 0x63, 0x74, 0x72, 0x61, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, - 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x37, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, - 0x72, 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x81, 0x02, 0x0a, 0x0f, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x75, 0x12, 0x30, 0x0a, 0x04, + 0x74, 0x12, 0x34, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x46, 0x75, 0x6c, + 0x75, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x83, 0x02, 0x0a, 0x10, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6c, 0x6f, 0x61, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, @@ -3659,113 +3977,73 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, - 0x64, 0x79, 0x46, 0x75, 0x6c, 0x75, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xd9, 0x01, 0x0a, - 0x19, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, - 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, - 0x6c, 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x99, 0x02, 0x0a, 0x1b, 0x42, 0x6c, 0x69, - 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, - 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x04, - 0x62, 0x6f, 0x64, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x11, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x26, - 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, - 0x22, 0x89, 0x02, 0x0a, 0x13, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, - 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, - 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xfc, 0x04, 0x0a, - 0x18, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, - 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, - 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, - 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, - 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, - 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, - 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, - 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, - 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, - 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, - 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, - 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, - 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4b, - 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x80, 0x05, 0x0a, 0x1a, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, - 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, + 0x64, 0x79, 0x47, 0x6c, 0x6f, 0x61, 0x73, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xd9, 0x01, + 0x0a, 0x19, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, + 0x6c, 0x6c, 0x61, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x99, 0x02, 0x0a, 0x1b, 0x42, 0x6c, + 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x11, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x52, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x22, 0x89, 0x02, 0x0a, 0x13, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, + 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xfc, 0x04, + 0x0a, 0x18, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, + 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, @@ -3799,14 +4077,137 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, - 0x4d, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, + 0x4b, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x80, 0x05, 0x0a, + 0x1a, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, + 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, + 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, + 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, + 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, + 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, + 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, + 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, + 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, + 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x12, 0x4d, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x32, 0x52, 0x11, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, + 0x97, 0x05, 0x0a, 0x1f, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, + 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, + 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, + 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, + 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, + 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, + 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, + 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, + 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x32, 0x52, 0x11, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x97, - 0x05, 0x0a, 0x1f, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, - 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, + 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x9b, 0x05, 0x0a, 0x21, 0x42, 0x6c, + 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, + 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, + 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, + 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, + 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x32, 0x52, 0x18, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xe6, 0x05, 0x0a, 0x16, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, + 0x6c, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, @@ -3839,56 +4240,116 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x18, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x9b, 0x05, 0x0a, 0x21, 0x42, 0x6c, 0x69, - 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, - 0x6f, 0x64, 0x79, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x12, 0x24, - 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, - 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, - 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, - 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, - 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, - 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, - 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, - 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, - 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, - 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, - 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x32, 0x52, 0x18, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xe6, 0x05, 0x0a, 0x16, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, + 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x22, 0xea, 0x05, 0x0a, 0x18, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x24, 0x0a, + 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, + 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, + 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, + 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, + 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, + 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, + 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, + 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x96, 0x06, + 0x0a, 0x14, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, + 0x79, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, + 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, + 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, + 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, + 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, + 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, + 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, + 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, + 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xf1, 0x06, 0x0a, 0x16, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, @@ -3926,204 +4387,6 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, - 0xea, 0x05, 0x0a, 0x18, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, - 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, - 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, - 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, - 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, - 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, - 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, - 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, - 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, - 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, - 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, - 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, - 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, - 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x70, 0x65, 0x6c, - 0x6c, 0x61, 0x56, 0x32, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, - 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, - 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x96, 0x06, 0x0a, - 0x14, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, - 0x44, 0x65, 0x6e, 0x65, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, - 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, - 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, - 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, - 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, - 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, - 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, - 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, - 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, - 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, - 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, - 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, - 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, - 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x12, 0x32, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x14, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xf1, 0x06, 0x0a, 0x16, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, - 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, - 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, - 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, - 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, - 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, - 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, - 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x32, - 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x62, 0x6c, - 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x55, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6c, 0x65, - 0x63, 0x74, 0x72, 0x61, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0xee, 0x06, 0x0a, 0x13, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x46, 0x75, 0x6c, - 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, - 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, - 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, - 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, - 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, - 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, @@ -4140,9 +4403,172 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x81, 0x06, 0x0a, 0x1d, 0x42, - 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x24, 0x0a, 0x0d, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0xee, 0x06, 0x0a, 0x13, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x46, 0x75, + 0x6c, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, + 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, + 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, + 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, + 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, + 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, + 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, + 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x62, + 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x12, 0x32, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, + 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0xb6, 0x07, 0x0a, 0x14, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x47, + 0x6c, 0x6f, 0x61, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, + 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, + 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, + 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, + 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, + 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, + 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x6a, + 0x0a, 0x1c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x52, 0x1c, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x12, 0x53, 0x0a, 0x14, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x63, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x22, 0x81, 0x06, 0x0a, 0x1d, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, + 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, + 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, + 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, + 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, + 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, + 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, + 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, + 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x66, 0x0a, 0x18, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, + 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x85, 0x06, 0x0a, 0x1f, 0x42, 0x6c, 0x69, + 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, + 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, @@ -4176,141 +4602,93 @@ var file_pkg_proto_eth_v2_beacon_block_proto_rawDesc = []byte{ 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x12, 0x66, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x65, 0x12, 0x68, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x52, - 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, - 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x85, - 0x06, 0x0a, 0x1f, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, - 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, - 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, - 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, - 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, - 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, - 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, - 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, - 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, - 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x68, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, - 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x12, 0x63, 0x0a, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xac, 0x04, 0x0a, 0x15, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, - 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, - 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, - 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, - 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, - 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x17, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, - 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, - 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, - 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, - 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, + 0x61, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, + 0x32, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x18, 0x62, + 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x18, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x22, 0xac, 0x04, 0x0a, 0x15, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x61, + 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, 0x31, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, + 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, - 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, - 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, - 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, - 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, + 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x12, + 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, + 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, + 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x73, + 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x22, + 0xae, 0x04, 0x0a, 0x17, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, + 0x6f, 0x64, 0x79, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x12, 0x24, 0x0a, 0x0d, 0x72, + 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, + 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x74, 0x68, 0x31, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x65, 0x74, 0x68, + 0x31, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, + 0x74, 0x69, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x70, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x3c, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, + 0x0a, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x73, + 0x12, 0x4a, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, + 0x69, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, + 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x52, 0x0f, 0x76, 0x6f, 0x6c, + 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, + 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4325,7 +4703,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_rawDescGZIP() []byte { return file_pkg_proto_eth_v2_beacon_block_proto_rawDescData } -var file_pkg_proto_eth_v2_beacon_block_proto_msgTypes = make([]protoimpl.MessageInfo, 39) +var file_pkg_proto_eth_v2_beacon_block_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_pkg_proto_eth_v2_beacon_block_proto_goTypes = []any{ (*SignedBeaconBlockBellatrix)(nil), // 0: xatu.eth.v2.SignedBeaconBlockBellatrix (*SignedBeaconBlockBellatrixV2)(nil), // 1: xatu.eth.v2.SignedBeaconBlockBellatrixV2 @@ -4334,218 +4712,238 @@ var file_pkg_proto_eth_v2_beacon_block_proto_goTypes = []any{ (*SignedBeaconBlockDeneb)(nil), // 4: xatu.eth.v2.SignedBeaconBlockDeneb (*SignedBeaconBlockElectra)(nil), // 5: xatu.eth.v2.SignedBeaconBlockElectra (*SignedBeaconBlockFulu)(nil), // 6: xatu.eth.v2.SignedBeaconBlockFulu - (*SignedBlindedBeaconBlockBellatrix)(nil), // 7: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix - (*SignedBlindedBeaconBlockBellatrixV2)(nil), // 8: xatu.eth.v2.SignedBlindedBeaconBlockBellatrixV2 - (*SignedBlindedBeaconBlockCapella)(nil), // 9: xatu.eth.v2.SignedBlindedBeaconBlockCapella - (*SignedBlindedBeaconBlockCapellaV2)(nil), // 10: xatu.eth.v2.SignedBlindedBeaconBlockCapellaV2 - (*SignedBeaconBlockAltair)(nil), // 11: xatu.eth.v2.SignedBeaconBlockAltair - (*SignedBeaconBlockAltairV2)(nil), // 12: xatu.eth.v2.SignedBeaconBlockAltairV2 - (*BeaconBlockBellatrix)(nil), // 13: xatu.eth.v2.BeaconBlockBellatrix - (*BeaconBlockBellatrixV2)(nil), // 14: xatu.eth.v2.BeaconBlockBellatrixV2 - (*BlindedBeaconBlockBellatrix)(nil), // 15: xatu.eth.v2.BlindedBeaconBlockBellatrix - (*BlindedBeaconBlockBellatrixV2)(nil), // 16: xatu.eth.v2.BlindedBeaconBlockBellatrixV2 - (*BeaconBlockCapella)(nil), // 17: xatu.eth.v2.BeaconBlockCapella - (*BeaconBlockCapellaV2)(nil), // 18: xatu.eth.v2.BeaconBlockCapellaV2 - (*BeaconBlockDeneb)(nil), // 19: xatu.eth.v2.BeaconBlockDeneb - (*BeaconBlockElectra)(nil), // 20: xatu.eth.v2.BeaconBlockElectra - (*BeaconBlockFulu)(nil), // 21: xatu.eth.v2.BeaconBlockFulu - (*BlindedBeaconBlockCapella)(nil), // 22: xatu.eth.v2.BlindedBeaconBlockCapella - (*BlindedBeaconBlockCapellaV2)(nil), // 23: xatu.eth.v2.BlindedBeaconBlockCapellaV2 - (*BeaconBlockAltair)(nil), // 24: xatu.eth.v2.BeaconBlockAltair - (*BeaconBlockAltairV2)(nil), // 25: xatu.eth.v2.BeaconBlockAltairV2 - (*BeaconBlockBodyBellatrix)(nil), // 26: xatu.eth.v2.BeaconBlockBodyBellatrix - (*BeaconBlockBodyBellatrixV2)(nil), // 27: xatu.eth.v2.BeaconBlockBodyBellatrixV2 - (*BlindedBeaconBlockBodyBellatrix)(nil), // 28: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix - (*BlindedBeaconBlockBodyBellatrixV2)(nil), // 29: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2 - (*BeaconBlockBodyCapella)(nil), // 30: xatu.eth.v2.BeaconBlockBodyCapella - (*BeaconBlockBodyCapellaV2)(nil), // 31: xatu.eth.v2.BeaconBlockBodyCapellaV2 - (*BeaconBlockBodyDeneb)(nil), // 32: xatu.eth.v2.BeaconBlockBodyDeneb - (*BeaconBlockBodyElectra)(nil), // 33: xatu.eth.v2.BeaconBlockBodyElectra - (*BeaconBlockBodyFulu)(nil), // 34: xatu.eth.v2.BeaconBlockBodyFulu - (*BlindedBeaconBlockBodyCapella)(nil), // 35: xatu.eth.v2.BlindedBeaconBlockBodyCapella - (*BlindedBeaconBlockBodyCapellaV2)(nil), // 36: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2 - (*BeaconBlockBodyAltair)(nil), // 37: xatu.eth.v2.BeaconBlockBodyAltair - (*BeaconBlockBodyAltairV2)(nil), // 38: xatu.eth.v2.BeaconBlockBodyAltairV2 - (*wrapperspb.UInt64Value)(nil), // 39: google.protobuf.UInt64Value - (*v1.Eth1Data)(nil), // 40: xatu.eth.v1.Eth1Data - (*v1.ProposerSlashing)(nil), // 41: xatu.eth.v1.ProposerSlashing - (*v1.AttesterSlashing)(nil), // 42: xatu.eth.v1.AttesterSlashing - (*v1.Attestation)(nil), // 43: xatu.eth.v1.Attestation - (*v1.Deposit)(nil), // 44: xatu.eth.v1.Deposit - (*v1.SignedVoluntaryExit)(nil), // 45: xatu.eth.v1.SignedVoluntaryExit - (*v1.SyncAggregate)(nil), // 46: xatu.eth.v1.SyncAggregate - (*v1.ExecutionPayload)(nil), // 47: xatu.eth.v1.ExecutionPayload - (*v1.ExecutionPayloadV2)(nil), // 48: xatu.eth.v1.ExecutionPayloadV2 - (*v1.ExecutionPayloadHeader)(nil), // 49: xatu.eth.v1.ExecutionPayloadHeader - (*v1.ExecutionPayloadHeaderV2)(nil), // 50: xatu.eth.v1.ExecutionPayloadHeaderV2 - (*v1.ExecutionPayloadCapella)(nil), // 51: xatu.eth.v1.ExecutionPayloadCapella - (*SignedBLSToExecutionChange)(nil), // 52: xatu.eth.v2.SignedBLSToExecutionChange - (*v1.ExecutionPayloadCapellaV2)(nil), // 53: xatu.eth.v1.ExecutionPayloadCapellaV2 - (*v1.ExecutionPayloadDeneb)(nil), // 54: xatu.eth.v1.ExecutionPayloadDeneb - (*v1.ExecutionPayloadElectra)(nil), // 55: xatu.eth.v1.ExecutionPayloadElectra - (*v1.ElectraExecutionRequests)(nil), // 56: xatu.eth.v1.ElectraExecutionRequests - (*v1.ExecutionPayloadHeaderCapella)(nil), // 57: xatu.eth.v1.ExecutionPayloadHeaderCapella - (*v1.ExecutionPayloadHeaderCapellaV2)(nil), // 58: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 + (*SignedBeaconBlockGloas)(nil), // 7: xatu.eth.v2.SignedBeaconBlockGloas + (*SignedBlindedBeaconBlockBellatrix)(nil), // 8: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix + (*SignedBlindedBeaconBlockBellatrixV2)(nil), // 9: xatu.eth.v2.SignedBlindedBeaconBlockBellatrixV2 + (*SignedBlindedBeaconBlockCapella)(nil), // 10: xatu.eth.v2.SignedBlindedBeaconBlockCapella + (*SignedBlindedBeaconBlockCapellaV2)(nil), // 11: xatu.eth.v2.SignedBlindedBeaconBlockCapellaV2 + (*SignedBeaconBlockAltair)(nil), // 12: xatu.eth.v2.SignedBeaconBlockAltair + (*SignedBeaconBlockAltairV2)(nil), // 13: xatu.eth.v2.SignedBeaconBlockAltairV2 + (*BeaconBlockBellatrix)(nil), // 14: xatu.eth.v2.BeaconBlockBellatrix + (*BeaconBlockBellatrixV2)(nil), // 15: xatu.eth.v2.BeaconBlockBellatrixV2 + (*BlindedBeaconBlockBellatrix)(nil), // 16: xatu.eth.v2.BlindedBeaconBlockBellatrix + (*BlindedBeaconBlockBellatrixV2)(nil), // 17: xatu.eth.v2.BlindedBeaconBlockBellatrixV2 + (*BeaconBlockCapella)(nil), // 18: xatu.eth.v2.BeaconBlockCapella + (*BeaconBlockCapellaV2)(nil), // 19: xatu.eth.v2.BeaconBlockCapellaV2 + (*BeaconBlockDeneb)(nil), // 20: xatu.eth.v2.BeaconBlockDeneb + (*BeaconBlockElectra)(nil), // 21: xatu.eth.v2.BeaconBlockElectra + (*BeaconBlockFulu)(nil), // 22: xatu.eth.v2.BeaconBlockFulu + (*BeaconBlockGloas)(nil), // 23: xatu.eth.v2.BeaconBlockGloas + (*BlindedBeaconBlockCapella)(nil), // 24: xatu.eth.v2.BlindedBeaconBlockCapella + (*BlindedBeaconBlockCapellaV2)(nil), // 25: xatu.eth.v2.BlindedBeaconBlockCapellaV2 + (*BeaconBlockAltair)(nil), // 26: xatu.eth.v2.BeaconBlockAltair + (*BeaconBlockAltairV2)(nil), // 27: xatu.eth.v2.BeaconBlockAltairV2 + (*BeaconBlockBodyBellatrix)(nil), // 28: xatu.eth.v2.BeaconBlockBodyBellatrix + (*BeaconBlockBodyBellatrixV2)(nil), // 29: xatu.eth.v2.BeaconBlockBodyBellatrixV2 + (*BlindedBeaconBlockBodyBellatrix)(nil), // 30: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix + (*BlindedBeaconBlockBodyBellatrixV2)(nil), // 31: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2 + (*BeaconBlockBodyCapella)(nil), // 32: xatu.eth.v2.BeaconBlockBodyCapella + (*BeaconBlockBodyCapellaV2)(nil), // 33: xatu.eth.v2.BeaconBlockBodyCapellaV2 + (*BeaconBlockBodyDeneb)(nil), // 34: xatu.eth.v2.BeaconBlockBodyDeneb + (*BeaconBlockBodyElectra)(nil), // 35: xatu.eth.v2.BeaconBlockBodyElectra + (*BeaconBlockBodyFulu)(nil), // 36: xatu.eth.v2.BeaconBlockBodyFulu + (*BeaconBlockBodyGloas)(nil), // 37: xatu.eth.v2.BeaconBlockBodyGloas + (*BlindedBeaconBlockBodyCapella)(nil), // 38: xatu.eth.v2.BlindedBeaconBlockBodyCapella + (*BlindedBeaconBlockBodyCapellaV2)(nil), // 39: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2 + (*BeaconBlockBodyAltair)(nil), // 40: xatu.eth.v2.BeaconBlockBodyAltair + (*BeaconBlockBodyAltairV2)(nil), // 41: xatu.eth.v2.BeaconBlockBodyAltairV2 + (*wrapperspb.UInt64Value)(nil), // 42: google.protobuf.UInt64Value + (*v1.Eth1Data)(nil), // 43: xatu.eth.v1.Eth1Data + (*v1.ProposerSlashing)(nil), // 44: xatu.eth.v1.ProposerSlashing + (*v1.AttesterSlashing)(nil), // 45: xatu.eth.v1.AttesterSlashing + (*v1.Attestation)(nil), // 46: xatu.eth.v1.Attestation + (*v1.Deposit)(nil), // 47: xatu.eth.v1.Deposit + (*v1.SignedVoluntaryExit)(nil), // 48: xatu.eth.v1.SignedVoluntaryExit + (*v1.SyncAggregate)(nil), // 49: xatu.eth.v1.SyncAggregate + (*v1.ExecutionPayload)(nil), // 50: xatu.eth.v1.ExecutionPayload + (*v1.ExecutionPayloadV2)(nil), // 51: xatu.eth.v1.ExecutionPayloadV2 + (*v1.ExecutionPayloadHeader)(nil), // 52: xatu.eth.v1.ExecutionPayloadHeader + (*v1.ExecutionPayloadHeaderV2)(nil), // 53: xatu.eth.v1.ExecutionPayloadHeaderV2 + (*v1.ExecutionPayloadCapella)(nil), // 54: xatu.eth.v1.ExecutionPayloadCapella + (*SignedBLSToExecutionChange)(nil), // 55: xatu.eth.v2.SignedBLSToExecutionChange + (*v1.ExecutionPayloadCapellaV2)(nil), // 56: xatu.eth.v1.ExecutionPayloadCapellaV2 + (*v1.ExecutionPayloadDeneb)(nil), // 57: xatu.eth.v1.ExecutionPayloadDeneb + (*v1.ExecutionPayloadElectra)(nil), // 58: xatu.eth.v1.ExecutionPayloadElectra + (*v1.ElectraExecutionRequests)(nil), // 59: xatu.eth.v1.ElectraExecutionRequests + (*v1.SignedExecutionPayloadBid)(nil), // 60: xatu.eth.v1.SignedExecutionPayloadBid + (*v1.PayloadAttestation)(nil), // 61: xatu.eth.v1.PayloadAttestation + (*v1.ExecutionPayloadHeaderCapella)(nil), // 62: xatu.eth.v1.ExecutionPayloadHeaderCapella + (*v1.ExecutionPayloadHeaderCapellaV2)(nil), // 63: xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 } var file_pkg_proto_eth_v2_beacon_block_proto_depIdxs = []int32{ - 13, // 0: xatu.eth.v2.SignedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BeaconBlockBellatrix - 14, // 1: xatu.eth.v2.SignedBeaconBlockBellatrixV2.message:type_name -> xatu.eth.v2.BeaconBlockBellatrixV2 - 17, // 2: xatu.eth.v2.SignedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BeaconBlockCapella - 18, // 3: xatu.eth.v2.SignedBeaconBlockCapellaV2.message:type_name -> xatu.eth.v2.BeaconBlockCapellaV2 - 19, // 4: xatu.eth.v2.SignedBeaconBlockDeneb.message:type_name -> xatu.eth.v2.BeaconBlockDeneb - 20, // 5: xatu.eth.v2.SignedBeaconBlockElectra.message:type_name -> xatu.eth.v2.BeaconBlockElectra - 21, // 6: xatu.eth.v2.SignedBeaconBlockFulu.message:type_name -> xatu.eth.v2.BeaconBlockFulu - 15, // 7: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BlindedBeaconBlockBellatrix - 16, // 8: xatu.eth.v2.SignedBlindedBeaconBlockBellatrixV2.message:type_name -> xatu.eth.v2.BlindedBeaconBlockBellatrixV2 - 22, // 9: xatu.eth.v2.SignedBlindedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BlindedBeaconBlockCapella - 23, // 10: xatu.eth.v2.SignedBlindedBeaconBlockCapellaV2.message:type_name -> xatu.eth.v2.BlindedBeaconBlockCapellaV2 - 24, // 11: xatu.eth.v2.SignedBeaconBlockAltair.message:type_name -> xatu.eth.v2.BeaconBlockAltair - 25, // 12: xatu.eth.v2.SignedBeaconBlockAltairV2.message:type_name -> xatu.eth.v2.BeaconBlockAltairV2 - 26, // 13: xatu.eth.v2.BeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BeaconBlockBodyBellatrix - 39, // 14: xatu.eth.v2.BeaconBlockBellatrixV2.slot:type_name -> google.protobuf.UInt64Value - 39, // 15: xatu.eth.v2.BeaconBlockBellatrixV2.proposer_index:type_name -> google.protobuf.UInt64Value - 27, // 16: xatu.eth.v2.BeaconBlockBellatrixV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyBellatrixV2 - 28, // 17: xatu.eth.v2.BlindedBeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyBellatrix - 39, // 18: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.slot:type_name -> google.protobuf.UInt64Value - 39, // 19: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.proposer_index:type_name -> google.protobuf.UInt64Value - 29, // 20: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2 - 30, // 21: xatu.eth.v2.BeaconBlockCapella.body:type_name -> xatu.eth.v2.BeaconBlockBodyCapella - 39, // 22: xatu.eth.v2.BeaconBlockCapellaV2.slot:type_name -> google.protobuf.UInt64Value - 39, // 23: xatu.eth.v2.BeaconBlockCapellaV2.proposer_index:type_name -> google.protobuf.UInt64Value - 31, // 24: xatu.eth.v2.BeaconBlockCapellaV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyCapellaV2 - 39, // 25: xatu.eth.v2.BeaconBlockDeneb.slot:type_name -> google.protobuf.UInt64Value - 39, // 26: xatu.eth.v2.BeaconBlockDeneb.proposer_index:type_name -> google.protobuf.UInt64Value - 32, // 27: xatu.eth.v2.BeaconBlockDeneb.body:type_name -> xatu.eth.v2.BeaconBlockBodyDeneb - 39, // 28: xatu.eth.v2.BeaconBlockElectra.slot:type_name -> google.protobuf.UInt64Value - 39, // 29: xatu.eth.v2.BeaconBlockElectra.proposer_index:type_name -> google.protobuf.UInt64Value - 33, // 30: xatu.eth.v2.BeaconBlockElectra.body:type_name -> xatu.eth.v2.BeaconBlockBodyElectra - 39, // 31: xatu.eth.v2.BeaconBlockFulu.slot:type_name -> google.protobuf.UInt64Value - 39, // 32: xatu.eth.v2.BeaconBlockFulu.proposer_index:type_name -> google.protobuf.UInt64Value - 34, // 33: xatu.eth.v2.BeaconBlockFulu.body:type_name -> xatu.eth.v2.BeaconBlockBodyFulu - 35, // 34: xatu.eth.v2.BlindedBeaconBlockCapella.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyCapella - 39, // 35: xatu.eth.v2.BlindedBeaconBlockCapellaV2.slot:type_name -> google.protobuf.UInt64Value - 39, // 36: xatu.eth.v2.BlindedBeaconBlockCapellaV2.proposer_index:type_name -> google.protobuf.UInt64Value - 36, // 37: xatu.eth.v2.BlindedBeaconBlockCapellaV2.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2 - 37, // 38: xatu.eth.v2.BeaconBlockAltair.body:type_name -> xatu.eth.v2.BeaconBlockBodyAltair - 39, // 39: xatu.eth.v2.BeaconBlockAltairV2.slot:type_name -> google.protobuf.UInt64Value - 39, // 40: xatu.eth.v2.BeaconBlockAltairV2.proposer_index:type_name -> google.protobuf.UInt64Value - 38, // 41: xatu.eth.v2.BeaconBlockAltairV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyAltairV2 - 40, // 42: xatu.eth.v2.BeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 43: xatu.eth.v2.BeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 44: xatu.eth.v2.BeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 45: xatu.eth.v2.BeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 46: xatu.eth.v2.BeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 47: xatu.eth.v2.BeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 48: xatu.eth.v2.BeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 47, // 49: xatu.eth.v2.BeaconBlockBodyBellatrix.execution_payload:type_name -> xatu.eth.v1.ExecutionPayload - 40, // 50: xatu.eth.v2.BeaconBlockBodyBellatrixV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 51: xatu.eth.v2.BeaconBlockBodyBellatrixV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 52: xatu.eth.v2.BeaconBlockBodyBellatrixV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 53: xatu.eth.v2.BeaconBlockBodyBellatrixV2.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 54: xatu.eth.v2.BeaconBlockBodyBellatrixV2.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 55: xatu.eth.v2.BeaconBlockBodyBellatrixV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 56: xatu.eth.v2.BeaconBlockBodyBellatrixV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 48, // 57: xatu.eth.v2.BeaconBlockBodyBellatrixV2.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadV2 - 40, // 58: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 59: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 60: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 61: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 62: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 63: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 64: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 49, // 65: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeader - 40, // 66: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 67: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 68: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 69: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 70: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 71: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 72: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 50, // 73: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderV2 - 40, // 74: xatu.eth.v2.BeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 75: xatu.eth.v2.BeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 76: xatu.eth.v2.BeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 77: xatu.eth.v2.BeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 78: xatu.eth.v2.BeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 79: xatu.eth.v2.BeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 80: xatu.eth.v2.BeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 51, // 81: xatu.eth.v2.BeaconBlockBodyCapella.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadCapella - 52, // 82: xatu.eth.v2.BeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 40, // 83: xatu.eth.v2.BeaconBlockBodyCapellaV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 84: xatu.eth.v2.BeaconBlockBodyCapellaV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 85: xatu.eth.v2.BeaconBlockBodyCapellaV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 86: xatu.eth.v2.BeaconBlockBodyCapellaV2.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 87: xatu.eth.v2.BeaconBlockBodyCapellaV2.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 88: xatu.eth.v2.BeaconBlockBodyCapellaV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 89: xatu.eth.v2.BeaconBlockBodyCapellaV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 53, // 90: xatu.eth.v2.BeaconBlockBodyCapellaV2.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadCapellaV2 - 52, // 91: xatu.eth.v2.BeaconBlockBodyCapellaV2.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 40, // 92: xatu.eth.v2.BeaconBlockBodyDeneb.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 93: xatu.eth.v2.BeaconBlockBodyDeneb.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 94: xatu.eth.v2.BeaconBlockBodyDeneb.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 95: xatu.eth.v2.BeaconBlockBodyDeneb.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 96: xatu.eth.v2.BeaconBlockBodyDeneb.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 97: xatu.eth.v2.BeaconBlockBodyDeneb.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 98: xatu.eth.v2.BeaconBlockBodyDeneb.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 54, // 99: xatu.eth.v2.BeaconBlockBodyDeneb.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadDeneb - 52, // 100: xatu.eth.v2.BeaconBlockBodyDeneb.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 40, // 101: xatu.eth.v2.BeaconBlockBodyElectra.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 102: xatu.eth.v2.BeaconBlockBodyElectra.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 103: xatu.eth.v2.BeaconBlockBodyElectra.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 104: xatu.eth.v2.BeaconBlockBodyElectra.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 105: xatu.eth.v2.BeaconBlockBodyElectra.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 106: xatu.eth.v2.BeaconBlockBodyElectra.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 107: xatu.eth.v2.BeaconBlockBodyElectra.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 55, // 108: xatu.eth.v2.BeaconBlockBodyElectra.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadElectra - 52, // 109: xatu.eth.v2.BeaconBlockBodyElectra.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 56, // 110: xatu.eth.v2.BeaconBlockBodyElectra.execution_requests:type_name -> xatu.eth.v1.ElectraExecutionRequests - 40, // 111: xatu.eth.v2.BeaconBlockBodyFulu.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 112: xatu.eth.v2.BeaconBlockBodyFulu.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 113: xatu.eth.v2.BeaconBlockBodyFulu.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 114: xatu.eth.v2.BeaconBlockBodyFulu.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 115: xatu.eth.v2.BeaconBlockBodyFulu.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 116: xatu.eth.v2.BeaconBlockBodyFulu.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 117: xatu.eth.v2.BeaconBlockBodyFulu.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 55, // 118: xatu.eth.v2.BeaconBlockBodyFulu.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadElectra - 52, // 119: xatu.eth.v2.BeaconBlockBodyFulu.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 56, // 120: xatu.eth.v2.BeaconBlockBodyFulu.execution_requests:type_name -> xatu.eth.v1.ElectraExecutionRequests - 40, // 121: xatu.eth.v2.BlindedBeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 122: xatu.eth.v2.BlindedBeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 123: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 124: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 125: xatu.eth.v2.BlindedBeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 126: xatu.eth.v2.BlindedBeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 127: xatu.eth.v2.BlindedBeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 57, // 128: xatu.eth.v2.BlindedBeaconBlockBodyCapella.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderCapella - 52, // 129: xatu.eth.v2.BlindedBeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 40, // 130: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 131: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 132: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 133: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 134: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 135: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 136: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 58, // 137: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 - 52, // 138: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange - 40, // 139: xatu.eth.v2.BeaconBlockBodyAltair.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 140: xatu.eth.v2.BeaconBlockBodyAltair.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 141: xatu.eth.v2.BeaconBlockBodyAltair.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 142: xatu.eth.v2.BeaconBlockBodyAltair.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 143: xatu.eth.v2.BeaconBlockBodyAltair.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 144: xatu.eth.v2.BeaconBlockBodyAltair.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 145: xatu.eth.v2.BeaconBlockBodyAltair.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 40, // 146: xatu.eth.v2.BeaconBlockBodyAltairV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data - 41, // 147: xatu.eth.v2.BeaconBlockBodyAltairV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing - 42, // 148: xatu.eth.v2.BeaconBlockBodyAltairV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing - 43, // 149: xatu.eth.v2.BeaconBlockBodyAltairV2.attestations:type_name -> xatu.eth.v1.Attestation - 44, // 150: xatu.eth.v2.BeaconBlockBodyAltairV2.deposits:type_name -> xatu.eth.v1.Deposit - 45, // 151: xatu.eth.v2.BeaconBlockBodyAltairV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit - 46, // 152: xatu.eth.v2.BeaconBlockBodyAltairV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate - 153, // [153:153] is the sub-list for method output_type - 153, // [153:153] is the sub-list for method input_type - 153, // [153:153] is the sub-list for extension type_name - 153, // [153:153] is the sub-list for extension extendee - 0, // [0:153] is the sub-list for field type_name + 14, // 0: xatu.eth.v2.SignedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BeaconBlockBellatrix + 15, // 1: xatu.eth.v2.SignedBeaconBlockBellatrixV2.message:type_name -> xatu.eth.v2.BeaconBlockBellatrixV2 + 18, // 2: xatu.eth.v2.SignedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BeaconBlockCapella + 19, // 3: xatu.eth.v2.SignedBeaconBlockCapellaV2.message:type_name -> xatu.eth.v2.BeaconBlockCapellaV2 + 20, // 4: xatu.eth.v2.SignedBeaconBlockDeneb.message:type_name -> xatu.eth.v2.BeaconBlockDeneb + 21, // 5: xatu.eth.v2.SignedBeaconBlockElectra.message:type_name -> xatu.eth.v2.BeaconBlockElectra + 22, // 6: xatu.eth.v2.SignedBeaconBlockFulu.message:type_name -> xatu.eth.v2.BeaconBlockFulu + 23, // 7: xatu.eth.v2.SignedBeaconBlockGloas.message:type_name -> xatu.eth.v2.BeaconBlockGloas + 16, // 8: xatu.eth.v2.SignedBlindedBeaconBlockBellatrix.message:type_name -> xatu.eth.v2.BlindedBeaconBlockBellatrix + 17, // 9: xatu.eth.v2.SignedBlindedBeaconBlockBellatrixV2.message:type_name -> xatu.eth.v2.BlindedBeaconBlockBellatrixV2 + 24, // 10: xatu.eth.v2.SignedBlindedBeaconBlockCapella.message:type_name -> xatu.eth.v2.BlindedBeaconBlockCapella + 25, // 11: xatu.eth.v2.SignedBlindedBeaconBlockCapellaV2.message:type_name -> xatu.eth.v2.BlindedBeaconBlockCapellaV2 + 26, // 12: xatu.eth.v2.SignedBeaconBlockAltair.message:type_name -> xatu.eth.v2.BeaconBlockAltair + 27, // 13: xatu.eth.v2.SignedBeaconBlockAltairV2.message:type_name -> xatu.eth.v2.BeaconBlockAltairV2 + 28, // 14: xatu.eth.v2.BeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BeaconBlockBodyBellatrix + 42, // 15: xatu.eth.v2.BeaconBlockBellatrixV2.slot:type_name -> google.protobuf.UInt64Value + 42, // 16: xatu.eth.v2.BeaconBlockBellatrixV2.proposer_index:type_name -> google.protobuf.UInt64Value + 29, // 17: xatu.eth.v2.BeaconBlockBellatrixV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyBellatrixV2 + 30, // 18: xatu.eth.v2.BlindedBeaconBlockBellatrix.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyBellatrix + 42, // 19: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.slot:type_name -> google.protobuf.UInt64Value + 42, // 20: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.proposer_index:type_name -> google.protobuf.UInt64Value + 31, // 21: xatu.eth.v2.BlindedBeaconBlockBellatrixV2.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2 + 32, // 22: xatu.eth.v2.BeaconBlockCapella.body:type_name -> xatu.eth.v2.BeaconBlockBodyCapella + 42, // 23: xatu.eth.v2.BeaconBlockCapellaV2.slot:type_name -> google.protobuf.UInt64Value + 42, // 24: xatu.eth.v2.BeaconBlockCapellaV2.proposer_index:type_name -> google.protobuf.UInt64Value + 33, // 25: xatu.eth.v2.BeaconBlockCapellaV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyCapellaV2 + 42, // 26: xatu.eth.v2.BeaconBlockDeneb.slot:type_name -> google.protobuf.UInt64Value + 42, // 27: xatu.eth.v2.BeaconBlockDeneb.proposer_index:type_name -> google.protobuf.UInt64Value + 34, // 28: xatu.eth.v2.BeaconBlockDeneb.body:type_name -> xatu.eth.v2.BeaconBlockBodyDeneb + 42, // 29: xatu.eth.v2.BeaconBlockElectra.slot:type_name -> google.protobuf.UInt64Value + 42, // 30: xatu.eth.v2.BeaconBlockElectra.proposer_index:type_name -> google.protobuf.UInt64Value + 35, // 31: xatu.eth.v2.BeaconBlockElectra.body:type_name -> xatu.eth.v2.BeaconBlockBodyElectra + 42, // 32: xatu.eth.v2.BeaconBlockFulu.slot:type_name -> google.protobuf.UInt64Value + 42, // 33: xatu.eth.v2.BeaconBlockFulu.proposer_index:type_name -> google.protobuf.UInt64Value + 36, // 34: xatu.eth.v2.BeaconBlockFulu.body:type_name -> xatu.eth.v2.BeaconBlockBodyFulu + 42, // 35: xatu.eth.v2.BeaconBlockGloas.slot:type_name -> google.protobuf.UInt64Value + 42, // 36: xatu.eth.v2.BeaconBlockGloas.proposer_index:type_name -> google.protobuf.UInt64Value + 37, // 37: xatu.eth.v2.BeaconBlockGloas.body:type_name -> xatu.eth.v2.BeaconBlockBodyGloas + 38, // 38: xatu.eth.v2.BlindedBeaconBlockCapella.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyCapella + 42, // 39: xatu.eth.v2.BlindedBeaconBlockCapellaV2.slot:type_name -> google.protobuf.UInt64Value + 42, // 40: xatu.eth.v2.BlindedBeaconBlockCapellaV2.proposer_index:type_name -> google.protobuf.UInt64Value + 39, // 41: xatu.eth.v2.BlindedBeaconBlockCapellaV2.body:type_name -> xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2 + 40, // 42: xatu.eth.v2.BeaconBlockAltair.body:type_name -> xatu.eth.v2.BeaconBlockBodyAltair + 42, // 43: xatu.eth.v2.BeaconBlockAltairV2.slot:type_name -> google.protobuf.UInt64Value + 42, // 44: xatu.eth.v2.BeaconBlockAltairV2.proposer_index:type_name -> google.protobuf.UInt64Value + 41, // 45: xatu.eth.v2.BeaconBlockAltairV2.body:type_name -> xatu.eth.v2.BeaconBlockBodyAltairV2 + 43, // 46: xatu.eth.v2.BeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 47: xatu.eth.v2.BeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 48: xatu.eth.v2.BeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 49: xatu.eth.v2.BeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 50: xatu.eth.v2.BeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 51: xatu.eth.v2.BeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 52: xatu.eth.v2.BeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 50, // 53: xatu.eth.v2.BeaconBlockBodyBellatrix.execution_payload:type_name -> xatu.eth.v1.ExecutionPayload + 43, // 54: xatu.eth.v2.BeaconBlockBodyBellatrixV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 55: xatu.eth.v2.BeaconBlockBodyBellatrixV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 56: xatu.eth.v2.BeaconBlockBodyBellatrixV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 57: xatu.eth.v2.BeaconBlockBodyBellatrixV2.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 58: xatu.eth.v2.BeaconBlockBodyBellatrixV2.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 59: xatu.eth.v2.BeaconBlockBodyBellatrixV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 60: xatu.eth.v2.BeaconBlockBodyBellatrixV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 51, // 61: xatu.eth.v2.BeaconBlockBodyBellatrixV2.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadV2 + 43, // 62: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 63: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 64: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 65: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 66: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 67: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 68: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 52, // 69: xatu.eth.v2.BlindedBeaconBlockBodyBellatrix.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeader + 43, // 70: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 71: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 72: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 73: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 74: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 75: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 76: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 53, // 77: xatu.eth.v2.BlindedBeaconBlockBodyBellatrixV2.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderV2 + 43, // 78: xatu.eth.v2.BeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 79: xatu.eth.v2.BeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 80: xatu.eth.v2.BeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 81: xatu.eth.v2.BeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 82: xatu.eth.v2.BeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 83: xatu.eth.v2.BeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 84: xatu.eth.v2.BeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 54, // 85: xatu.eth.v2.BeaconBlockBodyCapella.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadCapella + 55, // 86: xatu.eth.v2.BeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 43, // 87: xatu.eth.v2.BeaconBlockBodyCapellaV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 88: xatu.eth.v2.BeaconBlockBodyCapellaV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 89: xatu.eth.v2.BeaconBlockBodyCapellaV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 90: xatu.eth.v2.BeaconBlockBodyCapellaV2.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 91: xatu.eth.v2.BeaconBlockBodyCapellaV2.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 92: xatu.eth.v2.BeaconBlockBodyCapellaV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 93: xatu.eth.v2.BeaconBlockBodyCapellaV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 56, // 94: xatu.eth.v2.BeaconBlockBodyCapellaV2.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadCapellaV2 + 55, // 95: xatu.eth.v2.BeaconBlockBodyCapellaV2.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 43, // 96: xatu.eth.v2.BeaconBlockBodyDeneb.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 97: xatu.eth.v2.BeaconBlockBodyDeneb.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 98: xatu.eth.v2.BeaconBlockBodyDeneb.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 99: xatu.eth.v2.BeaconBlockBodyDeneb.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 100: xatu.eth.v2.BeaconBlockBodyDeneb.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 101: xatu.eth.v2.BeaconBlockBodyDeneb.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 102: xatu.eth.v2.BeaconBlockBodyDeneb.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 57, // 103: xatu.eth.v2.BeaconBlockBodyDeneb.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadDeneb + 55, // 104: xatu.eth.v2.BeaconBlockBodyDeneb.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 43, // 105: xatu.eth.v2.BeaconBlockBodyElectra.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 106: xatu.eth.v2.BeaconBlockBodyElectra.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 107: xatu.eth.v2.BeaconBlockBodyElectra.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 108: xatu.eth.v2.BeaconBlockBodyElectra.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 109: xatu.eth.v2.BeaconBlockBodyElectra.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 110: xatu.eth.v2.BeaconBlockBodyElectra.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 111: xatu.eth.v2.BeaconBlockBodyElectra.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 58, // 112: xatu.eth.v2.BeaconBlockBodyElectra.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadElectra + 55, // 113: xatu.eth.v2.BeaconBlockBodyElectra.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 59, // 114: xatu.eth.v2.BeaconBlockBodyElectra.execution_requests:type_name -> xatu.eth.v1.ElectraExecutionRequests + 43, // 115: xatu.eth.v2.BeaconBlockBodyFulu.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 116: xatu.eth.v2.BeaconBlockBodyFulu.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 117: xatu.eth.v2.BeaconBlockBodyFulu.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 118: xatu.eth.v2.BeaconBlockBodyFulu.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 119: xatu.eth.v2.BeaconBlockBodyFulu.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 120: xatu.eth.v2.BeaconBlockBodyFulu.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 121: xatu.eth.v2.BeaconBlockBodyFulu.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 58, // 122: xatu.eth.v2.BeaconBlockBodyFulu.execution_payload:type_name -> xatu.eth.v1.ExecutionPayloadElectra + 55, // 123: xatu.eth.v2.BeaconBlockBodyFulu.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 59, // 124: xatu.eth.v2.BeaconBlockBodyFulu.execution_requests:type_name -> xatu.eth.v1.ElectraExecutionRequests + 43, // 125: xatu.eth.v2.BeaconBlockBodyGloas.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 126: xatu.eth.v2.BeaconBlockBodyGloas.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 127: xatu.eth.v2.BeaconBlockBodyGloas.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 128: xatu.eth.v2.BeaconBlockBodyGloas.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 129: xatu.eth.v2.BeaconBlockBodyGloas.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 130: xatu.eth.v2.BeaconBlockBodyGloas.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 131: xatu.eth.v2.BeaconBlockBodyGloas.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 55, // 132: xatu.eth.v2.BeaconBlockBodyGloas.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 60, // 133: xatu.eth.v2.BeaconBlockBodyGloas.signed_execution_payload_bid:type_name -> xatu.eth.v1.SignedExecutionPayloadBid + 61, // 134: xatu.eth.v2.BeaconBlockBodyGloas.payload_attestations:type_name -> xatu.eth.v1.PayloadAttestation + 59, // 135: xatu.eth.v2.BeaconBlockBodyGloas.parent_execution_requests:type_name -> xatu.eth.v1.ElectraExecutionRequests + 43, // 136: xatu.eth.v2.BlindedBeaconBlockBodyCapella.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 137: xatu.eth.v2.BlindedBeaconBlockBodyCapella.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 138: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 139: xatu.eth.v2.BlindedBeaconBlockBodyCapella.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 140: xatu.eth.v2.BlindedBeaconBlockBodyCapella.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 141: xatu.eth.v2.BlindedBeaconBlockBodyCapella.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 142: xatu.eth.v2.BlindedBeaconBlockBodyCapella.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 62, // 143: xatu.eth.v2.BlindedBeaconBlockBodyCapella.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderCapella + 55, // 144: xatu.eth.v2.BlindedBeaconBlockBodyCapella.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 43, // 145: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 146: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 147: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 148: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 149: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 150: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 151: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 63, // 152: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.execution_payload_header:type_name -> xatu.eth.v1.ExecutionPayloadHeaderCapellaV2 + 55, // 153: xatu.eth.v2.BlindedBeaconBlockBodyCapellaV2.bls_to_execution_changes:type_name -> xatu.eth.v2.SignedBLSToExecutionChange + 43, // 154: xatu.eth.v2.BeaconBlockBodyAltair.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 155: xatu.eth.v2.BeaconBlockBodyAltair.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 156: xatu.eth.v2.BeaconBlockBodyAltair.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 157: xatu.eth.v2.BeaconBlockBodyAltair.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 158: xatu.eth.v2.BeaconBlockBodyAltair.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 159: xatu.eth.v2.BeaconBlockBodyAltair.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 160: xatu.eth.v2.BeaconBlockBodyAltair.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 43, // 161: xatu.eth.v2.BeaconBlockBodyAltairV2.eth1_data:type_name -> xatu.eth.v1.Eth1Data + 44, // 162: xatu.eth.v2.BeaconBlockBodyAltairV2.proposer_slashings:type_name -> xatu.eth.v1.ProposerSlashing + 45, // 163: xatu.eth.v2.BeaconBlockBodyAltairV2.attester_slashings:type_name -> xatu.eth.v1.AttesterSlashing + 46, // 164: xatu.eth.v2.BeaconBlockBodyAltairV2.attestations:type_name -> xatu.eth.v1.Attestation + 47, // 165: xatu.eth.v2.BeaconBlockBodyAltairV2.deposits:type_name -> xatu.eth.v1.Deposit + 48, // 166: xatu.eth.v2.BeaconBlockBodyAltairV2.voluntary_exits:type_name -> xatu.eth.v1.SignedVoluntaryExit + 49, // 167: xatu.eth.v2.BeaconBlockBodyAltairV2.sync_aggregate:type_name -> xatu.eth.v1.SyncAggregate + 168, // [168:168] is the sub-list for method output_type + 168, // [168:168] is the sub-list for method input_type + 168, // [168:168] is the sub-list for extension type_name + 168, // [168:168] is the sub-list for extension extendee + 0, // [0:168] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v2_beacon_block_proto_init() } @@ -4640,7 +5038,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*SignedBlindedBeaconBlockBellatrix); i { + switch v := v.(*SignedBeaconBlockGloas); i { case 0: return &v.state case 1: @@ -4652,7 +5050,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*SignedBlindedBeaconBlockBellatrixV2); i { + switch v := v.(*SignedBlindedBeaconBlockBellatrix); i { case 0: return &v.state case 1: @@ -4664,7 +5062,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*SignedBlindedBeaconBlockCapella); i { + switch v := v.(*SignedBlindedBeaconBlockBellatrixV2); i { case 0: return &v.state case 1: @@ -4676,7 +5074,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*SignedBlindedBeaconBlockCapellaV2); i { + switch v := v.(*SignedBlindedBeaconBlockCapella); i { case 0: return &v.state case 1: @@ -4688,7 +5086,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*SignedBeaconBlockAltair); i { + switch v := v.(*SignedBlindedBeaconBlockCapellaV2); i { case 0: return &v.state case 1: @@ -4700,7 +5098,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*SignedBeaconBlockAltairV2); i { + switch v := v.(*SignedBeaconBlockAltair); i { case 0: return &v.state case 1: @@ -4712,7 +5110,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBellatrix); i { + switch v := v.(*SignedBeaconBlockAltairV2); i { case 0: return &v.state case 1: @@ -4724,7 +5122,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBellatrixV2); i { + switch v := v.(*BeaconBlockBellatrix); i { case 0: return &v.state case 1: @@ -4736,7 +5134,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockBellatrix); i { + switch v := v.(*BeaconBlockBellatrixV2); i { case 0: return &v.state case 1: @@ -4748,7 +5146,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockBellatrixV2); i { + switch v := v.(*BlindedBeaconBlockBellatrix); i { case 0: return &v.state case 1: @@ -4760,7 +5158,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockCapella); i { + switch v := v.(*BlindedBeaconBlockBellatrixV2); i { case 0: return &v.state case 1: @@ -4772,7 +5170,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockCapellaV2); i { + switch v := v.(*BeaconBlockCapella); i { case 0: return &v.state case 1: @@ -4784,7 +5182,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockDeneb); i { + switch v := v.(*BeaconBlockCapellaV2); i { case 0: return &v.state case 1: @@ -4796,7 +5194,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockElectra); i { + switch v := v.(*BeaconBlockDeneb); i { case 0: return &v.state case 1: @@ -4808,7 +5206,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockFulu); i { + switch v := v.(*BeaconBlockElectra); i { case 0: return &v.state case 1: @@ -4820,7 +5218,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockCapella); i { + switch v := v.(*BeaconBlockFulu); i { case 0: return &v.state case 1: @@ -4832,7 +5230,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockCapellaV2); i { + switch v := v.(*BeaconBlockGloas); i { case 0: return &v.state case 1: @@ -4844,7 +5242,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[24].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockAltair); i { + switch v := v.(*BlindedBeaconBlockCapella); i { case 0: return &v.state case 1: @@ -4856,7 +5254,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[25].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockAltairV2); i { + switch v := v.(*BlindedBeaconBlockCapellaV2); i { case 0: return &v.state case 1: @@ -4868,7 +5266,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[26].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyBellatrix); i { + switch v := v.(*BeaconBlockAltair); i { case 0: return &v.state case 1: @@ -4880,7 +5278,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[27].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyBellatrixV2); i { + switch v := v.(*BeaconBlockAltairV2); i { case 0: return &v.state case 1: @@ -4892,7 +5290,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[28].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockBodyBellatrix); i { + switch v := v.(*BeaconBlockBodyBellatrix); i { case 0: return &v.state case 1: @@ -4904,7 +5302,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[29].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockBodyBellatrixV2); i { + switch v := v.(*BeaconBlockBodyBellatrixV2); i { case 0: return &v.state case 1: @@ -4916,7 +5314,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[30].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyCapella); i { + switch v := v.(*BlindedBeaconBlockBodyBellatrix); i { case 0: return &v.state case 1: @@ -4928,7 +5326,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[31].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyCapellaV2); i { + switch v := v.(*BlindedBeaconBlockBodyBellatrixV2); i { case 0: return &v.state case 1: @@ -4940,7 +5338,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[32].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyDeneb); i { + switch v := v.(*BeaconBlockBodyCapella); i { case 0: return &v.state case 1: @@ -4952,7 +5350,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[33].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyElectra); i { + switch v := v.(*BeaconBlockBodyCapellaV2); i { case 0: return &v.state case 1: @@ -4964,7 +5362,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[34].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyFulu); i { + switch v := v.(*BeaconBlockBodyDeneb); i { case 0: return &v.state case 1: @@ -4976,7 +5374,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockBodyCapella); i { + switch v := v.(*BeaconBlockBodyElectra); i { case 0: return &v.state case 1: @@ -4988,7 +5386,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*BlindedBeaconBlockBodyCapellaV2); i { + switch v := v.(*BeaconBlockBodyFulu); i { case 0: return &v.state case 1: @@ -5000,7 +5398,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*BeaconBlockBodyAltair); i { + switch v := v.(*BeaconBlockBodyGloas); i { case 0: return &v.state case 1: @@ -5012,6 +5410,42 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { } } file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[38].Exporter = func(v any, i int) any { + switch v := v.(*BlindedBeaconBlockBodyCapella); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[39].Exporter = func(v any, i int) any { + switch v := v.(*BlindedBeaconBlockBodyCapellaV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[40].Exporter = func(v any, i int) any { + switch v := v.(*BeaconBlockBodyAltair); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_eth_v2_beacon_block_proto_msgTypes[41].Exporter = func(v any, i int) any { switch v := v.(*BeaconBlockBodyAltairV2); i { case 0: return &v.state @@ -5030,7 +5464,7 @@ func file_pkg_proto_eth_v2_beacon_block_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_eth_v2_beacon_block_proto_rawDesc, NumEnums: 0, - NumMessages: 39, + NumMessages: 42, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/eth/v2/beacon_block.proto b/pkg/proto/eth/v2/beacon_block.proto index dd452d6d..8f35c3dd 100644 --- a/pkg/proto/eth/v2/beacon_block.proto +++ b/pkg/proto/eth/v2/beacon_block.proto @@ -12,6 +12,8 @@ import "google/protobuf/descriptor.proto"; import "pkg/proto/eth/v1/attestation.proto"; import "pkg/proto/eth/v1/beacon_block.proto"; import "pkg/proto/eth/v1/execution_engine.proto"; +import "pkg/proto/eth/v1/execution_payload_bid.proto"; +import "pkg/proto/eth/v1/payload_attestation.proto"; import "pkg/proto/eth/v2/withdrawals.proto"; import "pkg/proto/eth/v1/execution_requests.proto"; @@ -57,6 +59,12 @@ message SignedBeaconBlockFulu { string signature = 2; } +message SignedBeaconBlockGloas { + BeaconBlockGloas message = 1; + + string signature = 2; +} + message SignedBlindedBeaconBlockBellatrix { BlindedBeaconBlockBellatrix message = 1; @@ -207,6 +215,19 @@ message BeaconBlockFulu { BeaconBlockBodyFulu body = 5; } +message BeaconBlockGloas { + google.protobuf.UInt64Value slot = 1 [ json_name = "slot" ]; + + google.protobuf.UInt64Value proposer_index = 2 + [ json_name = "proposer_index" ]; + + string parent_root = 3 [ json_name = "parent_root" ]; + + string state_root = 4 [ json_name = "state_root" ]; + + BeaconBlockBodyGloas body = 5; +} + message BlindedBeaconBlockCapella { uint64 slot = 1; @@ -447,7 +468,7 @@ message BeaconBlockBodyDeneb { repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 [ json_name = "bls_to_execution_changes" ]; - repeated string blob_kzg_commitments = 12 + repeated string blob_kzg_commitments = 12 [ json_name = "blob_kzg_commitments" ]; } @@ -479,9 +500,9 @@ message BeaconBlockBodyElectra { repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 [ json_name = "bls_to_execution_changes" ]; - repeated string blob_kzg_commitments = 12 + repeated string blob_kzg_commitments = 12 [ json_name = "blob_kzg_commitments" ]; - + v1.ElectraExecutionRequests execution_requests = 13 [ json_name = "execution_requests" ]; } @@ -513,12 +534,59 @@ message BeaconBlockBodyFulu { repeated SignedBLSToExecutionChange bls_to_execution_changes = 11 [ json_name = "bls_to_execution_changes" ]; - repeated string blob_kzg_commitments = 12 + repeated string blob_kzg_commitments = 12 [ json_name = "blob_kzg_commitments" ]; - + v1.ElectraExecutionRequests execution_requests = 13 [ json_name = "execution_requests" ]; } +// BeaconBlockBodyGloas mirrors the EIP-7732 (ePBS) + EIP-7928 (BALs) shape of +// the consensus-spec BeaconBlockBody. The execution payload, blob KZG +// commitments and execution requests no longer live on the body — payload and +// execution_requests arrive in a separate ExecutionPayloadEnvelope, and the +// blob commitments live inside the SignedExecutionPayloadBid. +message BeaconBlockBodyGloas { + string randao_reveal = 1 [ json_name = "randao_reveal" ]; + + v1.Eth1Data eth1_data = 2 [ json_name = "eth1_data" ]; + + string graffiti = 3; + + repeated v1.ProposerSlashing proposer_slashings = 4 + [ json_name = "proposer_slashings" ]; + + repeated v1.AttesterSlashing attester_slashings = 5 + [ json_name = "attester_slashings" ]; + + repeated v1.Attestation attestations = 6; + + repeated v1.Deposit deposits = 7; + + repeated v1.SignedVoluntaryExit voluntary_exits = 8 + [ json_name = "voluntary_exits" ]; + + v1.SyncAggregate sync_aggregate = 9 [ json_name = "sync_aggregate" ]; + + repeated SignedBLSToExecutionChange bls_to_execution_changes = 10 + [ json_name = "bls_to_execution_changes" ]; + + // EIP-7732 ePBS: Builder's bid. Carries the proposer's chosen builder bid + // and the slot's blob KZG commitments. + v1.SignedExecutionPayloadBid signed_execution_payload_bid = 11 + [ json_name = "signed_execution_payload_bid" ]; + + // EIP-7732 ePBS: Aggregated PTC attestations (max 4 per block). + repeated v1.PayloadAttestation payload_attestations = 12 + [ json_name = "payload_attestations" ]; + + // EIP-7732 ePBS deferred payload processing: + // execution requests of the *parent* block's payload, processed in this + // block's state transition. Replaces the per-block execution_requests that + // existed before deferred processing was introduced. + v1.ElectraExecutionRequests parent_execution_requests = 13 + [ json_name = "parent_execution_requests" ]; +} + message BlindedBeaconBlockBodyCapella { string randao_reveal = 1 [ json_name = "randao_reveal" ]; diff --git a/pkg/proto/eth/v2/beacon_block_vtproto.pb.go b/pkg/proto/eth/v2/beacon_block_vtproto.pb.go index 5e8bf356..c72f0c4d 100644 --- a/pkg/proto/eth/v2/beacon_block_vtproto.pb.go +++ b/pkg/proto/eth/v2/beacon_block_vtproto.pb.go @@ -11,6 +11,7 @@ import ( protohelpers "github.com/planetscale/vtprotobuf/protohelpers" wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + proto "google.golang.org/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl" wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" @@ -374,6 +375,56 @@ func (m *SignedBeaconBlockFulu) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *SignedBeaconBlockGloas) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignedBeaconBlockGloas) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SignedBeaconBlockGloas) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x12 + } + if m.Message != nil { + size, err := m.Message.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *SignedBlindedBeaconBlockBellatrix) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -1337,6 +1388,83 @@ func (m *BeaconBlockFulu) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *BeaconBlockGloas) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BeaconBlockGloas) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BeaconBlockGloas) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Body != nil { + size, err := m.Body.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if len(m.StateRoot) > 0 { + i -= len(m.StateRoot) + copy(dAtA[i:], m.StateRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StateRoot))) + i-- + dAtA[i] = 0x22 + } + if len(m.ParentRoot) > 0 { + i -= len(m.ParentRoot) + copy(dAtA[i:], m.ParentRoot) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ParentRoot))) + i-- + dAtA[i] = 0x1a + } + if m.ProposerIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.ProposerIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *BlindedBeaconBlockCapella) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -1656,81 +1784,165 @@ func (m *BeaconBlockBodyBellatrix) MarshalToSizedBufferVT(dAtA []byte) (int, err copy(dAtA[i:], m.unknownFields) } if m.ExecutionPayload != nil { - size, err := m.ExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -1743,12 +1955,24 @@ func (m *BeaconBlockBodyBellatrix) MarshalToSizedBufferVT(dAtA []byte) (int, err dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -1793,81 +2017,165 @@ func (m *BeaconBlockBodyBellatrixV2) MarshalToSizedBufferVT(dAtA []byte) (int, e copy(dAtA[i:], m.unknownFields) } if m.ExecutionPayload != nil { - size, err := m.ExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -1880,12 +2188,24 @@ func (m *BeaconBlockBodyBellatrixV2) MarshalToSizedBufferVT(dAtA []byte) (int, e dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -1930,81 +2250,165 @@ func (m *BlindedBeaconBlockBodyBellatrix) MarshalToSizedBufferVT(dAtA []byte) (i copy(dAtA[i:], m.unknownFields) } if m.ExecutionPayloadHeader != nil { - size, err := m.ExecutionPayloadHeader.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if vtmsg, ok := interface{}(m.ExecutionPayloadHeader).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayloadHeader) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -2017,12 +2421,24 @@ func (m *BlindedBeaconBlockBodyBellatrix) MarshalToSizedBufferVT(dAtA []byte) (i dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -2067,81 +2483,165 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) MarshalToSizedBufferVT(dAtA []byte) copy(dAtA[i:], m.unknownFields) } if m.ExecutionPayloadHeader != nil { - size, err := m.ExecutionPayloadHeader.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayloadHeader).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayloadHeader) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -2154,12 +2654,24 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) MarshalToSizedBufferVT(dAtA []byte) dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -2216,81 +2728,165 @@ func (m *BeaconBlockBodyCapella) MarshalToSizedBufferVT(dAtA []byte) (int, error } } if m.ExecutionPayload != nil { - size, err := m.ExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -2303,12 +2899,24 @@ func (m *BeaconBlockBodyCapella) MarshalToSizedBufferVT(dAtA []byte) (int, error dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -2365,81 +2973,165 @@ func (m *BeaconBlockBodyCapellaV2) MarshalToSizedBufferVT(dAtA []byte) (int, err } } if m.ExecutionPayload != nil { - size, err := m.ExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -2452,12 +3144,24 @@ func (m *BeaconBlockBodyCapellaV2) MarshalToSizedBufferVT(dAtA []byte) (int, err dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } i-- dAtA[i] = 0x12 } @@ -2523,81 +3227,165 @@ func (m *BeaconBlockBodyDeneb) MarshalToSizedBufferVT(dAtA []byte) (int, error) } } if m.ExecutionPayload != nil { - size, err := m.ExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -2610,12 +3398,24 @@ func (m *BeaconBlockBodyDeneb) MarshalToSizedBufferVT(dAtA []byte) (int, error) dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -2660,12 +3460,24 @@ func (m *BeaconBlockBodyElectra) MarshalToSizedBufferVT(dAtA []byte) (int, error copy(dAtA[i:], m.unknownFields) } if m.ExecutionRequests != nil { - size, err := m.ExecutionRequests.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionRequests).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionRequests) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x6a } @@ -2691,81 +3503,165 @@ func (m *BeaconBlockBodyElectra) MarshalToSizedBufferVT(dAtA []byte) (int, error } } if m.ExecutionPayload != nil { - size, err := m.ExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -2778,12 +3674,24 @@ func (m *BeaconBlockBodyElectra) MarshalToSizedBufferVT(dAtA []byte) (int, error dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -2828,12 +3736,24 @@ func (m *BeaconBlockBodyFulu) MarshalToSizedBufferVT(dAtA []byte) (int, error) { copy(dAtA[i:], m.unknownFields) } if m.ExecutionRequests != nil { - size, err := m.ExecutionRequests.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionRequests).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionRequests) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x6a } @@ -2859,81 +3779,165 @@ func (m *BeaconBlockBodyFulu) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } } if m.ExecutionPayload != nil { - size, err := m.ExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -2946,12 +3950,24 @@ func (m *BeaconBlockBodyFulu) MarshalToSizedBufferVT(dAtA []byte) (int, error) { dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -2965,7 +3981,7 @@ func (m *BeaconBlockBodyFulu) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *BlindedBeaconBlockBodyCapella) MarshalVT() (dAtA []byte, err error) { +func (m *BeaconBlockBodyGloas) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2978,12 +3994,12 @@ func (m *BlindedBeaconBlockBodyCapella) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BlindedBeaconBlockBodyCapella) MarshalToVT(dAtA []byte) (int, error) { +func (m *BeaconBlockBodyGloas) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *BlindedBeaconBlockBodyCapella) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *BeaconBlockBodyGloas) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2995,94 +4011,224 @@ func (m *BlindedBeaconBlockBodyCapella) MarshalToSizedBufferVT(dAtA []byte) (int i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.BlsToExecutionChanges) > 0 { - for iNdEx := len(m.BlsToExecutionChanges) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.BlsToExecutionChanges[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if m.ParentExecutionRequests != nil { + if vtmsg, ok := interface{}(m.ParentExecutionRequests).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x5a + } else { + encoded, err := proto.Marshal(m.ParentExecutionRequests) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } + i-- + dAtA[i] = 0x6a } - if m.ExecutionPayloadHeader != nil { - size, err := m.ExecutionPayloadHeader.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.PayloadAttestations) > 0 { + for iNdEx := len(m.PayloadAttestations) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.PayloadAttestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.PayloadAttestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x62 } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 } - if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if m.SignedExecutionPayloadBid != nil { + if vtmsg, ok := interface{}(m.SignedExecutionPayloadBid).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SignedExecutionPayloadBid) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x4a + dAtA[i] = 0x5a } - if len(m.VoluntaryExits) > 0 { - for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if len(m.BlsToExecutionChanges) > 0 { + for iNdEx := len(m.BlsToExecutionChanges) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.BlsToExecutionChanges[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x42 + dAtA[i] = 0x52 } } - if len(m.Deposits) > 0 { - for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if m.SyncAggregate != nil { + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x4a + } + if len(m.VoluntaryExits) > 0 { + for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x42 + } + } + if len(m.Deposits) > 0 { + for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -3095,12 +4241,24 @@ func (m *BlindedBeaconBlockBodyCapella) MarshalToSizedBufferVT(dAtA []byte) (int dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -3114,7 +4272,7 @@ func (m *BlindedBeaconBlockBodyCapella) MarshalToSizedBufferVT(dAtA []byte) (int return len(dAtA) - i, nil } -func (m *BlindedBeaconBlockBodyCapellaV2) MarshalVT() (dAtA []byte, err error) { +func (m *BlindedBeaconBlockBodyCapella) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3127,12 +4285,12 @@ func (m *BlindedBeaconBlockBodyCapellaV2) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BlindedBeaconBlockBodyCapellaV2) MarshalToVT(dAtA []byte) (int, error) { +func (m *BlindedBeaconBlockBodyCapella) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *BlindedBeaconBlockBodyCapellaV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *BlindedBeaconBlockBodyCapella) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3157,81 +4315,165 @@ func (m *BlindedBeaconBlockBodyCapellaV2) MarshalToSizedBufferVT(dAtA []byte) (i } } if m.ExecutionPayloadHeader != nil { - size, err := m.ExecutionPayloadHeader.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ExecutionPayloadHeader).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayloadHeader) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x52 } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -3244,12 +4486,24 @@ func (m *BlindedBeaconBlockBodyCapellaV2) MarshalToSizedBufferVT(dAtA []byte) (i dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -3263,7 +4517,7 @@ func (m *BlindedBeaconBlockBodyCapellaV2) MarshalToSizedBufferVT(dAtA []byte) (i return len(dAtA) - i, nil } -func (m *BeaconBlockBodyAltair) MarshalVT() (dAtA []byte, err error) { +func (m *BlindedBeaconBlockBodyCapellaV2) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3276,12 +4530,12 @@ func (m *BeaconBlockBodyAltair) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BeaconBlockBodyAltair) MarshalToVT(dAtA []byte) (int, error) { +func (m *BlindedBeaconBlockBodyCapellaV2) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *BeaconBlockBodyAltair) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *BlindedBeaconBlockBodyCapellaV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3293,72 +4547,178 @@ func (m *BeaconBlockBodyAltair) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.BlsToExecutionChanges) > 0 { + for iNdEx := len(m.BlsToExecutionChanges) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.BlsToExecutionChanges[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + } + if m.ExecutionPayloadHeader != nil { + if vtmsg, ok := interface{}(m.ExecutionPayloadHeader).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ExecutionPayloadHeader) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x4a + dAtA[i] = 0x52 } - if len(m.VoluntaryExits) > 0 { - for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if m.SyncAggregate != nil { + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x4a + } + if len(m.VoluntaryExits) > 0 { + for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -3371,12 +4731,24 @@ func (m *BeaconBlockBodyAltair) MarshalToSizedBufferVT(dAtA []byte) (int, error) dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -3390,7 +4762,7 @@ func (m *BeaconBlockBodyAltair) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *BeaconBlockBodyAltairV2) MarshalVT() (dAtA []byte, err error) { +func (m *BeaconBlockBodyAltair) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3403,12 +4775,12 @@ func (m *BeaconBlockBodyAltairV2) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BeaconBlockBodyAltairV2) MarshalToVT(dAtA []byte) (int, error) { +func (m *BeaconBlockBodyAltair) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *BeaconBlockBodyAltairV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *BeaconBlockBodyAltair) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3421,71 +4793,354 @@ func (m *BeaconBlockBodyAltairV2) MarshalToSizedBufferVT(dAtA []byte) (int, erro copy(dAtA[i:], m.unknownFields) } if m.SyncAggregate != nil { - size, err := m.SyncAggregate.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } if len(m.VoluntaryExits) > 0 { for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.VoluntaryExits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } } if len(m.Deposits) > 0 { for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Deposits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } } if len(m.Attestations) > 0 { for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Attestations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } } if len(m.AttesterSlashings) > 0 { for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.AttesterSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } } if len(m.ProposerSlashings) > 0 { for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ProposerSlashings[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.Graffiti) > 0 { + i -= len(m.Graffiti) + copy(dAtA[i:], m.Graffiti) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Graffiti))) + i-- + dAtA[i] = 0x1a + } + if m.Eth1Data != nil { + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x12 + } + if len(m.RandaoReveal) > 0 { + i -= len(m.RandaoReveal) + copy(dAtA[i:], m.RandaoReveal) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RandaoReveal))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BeaconBlockBodyAltairV2) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BeaconBlockBodyAltairV2) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BeaconBlockBodyAltairV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.SyncAggregate != nil { + if vtmsg, ok := interface{}(m.SyncAggregate).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncAggregate) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x4a + } + if len(m.VoluntaryExits) > 0 { + for iNdEx := len(m.VoluntaryExits) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.VoluntaryExits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.VoluntaryExits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x42 + } + } + if len(m.Deposits) > 0 { + for iNdEx := len(m.Deposits) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Deposits[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Deposits[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x3a + } + } + if len(m.Attestations) > 0 { + for iNdEx := len(m.Attestations) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Attestations[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Attestations[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x32 + } + } + if len(m.AttesterSlashings) > 0 { + for iNdEx := len(m.AttesterSlashings) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.AttesterSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.AttesterSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x2a + } + } + if len(m.ProposerSlashings) > 0 { + for iNdEx := len(m.ProposerSlashings) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.ProposerSlashings[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ProposerSlashings[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } i-- dAtA[i] = 0x22 } @@ -3498,12 +5153,24 @@ func (m *BeaconBlockBodyAltairV2) MarshalToSizedBufferVT(dAtA []byte) (int, erro dAtA[i] = 0x1a } if m.Eth1Data != nil { - size, err := m.Eth1Data.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Eth1Data).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Eth1Data) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } @@ -3671,6 +5338,28 @@ func SignedBeaconBlockFuluFromVTPool() *SignedBeaconBlockFulu { return vtprotoPool_SignedBeaconBlockFulu.Get().(*SignedBeaconBlockFulu) } +var vtprotoPool_SignedBeaconBlockGloas = sync.Pool{ + New: func() interface{} { + return &SignedBeaconBlockGloas{} + }, +} + +func (m *SignedBeaconBlockGloas) ResetVT() { + if m != nil { + m.Message.ReturnToVTPool() + m.Reset() + } +} +func (m *SignedBeaconBlockGloas) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_SignedBeaconBlockGloas.Put(m) + } +} +func SignedBeaconBlockGloasFromVTPool() *SignedBeaconBlockGloas { + return vtprotoPool_SignedBeaconBlockGloas.Get().(*SignedBeaconBlockGloas) +} + var vtprotoPool_SignedBlindedBeaconBlockBellatrix = sync.Pool{ New: func() interface{} { return &SignedBlindedBeaconBlockBellatrix{} @@ -4001,6 +5690,28 @@ func BeaconBlockFuluFromVTPool() *BeaconBlockFulu { return vtprotoPool_BeaconBlockFulu.Get().(*BeaconBlockFulu) } +var vtprotoPool_BeaconBlockGloas = sync.Pool{ + New: func() interface{} { + return &BeaconBlockGloas{} + }, +} + +func (m *BeaconBlockGloas) ResetVT() { + if m != nil { + m.Body.ReturnToVTPool() + m.Reset() + } +} +func (m *BeaconBlockGloas) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BeaconBlockGloas.Put(m) + } +} +func BeaconBlockGloasFromVTPool() *BeaconBlockGloas { + return vtprotoPool_BeaconBlockGloas.Get().(*BeaconBlockGloas) +} + var vtprotoPool_BlindedBeaconBlockCapella = sync.Pool{ New: func() interface{} { return &BlindedBeaconBlockCapella{} @@ -4563,6 +6274,66 @@ func BeaconBlockBodyFuluFromVTPool() *BeaconBlockBodyFulu { return vtprotoPool_BeaconBlockBodyFulu.Get().(*BeaconBlockBodyFulu) } +var vtprotoPool_BeaconBlockBodyGloas = sync.Pool{ + New: func() interface{} { + return &BeaconBlockBodyGloas{} + }, +} + +func (m *BeaconBlockBodyGloas) ResetVT() { + if m != nil { + m.Eth1Data.ReturnToVTPool() + for _, mm := range m.ProposerSlashings { + mm.ResetVT() + } + f0 := m.ProposerSlashings[:0] + for _, mm := range m.AttesterSlashings { + mm.ResetVT() + } + f1 := m.AttesterSlashings[:0] + for _, mm := range m.Attestations { + mm.ResetVT() + } + f2 := m.Attestations[:0] + for _, mm := range m.Deposits { + mm.ResetVT() + } + f3 := m.Deposits[:0] + for _, mm := range m.VoluntaryExits { + mm.ResetVT() + } + f4 := m.VoluntaryExits[:0] + m.SyncAggregate.ReturnToVTPool() + for _, mm := range m.BlsToExecutionChanges { + mm.ResetVT() + } + f5 := m.BlsToExecutionChanges[:0] + m.SignedExecutionPayloadBid.ReturnToVTPool() + for _, mm := range m.PayloadAttestations { + mm.ResetVT() + } + f6 := m.PayloadAttestations[:0] + m.ParentExecutionRequests.ReturnToVTPool() + m.Reset() + m.ProposerSlashings = f0 + m.AttesterSlashings = f1 + m.Attestations = f2 + m.Deposits = f3 + m.VoluntaryExits = f4 + m.BlsToExecutionChanges = f5 + m.PayloadAttestations = f6 + } +} +func (m *BeaconBlockBodyGloas) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BeaconBlockBodyGloas.Put(m) + } +} +func BeaconBlockBodyGloasFromVTPool() *BeaconBlockBodyGloas { + return vtprotoPool_BeaconBlockBodyGloas.Get().(*BeaconBlockBodyGloas) +} + var vtprotoPool_BlindedBeaconBlockBodyCapella = sync.Pool{ New: func() interface{} { return &BlindedBeaconBlockBodyCapella{} @@ -4892,6 +6663,24 @@ func (m *SignedBeaconBlockFulu) SizeVT() (n int) { return n } +func (m *SignedBeaconBlockGloas) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Message != nil { + l = m.Message.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Signature) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *SignedBlindedBeaconBlockBellatrix) SizeVT() (n int) { if m == nil { return 0 @@ -5264,17 +7053,19 @@ func (m *BeaconBlockFulu) SizeVT() (n int) { return n } -func (m *BlindedBeaconBlockCapella) SizeVT() (n int) { +func (m *BeaconBlockGloas) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Slot != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Slot)) + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.ProposerIndex != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.ProposerIndex)) + if m.ProposerIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ProposerIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.ParentRoot) if l > 0 { @@ -5292,15 +7083,43 @@ func (m *BlindedBeaconBlockCapella) SizeVT() (n int) { return n } -func (m *BlindedBeaconBlockCapellaV2) SizeVT() (n int) { +func (m *BlindedBeaconBlockCapella) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Slot != nil { - l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Slot != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Slot)) + } + if m.ProposerIndex != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ProposerIndex)) + } + l = len(m.ParentRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.StateRoot) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Body != nil { + l = m.Body.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BlindedBeaconBlockCapellaV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ProposerIndex != nil { l = (*wrapperspb.UInt64Value)(m.ProposerIndex).SizeVT() @@ -5391,7 +7210,13 @@ func (m *BeaconBlockBodyBellatrix) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5400,40 +7225,82 @@ func (m *BeaconBlockBodyBellatrix) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayload != nil { - l = m.ExecutionPayload.SizeVT() + if size, ok := interface{}(m.ExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayload) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -5451,7 +7318,13 @@ func (m *BeaconBlockBodyBellatrixV2) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5460,40 +7333,82 @@ func (m *BeaconBlockBodyBellatrixV2) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayload != nil { - l = m.ExecutionPayload.SizeVT() + if size, ok := interface{}(m.ExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayload) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -5511,7 +7426,13 @@ func (m *BlindedBeaconBlockBodyBellatrix) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5520,40 +7441,82 @@ func (m *BlindedBeaconBlockBodyBellatrix) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayloadHeader != nil { - l = m.ExecutionPayloadHeader.SizeVT() + if size, ok := interface{}(m.ExecutionPayloadHeader).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayloadHeader) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -5571,7 +7534,13 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5580,40 +7549,82 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayloadHeader != nil { - l = m.ExecutionPayloadHeader.SizeVT() + if size, ok := interface{}(m.ExecutionPayloadHeader).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayloadHeader) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -5631,7 +7642,13 @@ func (m *BeaconBlockBodyCapella) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5640,40 +7657,82 @@ func (m *BeaconBlockBodyCapella) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayload != nil { - l = m.ExecutionPayload.SizeVT() + if size, ok := interface{}(m.ExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayload) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if len(m.BlsToExecutionChanges) > 0 { @@ -5697,7 +7756,13 @@ func (m *BeaconBlockBodyCapellaV2) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5706,40 +7771,82 @@ func (m *BeaconBlockBodyCapellaV2) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayload != nil { - l = m.ExecutionPayload.SizeVT() + if size, ok := interface{}(m.ExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayload) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if len(m.BlsToExecutionChanges) > 0 { @@ -5763,7 +7870,13 @@ func (m *BeaconBlockBodyDeneb) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5772,40 +7885,82 @@ func (m *BeaconBlockBodyDeneb) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayload != nil { - l = m.ExecutionPayload.SizeVT() + if size, ok := interface{}(m.ExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayload) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if len(m.BlsToExecutionChanges) > 0 { @@ -5835,7 +7990,13 @@ func (m *BeaconBlockBodyElectra) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5844,40 +8005,82 @@ func (m *BeaconBlockBodyElectra) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayload != nil { - l = m.ExecutionPayload.SizeVT() + if size, ok := interface{}(m.ExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayload) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if len(m.BlsToExecutionChanges) > 0 { @@ -5893,7 +8096,13 @@ func (m *BeaconBlockBodyElectra) SizeVT() (n int) { } } if m.ExecutionRequests != nil { - l = m.ExecutionRequests.SizeVT() + if size, ok := interface{}(m.ExecutionRequests).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionRequests) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -5911,7 +8120,13 @@ func (m *BeaconBlockBodyFulu) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5920,40 +8135,82 @@ func (m *BeaconBlockBodyFulu) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayload != nil { - l = m.ExecutionPayload.SizeVT() + if size, ok := interface{}(m.ExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayload) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if len(m.BlsToExecutionChanges) > 0 { @@ -5969,14 +8226,20 @@ func (m *BeaconBlockBodyFulu) SizeVT() (n int) { } } if m.ExecutionRequests != nil { - l = m.ExecutionRequests.SizeVT() + if size, ok := interface{}(m.ExecutionRequests).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionRequests) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *BlindedBeaconBlockBodyCapella) SizeVT() (n int) { +func (m *BeaconBlockBodyGloas) SizeVT() (n int) { if m == nil { return 0 } @@ -5987,7 +8250,13 @@ func (m *BlindedBeaconBlockBodyCapella) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -5996,40 +8265,72 @@ func (m *BlindedBeaconBlockBodyCapella) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ExecutionPayloadHeader != nil { - l = m.ExecutionPayloadHeader.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if len(m.BlsToExecutionChanges) > 0 { @@ -6038,11 +8339,43 @@ func (m *BlindedBeaconBlockBodyCapella) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if m.SignedExecutionPayloadBid != nil { + if size, ok := interface{}(m.SignedExecutionPayloadBid).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SignedExecutionPayloadBid) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.PayloadAttestations) > 0 { + for _, e := range m.PayloadAttestations { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.ParentExecutionRequests != nil { + if size, ok := interface{}(m.ParentExecutionRequests).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ParentExecutionRequests) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } -func (m *BlindedBeaconBlockBodyCapellaV2) SizeVT() (n int) { +func (m *BlindedBeaconBlockBodyCapella) SizeVT() (n int) { if m == nil { return 0 } @@ -6053,7 +8386,13 @@ func (m *BlindedBeaconBlockBodyCapellaV2) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -6062,40 +8401,82 @@ func (m *BlindedBeaconBlockBodyCapellaV2) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ExecutionPayloadHeader != nil { - l = m.ExecutionPayloadHeader.SizeVT() + if size, ok := interface{}(m.ExecutionPayloadHeader).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayloadHeader) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if len(m.BlsToExecutionChanges) > 0 { @@ -6108,7 +8489,7 @@ func (m *BlindedBeaconBlockBodyCapellaV2) SizeVT() (n int) { return n } -func (m *BeaconBlockBodyAltair) SizeVT() (n int) { +func (m *BlindedBeaconBlockBodyCapellaV2) SizeVT() (n int) { if m == nil { return 0 } @@ -6119,7 +8500,13 @@ func (m *BeaconBlockBodyAltair) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -6128,36 +8515,186 @@ func (m *BeaconBlockBodyAltair) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.SyncAggregate != nil { + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ExecutionPayloadHeader != nil { + if size, ok := interface{}(m.ExecutionPayloadHeader).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ExecutionPayloadHeader) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.BlsToExecutionChanges) > 0 { + for _, e := range m.BlsToExecutionChanges { l = e.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + n += len(m.unknownFields) + return n +} + +func (m *BeaconBlockBodyAltair) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.RandaoReveal) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Eth1Data != nil { + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Graffiti) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.ProposerSlashings) > 0 { + for _, e := range m.ProposerSlashings { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.AttesterSlashings) > 0 { + for _, e := range m.AttesterSlashings { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.Attestations) > 0 { + for _, e := range m.Attestations { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.Deposits) > 0 { + for _, e := range m.Deposits { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.VoluntaryExits) > 0 { + for _, e := range m.VoluntaryExits { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -6175,7 +8712,13 @@ func (m *BeaconBlockBodyAltairV2) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Eth1Data != nil { - l = m.Eth1Data.SizeVT() + if size, ok := interface{}(m.Eth1Data).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Eth1Data) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.Graffiti) @@ -6184,36 +8727,72 @@ func (m *BeaconBlockBodyAltairV2) SizeVT() (n int) { } if len(m.ProposerSlashings) > 0 { for _, e := range m.ProposerSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.AttesterSlashings) > 0 { for _, e := range m.AttesterSlashings { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Attestations) > 0 { for _, e := range m.Attestations { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.Deposits) > 0 { for _, e := range m.Deposits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if len(m.VoluntaryExits) > 0 { for _, e := range m.VoluntaryExits { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } if m.SyncAggregate != nil { - l = m.SyncAggregate.SizeVT() + if size, ok := interface{}(m.SyncAggregate).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncAggregate) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -7053,6 +9632,125 @@ func (m *SignedBeaconBlockFulu) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *SignedBeaconBlockGloas) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SignedBeaconBlockGloas: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignedBeaconBlockGloas: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Message == nil { + m.Message = BeaconBlockGloasFromVTPool() + } + if err := m.Message.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *SignedBlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -7679,9 +10377,578 @@ func (m *SignedBeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Message == nil { + m.Message = BeaconBlockAltairV2FromVTPool() + } + if err := m.Message.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BeaconBlockBellatrix: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BeaconBlockBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + m.Slot = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Slot |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + } + m.ProposerIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ProposerIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StateRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Body == nil { + m.Body = BeaconBlockBodyBellatrixFromVTPool() + } + if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BeaconBlockBellatrixV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BeaconBlockBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StateRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Body == nil { + m.Body = BeaconBlockBodyBellatrixV2FromVTPool() + } + if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlindedBeaconBlockBellatrix: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlindedBeaconBlockBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + m.Slot = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Slot |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + } + m.ProposerIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ProposerIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7691,31 +10958,27 @@ func (m *SignedBeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Message == nil { - m.Message = BeaconBlockAltairV2FromVTPool() - } - if err := m.Message.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.ParentRoot = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7743,7 +11006,43 @@ func (m *SignedBeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Signature = string(dAtA[iNdEx:postIndex]) + m.StateRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Body == nil { + m.Body = BlindedBeaconBlockBodyBellatrixFromVTPool() + } + if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -7767,7 +11066,7 @@ func (m *SignedBeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { +func (m *BlindedBeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7790,17 +11089,17 @@ func (m *BeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBellatrix: wiretype end group for non-group") + return fmt.Errorf("proto: BlindedBeaconBlockBellatrixV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BlindedBeaconBlockBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - m.Slot = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7810,16 +11109,33 @@ func (m *BeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Slot |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 2: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) } - m.ProposerIndex = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7829,11 +11145,28 @@ func (m *BeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProposerIndex |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) @@ -7928,7 +11261,7 @@ func (m *BeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BeaconBlockBodyBellatrixFromVTPool() + m.Body = BlindedBeaconBlockBodyBellatrixV2FromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7956,7 +11289,7 @@ func (m *BeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockCapella) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7979,17 +11312,17 @@ func (m *BeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBellatrixV2: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockCapella: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockCapella: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { + if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var msglen int + m.Slot = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7999,33 +11332,16 @@ func (m *BeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Slot |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 2: - if wireType != 2 { + if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) } - var msglen int + m.ProposerIndex = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8035,28 +11351,11 @@ func (m *BeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.ProposerIndex |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ProposerIndex == nil { - m.ProposerIndex = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) @@ -8151,7 +11450,7 @@ func (m *BeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BeaconBlockBodyBellatrixV2FromVTPool() + m.Body = BeaconBlockBodyCapellaFromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8179,7 +11478,7 @@ func (m *BeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8202,17 +11501,17 @@ func (m *BlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BlindedBeaconBlockBellatrix: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockCapellaV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BlindedBeaconBlockBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - m.Slot = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8222,16 +11521,33 @@ func (m *BlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Slot |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 2: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) } - m.ProposerIndex = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8241,11 +11557,28 @@ func (m *BlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProposerIndex |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) @@ -8340,7 +11673,7 @@ func (m *BlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BlindedBeaconBlockBodyBellatrixFromVTPool() + m.Body = BeaconBlockBodyCapellaV2FromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8368,7 +11701,7 @@ func (m *BlindedBeaconBlockBellatrix) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BlindedBeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockDeneb) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8391,10 +11724,10 @@ func (m *BlindedBeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BlindedBeaconBlockBellatrixV2: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockDeneb: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BlindedBeaconBlockBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockDeneb: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8563,7 +11896,7 @@ func (m *BlindedBeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BlindedBeaconBlockBodyBellatrixV2FromVTPool() + m.Body = BeaconBlockBodyDenebFromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8591,7 +11924,7 @@ func (m *BlindedBeaconBlockBellatrixV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockCapella) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockElectra) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8614,17 +11947,17 @@ func (m *BeaconBlockCapella) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockCapella: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockElectra: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockCapella: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockElectra: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - m.Slot = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8634,16 +11967,33 @@ func (m *BeaconBlockCapella) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Slot |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 2: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) } - m.ProposerIndex = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8653,11 +12003,28 @@ func (m *BeaconBlockCapella) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProposerIndex |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) @@ -8752,7 +12119,7 @@ func (m *BeaconBlockCapella) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BeaconBlockBodyCapellaFromVTPool() + m.Body = BeaconBlockBodyElectraFromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8780,7 +12147,7 @@ func (m *BeaconBlockCapella) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockFulu) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8803,10 +12170,10 @@ func (m *BeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockCapellaV2: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockFulu: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockFulu: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8975,7 +12342,7 @@ func (m *BeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BeaconBlockBodyCapellaV2FromVTPool() + m.Body = BeaconBlockBodyFuluFromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9003,7 +12370,7 @@ func (m *BeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockDeneb) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockGloas) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9026,10 +12393,10 @@ func (m *BeaconBlockDeneb) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockDeneb: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockGloas: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockDeneb: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockGloas: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9198,7 +12565,7 @@ func (m *BeaconBlockDeneb) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BeaconBlockBodyDenebFromVTPool() + m.Body = BeaconBlockBodyGloasFromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9226,7 +12593,7 @@ func (m *BeaconBlockDeneb) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockElectra) UnmarshalVT(dAtA []byte) error { +func (m *BlindedBeaconBlockCapella) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9249,17 +12616,17 @@ func (m *BeaconBlockElectra) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockElectra: wiretype end group for non-group") + return fmt.Errorf("proto: BlindedBeaconBlockCapella: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockElectra: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BlindedBeaconBlockCapella: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { + if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var msglen int + m.Slot = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9269,33 +12636,16 @@ func (m *BeaconBlockElectra) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Slot |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 2: - if wireType != 2 { + if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) } - var msglen int + m.ProposerIndex = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9305,28 +12655,11 @@ func (m *BeaconBlockElectra) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.ProposerIndex |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ProposerIndex == nil { - m.ProposerIndex = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) @@ -9421,7 +12754,7 @@ func (m *BeaconBlockElectra) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BeaconBlockBodyElectraFromVTPool() + m.Body = BlindedBeaconBlockBodyCapellaFromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9449,7 +12782,7 @@ func (m *BeaconBlockElectra) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockFulu) UnmarshalVT(dAtA []byte) error { +func (m *BlindedBeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9472,10 +12805,10 @@ func (m *BeaconBlockFulu) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockFulu: wiretype end group for non-group") + return fmt.Errorf("proto: BlindedBeaconBlockCapellaV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockFulu: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BlindedBeaconBlockCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9644,7 +12977,7 @@ func (m *BeaconBlockFulu) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BeaconBlockBodyFuluFromVTPool() + m.Body = BlindedBeaconBlockBodyCapellaV2FromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9672,7 +13005,7 @@ func (m *BeaconBlockFulu) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BlindedBeaconBlockCapella) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9695,10 +13028,10 @@ func (m *BlindedBeaconBlockCapella) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BlindedBeaconBlockCapella: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockAltair: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BlindedBeaconBlockCapella: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockAltair: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9833,7 +13166,7 @@ func (m *BlindedBeaconBlockCapella) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BlindedBeaconBlockBodyCapellaFromVTPool() + m.Body = BeaconBlockBodyAltairFromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9861,7 +13194,7 @@ func (m *BlindedBeaconBlockCapella) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BlindedBeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9884,10 +13217,10 @@ func (m *BlindedBeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BlindedBeaconBlockCapellaV2: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockAltairV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BlindedBeaconBlockCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockAltairV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10056,7 +13389,7 @@ func (m *BlindedBeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Body == nil { - m.Body = BlindedBeaconBlockBodyCapellaV2FromVTPool() + m.Body = BeaconBlockBodyAltairV2FromVTPool() } if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10084,7 +13417,7 @@ func (m *BlindedBeaconBlockCapellaV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10107,17 +13440,17 @@ func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockAltair: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyBellatrix: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockAltair: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RandaoReveal", wireType) } - m.Slot = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10127,16 +13460,29 @@ func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Slot |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RandaoReveal = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Eth1Data", wireType) } - m.ProposerIndex = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10146,14 +13492,39 @@ func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProposerIndex |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Eth1Data == nil { + m.Eth1Data = v1.Eth1DataFromVTPool() + } + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } + } + iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Graffiti", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10181,13 +13552,13 @@ func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ParentRoot = string(dAtA[iNdEx:postIndex]) + m.Graffiti = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProposerSlashings", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10197,27 +13568,44 @@ func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.StateRoot = string(dAtA[iNdEx:postIndex]) + if len(m.ProposerSlashings) == cap(m.ProposerSlashings) { + m.ProposerSlashings = append(m.ProposerSlashings, &v1.ProposerSlashing{}) + } else { + m.ProposerSlashings = m.ProposerSlashings[:len(m.ProposerSlashings)+1] + if m.ProposerSlashings[len(m.ProposerSlashings)-1] == nil { + m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} + } + } + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } + } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AttesterSlashings", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10244,67 +13632,29 @@ func (m *BeaconBlockAltair) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Body == nil { - m.Body = BeaconBlockBodyAltairFromVTPool() - } - if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if len(m.AttesterSlashings) == cap(m.AttesterSlashings) { + m.AttesterSlashings = append(m.AttesterSlashings, &v1.AttesterSlashing{}) + } else { + m.AttesterSlashings = m.AttesterSlashings[:len(m.AttesterSlashings)+1] + if m.AttesterSlashings[len(m.AttesterSlashings)-1] == nil { + m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} + } } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockAltairV2: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockAltairV2: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Attestations", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10331,16 +13681,29 @@ func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} + if len(m.Attestations) == cap(m.Attestations) { + m.Attestations = append(m.Attestations, &v1.Attestation{}) + } else { + m.Attestations = m.Attestations[:len(m.Attestations)+1] + if m.Attestations[len(m.Attestations)-1] == nil { + m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} + } } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Deposits", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10367,18 +13730,31 @@ func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ProposerIndex == nil { - m.ProposerIndex = &wrapperspb1.UInt64Value{} + if len(m.Deposits) == cap(m.Deposits) { + m.Deposits = append(m.Deposits, &v1.Deposit{}) + } else { + m.Deposits = m.Deposits[:len(m.Deposits)+1] + if m.Deposits[len(m.Deposits)-1] == nil { + m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} + } } - if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex - case 3: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VoluntaryExits", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10388,29 +13764,46 @@ func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ParentRoot = string(dAtA[iNdEx:postIndex]) + if len(m.VoluntaryExits) == cap(m.VoluntaryExits) { + m.VoluntaryExits = append(m.VoluntaryExits, &v1.SignedVoluntaryExit{}) + } else { + m.VoluntaryExits = m.VoluntaryExits[:len(m.VoluntaryExits)+1] + if m.VoluntaryExits[len(m.VoluntaryExits)-1] == nil { + m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} + } + } + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } + } iNdEx = postIndex - case 4: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SyncAggregate", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10420,27 +13813,39 @@ func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.StateRoot = string(dAtA[iNdEx:postIndex]) + if m.SyncAggregate == nil { + m.SyncAggregate = v1.SyncAggregateFromVTPool() + } + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } + } iNdEx = postIndex - case 5: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayload", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10467,11 +13872,19 @@ func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Body == nil { - m.Body = BeaconBlockBodyAltairV2FromVTPool() + if m.ExecutionPayload == nil { + m.ExecutionPayload = v1.ExecutionPayloadFromVTPool() } - if err := m.Body.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayload); err != nil { + return err + } } iNdEx = postIndex default: @@ -10496,7 +13909,7 @@ func (m *BeaconBlockAltairV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10519,10 +13932,10 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBodyBellatrix: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyBellatrixV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBodyBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10589,8 +14002,16 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -10662,8 +14083,16 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -10703,8 +14132,16 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -10744,8 +14181,16 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -10785,8 +14230,16 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -10826,8 +14279,16 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -10862,8 +14323,16 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -10896,10 +14365,18 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ExecutionPayload == nil { - m.ExecutionPayload = v1.ExecutionPayloadFromVTPool() + m.ExecutionPayload = v1.ExecutionPayloadV2FromVTPool() } - if err := m.ExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayload); err != nil { + return err + } } iNdEx = postIndex default: @@ -10924,7 +14401,7 @@ func (m *BeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { +func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10947,10 +14424,10 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBodyBellatrixV2: wiretype end group for non-group") + return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrix: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBodyBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11017,8 +14494,16 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -11090,8 +14575,16 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -11131,8 +14624,16 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -11172,8 +14673,16 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -11213,8 +14722,16 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -11254,8 +14771,16 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -11290,13 +14815,21 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayload", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayloadHeader", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11323,11 +14856,19 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ExecutionPayload == nil { - m.ExecutionPayload = v1.ExecutionPayloadV2FromVTPool() + if m.ExecutionPayloadHeader == nil { + m.ExecutionPayloadHeader = v1.ExecutionPayloadHeaderFromVTPool() } - if err := m.ExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayloadHeader).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayloadHeader); err != nil { + return err + } } iNdEx = postIndex default: @@ -11352,7 +14893,7 @@ func (m *BeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { +func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11375,10 +14916,10 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrix: wiretype end group for non-group") + return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrixV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrix: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11445,8 +14986,16 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -11518,8 +15067,16 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -11559,8 +15116,16 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -11600,8 +15165,16 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -11641,8 +15214,16 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -11682,8 +15263,16 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -11718,8 +15307,16 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -11752,10 +15349,18 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ExecutionPayloadHeader == nil { - m.ExecutionPayloadHeader = v1.ExecutionPayloadHeaderFromVTPool() + m.ExecutionPayloadHeader = v1.ExecutionPayloadHeaderV2FromVTPool() } - if err := m.ExecutionPayloadHeader.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayloadHeader).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayloadHeader); err != nil { + return err + } } iNdEx = postIndex default: @@ -11780,7 +15385,7 @@ func (m *BlindedBeaconBlockBodyBellatrix) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11803,10 +15408,10 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrixV2: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyCapella: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BlindedBeaconBlockBodyBellatrixV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyCapella: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11873,8 +15478,16 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -11946,9 +15559,17 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } + } iNdEx = postIndex case 5: if wireType != 2 { @@ -11987,8 +15608,16 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -12028,8 +15657,16 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -12069,8 +15706,16 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -12110,8 +15755,16 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -12146,13 +15799,21 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayloadHeader", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayload", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12179,10 +15840,59 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ExecutionPayloadHeader == nil { - m.ExecutionPayloadHeader = v1.ExecutionPayloadHeaderV2FromVTPool() + if m.ExecutionPayload == nil { + m.ExecutionPayload = v1.ExecutionPayloadCapellaFromVTPool() + } + if unmarshal, ok := interface{}(m.ExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayload); err != nil { + return err + } + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlsToExecutionChanges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.BlsToExecutionChanges) == cap(m.BlsToExecutionChanges) { + m.BlsToExecutionChanges = append(m.BlsToExecutionChanges, &SignedBLSToExecutionChange{}) + } else { + m.BlsToExecutionChanges = m.BlsToExecutionChanges[:len(m.BlsToExecutionChanges)+1] + if m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1] == nil { + m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1] = &SignedBLSToExecutionChange{} + } } - if err := m.ExecutionPayloadHeader.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12208,7 +15918,7 @@ func (m *BlindedBeaconBlockBodyBellatrixV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12231,10 +15941,10 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBodyCapella: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyCapellaV2: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBodyCapella: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12301,8 +16011,16 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -12374,8 +16092,16 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -12415,8 +16141,16 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -12456,8 +16190,16 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -12497,8 +16239,16 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -12538,8 +16288,16 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -12574,8 +16332,16 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -12608,10 +16374,18 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ExecutionPayload == nil { - m.ExecutionPayload = v1.ExecutionPayloadCapellaFromVTPool() + m.ExecutionPayload = v1.ExecutionPayloadCapellaV2FromVTPool() } - if err := m.ExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayload); err != nil { + return err + } } iNdEx = postIndex case 11: @@ -12677,7 +16451,7 @@ func (m *BeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12700,10 +16474,10 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBodyCapellaV2: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyDeneb: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBodyCapellaV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyDeneb: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12770,8 +16544,16 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -12843,8 +16625,16 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -12884,8 +16674,16 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -12925,8 +16723,16 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -12966,8 +16772,16 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -13007,8 +16821,16 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -13043,8 +16865,16 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -13077,10 +16907,18 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ExecutionPayload == nil { - m.ExecutionPayload = v1.ExecutionPayloadCapellaV2FromVTPool() + m.ExecutionPayload = v1.ExecutionPayloadDenebFromVTPool() } - if err := m.ExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayload); err != nil { + return err + } } iNdEx = postIndex case 11: @@ -13124,6 +16962,38 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobKzgCommitments", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlobKzgCommitments = append(m.BlobKzgCommitments, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -13146,7 +17016,7 @@ func (m *BeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13169,10 +17039,10 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBodyDeneb: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyElectra: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBodyDeneb: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyElectra: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13239,8 +17109,16 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -13312,8 +17190,16 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -13353,8 +17239,16 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -13394,8 +17288,16 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -13435,8 +17337,16 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -13476,8 +17386,16 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -13512,8 +17430,16 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -13546,10 +17472,18 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ExecutionPayload == nil { - m.ExecutionPayload = v1.ExecutionPayloadDenebFromVTPool() + m.ExecutionPayload = v1.ExecutionPayloadElectraFromVTPool() } - if err := m.ExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayload); err != nil { + return err + } } iNdEx = postIndex case 11: @@ -13607,23 +17541,67 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlobKzgCommitments = append(m.BlobKzgCommitments, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionRequests", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobKzgCommitments = append(m.BlobKzgCommitments, string(dAtA[iNdEx:postIndex])) + if m.ExecutionRequests == nil { + m.ExecutionRequests = v1.ElectraExecutionRequestsFromVTPool() + } + if unmarshal, ok := interface{}(m.ExecutionRequests).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionRequests); err != nil { + return err + } + } iNdEx = postIndex default: iNdEx = preIndex @@ -13647,7 +17625,7 @@ func (m *BeaconBlockBodyDeneb) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13670,10 +17648,10 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBodyElectra: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyFulu: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBodyElectra: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyFulu: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13740,8 +17718,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -13813,8 +17799,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -13854,8 +17848,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -13895,8 +17897,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -13936,8 +17946,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -13977,8 +17995,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -14013,8 +18039,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -14049,8 +18083,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { if m.ExecutionPayload == nil { m.ExecutionPayload = v1.ExecutionPayloadElectraFromVTPool() } - if err := m.ExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayload); err != nil { + return err + } } iNdEx = postIndex case 11: @@ -14158,8 +18200,16 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { if m.ExecutionRequests == nil { m.ExecutionRequests = v1.ElectraExecutionRequestsFromVTPool() } - if err := m.ExecutionRequests.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionRequests).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionRequests); err != nil { + return err + } } iNdEx = postIndex default: @@ -14184,7 +18234,7 @@ func (m *BeaconBlockBodyElectra) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { +func (m *BeaconBlockBodyGloas) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14207,10 +18257,10 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlockBodyFulu: wiretype end group for non-group") + return fmt.Errorf("proto: BeaconBlockBodyGloas: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlockBodyFulu: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BeaconBlockBodyGloas: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14277,8 +18327,16 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -14350,8 +18408,16 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -14391,8 +18457,16 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -14432,8 +18506,16 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -14473,8 +18555,16 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -14514,8 +18604,16 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -14550,13 +18648,21 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayload", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlsToExecutionChanges", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14583,16 +18689,21 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ExecutionPayload == nil { - m.ExecutionPayload = v1.ExecutionPayloadElectraFromVTPool() + if len(m.BlsToExecutionChanges) == cap(m.BlsToExecutionChanges) { + m.BlsToExecutionChanges = append(m.BlsToExecutionChanges, &SignedBLSToExecutionChange{}) + } else { + m.BlsToExecutionChanges = m.BlsToExecutionChanges[:len(m.BlsToExecutionChanges)+1] + if m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1] == nil { + m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1] = &SignedBLSToExecutionChange{} + } } - if err := m.ExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlsToExecutionChanges", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SignedExecutionPayloadBid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14619,23 +18730,26 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.BlsToExecutionChanges) == cap(m.BlsToExecutionChanges) { - m.BlsToExecutionChanges = append(m.BlsToExecutionChanges, &SignedBLSToExecutionChange{}) + if m.SignedExecutionPayloadBid == nil { + m.SignedExecutionPayloadBid = v1.SignedExecutionPayloadBidFromVTPool() + } + if unmarshal, ok := interface{}(m.SignedExecutionPayloadBid).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } } else { - m.BlsToExecutionChanges = m.BlsToExecutionChanges[:len(m.BlsToExecutionChanges)+1] - if m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1] == nil { - m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1] = &SignedBLSToExecutionChange{} + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SignedExecutionPayloadBid); err != nil { + return err } } - if err := m.BlsToExecutionChanges[len(m.BlsToExecutionChanges)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } iNdEx = postIndex case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobKzgCommitments", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PayloadAttestations", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14645,27 +18759,44 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobKzgCommitments = append(m.BlobKzgCommitments, string(dAtA[iNdEx:postIndex])) + if len(m.PayloadAttestations) == cap(m.PayloadAttestations) { + m.PayloadAttestations = append(m.PayloadAttestations, &v1.PayloadAttestation{}) + } else { + m.PayloadAttestations = m.PayloadAttestations[:len(m.PayloadAttestations)+1] + if m.PayloadAttestations[len(m.PayloadAttestations)-1] == nil { + m.PayloadAttestations[len(m.PayloadAttestations)-1] = &v1.PayloadAttestation{} + } + } + if unmarshal, ok := interface{}(m.PayloadAttestations[len(m.PayloadAttestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.PayloadAttestations[len(m.PayloadAttestations)-1]); err != nil { + return err + } + } iNdEx = postIndex case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionRequests", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ParentExecutionRequests", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14692,11 +18823,19 @@ func (m *BeaconBlockBodyFulu) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ExecutionRequests == nil { - m.ExecutionRequests = v1.ElectraExecutionRequestsFromVTPool() + if m.ParentExecutionRequests == nil { + m.ParentExecutionRequests = v1.ElectraExecutionRequestsFromVTPool() } - if err := m.ExecutionRequests.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ParentExecutionRequests).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ParentExecutionRequests); err != nil { + return err + } } iNdEx = postIndex default: @@ -14814,8 +18953,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -14887,8 +19034,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -14928,8 +19083,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -14969,8 +19132,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -15010,8 +19181,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -15051,8 +19230,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -15087,8 +19274,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -15123,8 +19318,16 @@ func (m *BlindedBeaconBlockBodyCapella) UnmarshalVT(dAtA []byte) error { if m.ExecutionPayloadHeader == nil { m.ExecutionPayloadHeader = v1.ExecutionPayloadHeaderCapellaFromVTPool() } - if err := m.ExecutionPayloadHeader.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayloadHeader).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayloadHeader); err != nil { + return err + } } iNdEx = postIndex case 11: @@ -15283,8 +19486,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -15356,8 +19567,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -15397,8 +19616,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -15438,8 +19665,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -15479,8 +19714,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -15520,8 +19763,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -15556,8 +19807,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex case 10: @@ -15592,8 +19851,16 @@ func (m *BlindedBeaconBlockBodyCapellaV2) UnmarshalVT(dAtA []byte) error { if m.ExecutionPayloadHeader == nil { m.ExecutionPayloadHeader = v1.ExecutionPayloadHeaderCapellaV2FromVTPool() } - if err := m.ExecutionPayloadHeader.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ExecutionPayloadHeader).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExecutionPayloadHeader); err != nil { + return err + } } iNdEx = postIndex case 11: @@ -15752,8 +20019,16 @@ func (m *BeaconBlockBodyAltair) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -15825,8 +20100,16 @@ func (m *BeaconBlockBodyAltair) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -15866,8 +20149,16 @@ func (m *BeaconBlockBodyAltair) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -15907,8 +20198,16 @@ func (m *BeaconBlockBodyAltair) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -15948,8 +20247,16 @@ func (m *BeaconBlockBodyAltair) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -15989,8 +20296,16 @@ func (m *BeaconBlockBodyAltair) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -16025,8 +20340,16 @@ func (m *BeaconBlockBodyAltair) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex default: @@ -16144,8 +20467,16 @@ func (m *BeaconBlockBodyAltairV2) UnmarshalVT(dAtA []byte) error { if m.Eth1Data == nil { m.Eth1Data = v1.Eth1DataFromVTPool() } - if err := m.Eth1Data.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Eth1Data).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Eth1Data); err != nil { + return err + } } iNdEx = postIndex case 3: @@ -16217,8 +20548,16 @@ func (m *BeaconBlockBodyAltairV2) UnmarshalVT(dAtA []byte) error { m.ProposerSlashings[len(m.ProposerSlashings)-1] = &v1.ProposerSlashing{} } } - if err := m.ProposerSlashings[len(m.ProposerSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ProposerSlashings[len(m.ProposerSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ProposerSlashings[len(m.ProposerSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 5: @@ -16258,8 +20597,16 @@ func (m *BeaconBlockBodyAltairV2) UnmarshalVT(dAtA []byte) error { m.AttesterSlashings[len(m.AttesterSlashings)-1] = &v1.AttesterSlashing{} } } - if err := m.AttesterSlashings[len(m.AttesterSlashings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.AttesterSlashings[len(m.AttesterSlashings)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.AttesterSlashings[len(m.AttesterSlashings)-1]); err != nil { + return err + } } iNdEx = postIndex case 6: @@ -16299,8 +20646,16 @@ func (m *BeaconBlockBodyAltairV2) UnmarshalVT(dAtA []byte) error { m.Attestations[len(m.Attestations)-1] = &v1.Attestation{} } } - if err := m.Attestations[len(m.Attestations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Attestations[len(m.Attestations)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Attestations[len(m.Attestations)-1]); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -16340,8 +20695,16 @@ func (m *BeaconBlockBodyAltairV2) UnmarshalVT(dAtA []byte) error { m.Deposits[len(m.Deposits)-1] = &v1.Deposit{} } } - if err := m.Deposits[len(m.Deposits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Deposits[len(m.Deposits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Deposits[len(m.Deposits)-1]); err != nil { + return err + } } iNdEx = postIndex case 8: @@ -16381,8 +20744,16 @@ func (m *BeaconBlockBodyAltairV2) UnmarshalVT(dAtA []byte) error { m.VoluntaryExits[len(m.VoluntaryExits)-1] = &v1.SignedVoluntaryExit{} } } - if err := m.VoluntaryExits[len(m.VoluntaryExits)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.VoluntaryExits[len(m.VoluntaryExits)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.VoluntaryExits[len(m.VoluntaryExits)-1]); err != nil { + return err + } } iNdEx = postIndex case 9: @@ -16417,8 +20788,16 @@ func (m *BeaconBlockBodyAltairV2) UnmarshalVT(dAtA []byte) error { if m.SyncAggregate == nil { m.SyncAggregate = v1.SyncAggregateFromVTPool() } - if err := m.SyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.SyncAggregate).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncAggregate); err != nil { + return err + } } iNdEx = postIndex default: diff --git a/pkg/proto/eth/v2/events.pb.go b/pkg/proto/eth/v2/events.pb.go index f8dc16df..a61bdaac 100644 --- a/pkg/proto/eth/v2/events.pb.go +++ b/pkg/proto/eth/v2/events.pb.go @@ -35,6 +35,7 @@ const ( BlockVersion_DENEB BlockVersion = 5 BlockVersion_ELECTRA BlockVersion = 6 BlockVersion_FULU BlockVersion = 7 + BlockVersion_GLOAS BlockVersion = 8 ) // Enum value maps for BlockVersion. @@ -48,6 +49,7 @@ var ( 5: "DENEB", 6: "ELECTRA", 7: "FULU", + 8: "GLOAS", } BlockVersion_value = map[string]int32{ "UNKNOWN": 0, @@ -58,6 +60,7 @@ var ( "DENEB": 5, "ELECTRA": 6, "FULU": 7, + "GLOAS": 8, } ) @@ -102,6 +105,7 @@ type EventBlock struct { // *EventBlock_DenebBlock // *EventBlock_ElectraBlock // *EventBlock_FuluBlock + // *EventBlock_GloasBlock Message isEventBlock_Message `protobuf_oneof:"message"` Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` Version BlockVersion `protobuf:"varint,6,opt,name=version,proto3,enum=xatu.eth.v2.BlockVersion" json:"version,omitempty"` @@ -195,6 +199,13 @@ func (x *EventBlock) GetFuluBlock() *BeaconBlockFulu { return nil } +func (x *EventBlock) GetGloasBlock() *BeaconBlockGloas { + if x, ok := x.GetMessage().(*EventBlock_GloasBlock); ok { + return x.GloasBlock + } + return nil +} + func (x *EventBlock) GetSignature() string { if x != nil { return x.Signature @@ -241,6 +252,10 @@ type EventBlock_FuluBlock struct { FuluBlock *BeaconBlockFulu `protobuf:"bytes,9,opt,name=fulu_block,json=FULU,proto3,oneof"` } +type EventBlock_GloasBlock struct { + GloasBlock *BeaconBlockGloas `protobuf:"bytes,10,opt,name=gloas_block,json=GLOAS,proto3,oneof"` +} + func (*EventBlock_Phase0Block) isEventBlock_Message() {} func (*EventBlock_AltairBlock) isEventBlock_Message() {} @@ -255,6 +270,8 @@ func (*EventBlock_ElectraBlock) isEventBlock_Message() {} func (*EventBlock_FuluBlock) isEventBlock_Message() {} +func (*EventBlock_GloasBlock) isEventBlock_Message() {} + type EventBlockV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -269,6 +286,7 @@ type EventBlockV2 struct { // *EventBlockV2_DenebBlock // *EventBlockV2_ElectraBlock // *EventBlockV2_FuluBlock + // *EventBlockV2_GloasBlock Message isEventBlockV2_Message `protobuf_oneof:"message"` Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"` Version BlockVersion `protobuf:"varint,6,opt,name=version,proto3,enum=xatu.eth.v2.BlockVersion" json:"version,omitempty"` @@ -362,6 +380,13 @@ func (x *EventBlockV2) GetFuluBlock() *BeaconBlockFulu { return nil } +func (x *EventBlockV2) GetGloasBlock() *BeaconBlockGloas { + if x, ok := x.GetMessage().(*EventBlockV2_GloasBlock); ok { + return x.GloasBlock + } + return nil +} + func (x *EventBlockV2) GetSignature() string { if x != nil { return x.Signature @@ -408,6 +433,10 @@ type EventBlockV2_FuluBlock struct { FuluBlock *BeaconBlockFulu `protobuf:"bytes,9,opt,name=fulu_block,json=FULU,proto3,oneof"` } +type EventBlockV2_GloasBlock struct { + GloasBlock *BeaconBlockGloas `protobuf:"bytes,10,opt,name=gloas_block,json=GLOAS,proto3,oneof"` +} + func (*EventBlockV2_Phase0Block) isEventBlockV2_Message() {} func (*EventBlockV2_AltairBlock) isEventBlockV2_Message() {} @@ -422,6 +451,8 @@ func (*EventBlockV2_ElectraBlock) isEventBlockV2_Message() {} func (*EventBlockV2_FuluBlock) isEventBlockV2_Message() {} +func (*EventBlockV2_GloasBlock) isEventBlockV2_Message() {} + var File_pkg_proto_eth_v2_events_proto protoreflect.FileDescriptor var file_pkg_proto_eth_v2_events_proto_rawDesc = []byte{ @@ -434,7 +465,7 @@ var file_pkg_proto_eth_v2_events_proto_rawDesc = []byte{ 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x04, 0x0a, 0x0a, 0x45, 0x76, 0x65, + 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x04, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x38, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x30, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, @@ -463,59 +494,67 @@ var file_pkg_proto_eth_v2_events_proto_rawDesc = []byte{ 0x0a, 0x66, 0x75, 0x6c, 0x75, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x75, 0x48, - 0x00, 0x52, 0x04, 0x46, 0x55, 0x4c, 0x55, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb4, 0x04, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x30, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x06, 0x50, 0x48, 0x41, 0x53, - 0x45, 0x30, 0x12, 0x40, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x41, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, 0x06, 0x41, 0x4c, - 0x54, 0x41, 0x49, 0x52, 0x12, 0x49, 0x0a, 0x0f, 0x62, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, - 0x56, 0x32, 0x48, 0x00, 0x52, 0x09, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x52, 0x49, 0x58, 0x12, - 0x43, 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x00, 0x52, 0x04, 0x46, 0x55, 0x4c, 0x55, 0x12, 0x3b, 0x0a, 0x0b, 0x67, 0x6c, 0x6f, 0x61, 0x73, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6c, 0x6f, 0x61, 0x73, 0x48, 0x00, 0x52, 0x05, 0x47, + 0x4c, 0x4f, 0x41, 0x53, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0xf1, 0x04, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x56, 0x32, 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x30, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x06, 0x50, 0x48, 0x41, 0x53, 0x45, 0x30, 0x12, + 0x40, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x61, 0x69, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x6c, 0x74, 0x61, 0x69, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, 0x06, 0x41, 0x4c, 0x54, 0x41, 0x49, + 0x52, 0x12, 0x49, 0x0a, 0x0f, 0x62, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x72, 0x69, 0x78, 0x56, 0x32, 0x48, + 0x00, 0x52, 0x09, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x52, 0x49, 0x58, 0x12, 0x43, 0x0a, 0x0d, + 0x63, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x70, + 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x48, 0x00, 0x52, 0x07, 0x43, 0x41, 0x50, 0x45, 0x4c, 0x4c, + 0x41, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x65, 0x62, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x43, 0x61, 0x70, 0x65, 0x6c, 0x6c, 0x61, 0x56, 0x32, 0x48, 0x00, 0x52, 0x07, 0x43, 0x41, 0x50, - 0x45, 0x4c, 0x4c, 0x41, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6e, 0x65, 0x62, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6e, 0x65, 0x62, 0x48, 0x00, 0x52, 0x05, 0x44, 0x45, 0x4e, 0x45, - 0x42, 0x12, 0x41, 0x0a, 0x0d, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x48, 0x00, 0x52, 0x07, 0x45, 0x4c, 0x45, - 0x43, 0x54, 0x52, 0x41, 0x12, 0x38, 0x0a, 0x0a, 0x66, 0x75, 0x6c, 0x75, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x46, 0x75, 0x6c, 0x75, 0x48, 0x00, 0x52, 0x04, 0x46, 0x55, 0x4c, 0x55, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x71, 0x0a, 0x0c, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x41, - 0x53, 0x45, 0x30, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x54, 0x41, 0x49, 0x52, 0x10, - 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x52, 0x49, 0x58, 0x10, 0x03, - 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x41, 0x50, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x04, 0x12, 0x09, 0x0a, - 0x05, 0x44, 0x45, 0x4e, 0x45, 0x42, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4c, 0x45, 0x43, - 0x54, 0x52, 0x41, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x55, 0x10, 0x07, 0x42, - 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, - 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x44, 0x65, 0x6e, 0x65, 0x62, 0x48, 0x00, 0x52, 0x05, 0x44, 0x45, 0x4e, 0x45, 0x42, 0x12, 0x41, + 0x0a, 0x0d, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, + 0x6c, 0x65, 0x63, 0x74, 0x72, 0x61, 0x48, 0x00, 0x52, 0x07, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x52, + 0x41, 0x12, 0x38, 0x0a, 0x0a, 0x66, 0x75, 0x6c, 0x75, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, + 0x75, 0x6c, 0x75, 0x48, 0x00, 0x52, 0x04, 0x46, 0x55, 0x4c, 0x55, 0x12, 0x3b, 0x0a, 0x0b, 0x67, + 0x6c, 0x6f, 0x61, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6c, 0x6f, 0x61, 0x73, 0x48, + 0x00, 0x52, 0x05, 0x47, 0x4c, 0x4f, 0x41, 0x53, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x7c, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x41, 0x53, 0x45, 0x30, 0x10, 0x01, 0x12, + 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x54, 0x41, 0x49, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x42, + 0x45, 0x4c, 0x4c, 0x41, 0x54, 0x52, 0x49, 0x58, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x41, + 0x50, 0x45, 0x4c, 0x4c, 0x41, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4e, 0x45, 0x42, + 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x52, 0x41, 0x10, 0x06, 0x12, + 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x55, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x4c, 0x4f, + 0x41, 0x53, 0x10, 0x08, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, + 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, + 0x68, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -543,10 +582,11 @@ var file_pkg_proto_eth_v2_events_proto_goTypes = []any{ (*BeaconBlockDeneb)(nil), // 7: xatu.eth.v2.BeaconBlockDeneb (*BeaconBlockElectra)(nil), // 8: xatu.eth.v2.BeaconBlockElectra (*BeaconBlockFulu)(nil), // 9: xatu.eth.v2.BeaconBlockFulu - (*v1.BeaconBlockV2)(nil), // 10: xatu.eth.v1.BeaconBlockV2 - (*BeaconBlockAltairV2)(nil), // 11: xatu.eth.v2.BeaconBlockAltairV2 - (*BeaconBlockBellatrixV2)(nil), // 12: xatu.eth.v2.BeaconBlockBellatrixV2 - (*BeaconBlockCapellaV2)(nil), // 13: xatu.eth.v2.BeaconBlockCapellaV2 + (*BeaconBlockGloas)(nil), // 10: xatu.eth.v2.BeaconBlockGloas + (*v1.BeaconBlockV2)(nil), // 11: xatu.eth.v1.BeaconBlockV2 + (*BeaconBlockAltairV2)(nil), // 12: xatu.eth.v2.BeaconBlockAltairV2 + (*BeaconBlockBellatrixV2)(nil), // 13: xatu.eth.v2.BeaconBlockBellatrixV2 + (*BeaconBlockCapellaV2)(nil), // 14: xatu.eth.v2.BeaconBlockCapellaV2 } var file_pkg_proto_eth_v2_events_proto_depIdxs = []int32{ 3, // 0: xatu.eth.v2.EventBlock.phase0_block:type_name -> xatu.eth.v1.BeaconBlock @@ -556,20 +596,22 @@ var file_pkg_proto_eth_v2_events_proto_depIdxs = []int32{ 7, // 4: xatu.eth.v2.EventBlock.deneb_block:type_name -> xatu.eth.v2.BeaconBlockDeneb 8, // 5: xatu.eth.v2.EventBlock.electra_block:type_name -> xatu.eth.v2.BeaconBlockElectra 9, // 6: xatu.eth.v2.EventBlock.fulu_block:type_name -> xatu.eth.v2.BeaconBlockFulu - 0, // 7: xatu.eth.v2.EventBlock.version:type_name -> xatu.eth.v2.BlockVersion - 10, // 8: xatu.eth.v2.EventBlockV2.phase0_block:type_name -> xatu.eth.v1.BeaconBlockV2 - 11, // 9: xatu.eth.v2.EventBlockV2.altair_block:type_name -> xatu.eth.v2.BeaconBlockAltairV2 - 12, // 10: xatu.eth.v2.EventBlockV2.bellatrix_block:type_name -> xatu.eth.v2.BeaconBlockBellatrixV2 - 13, // 11: xatu.eth.v2.EventBlockV2.capella_block:type_name -> xatu.eth.v2.BeaconBlockCapellaV2 - 7, // 12: xatu.eth.v2.EventBlockV2.deneb_block:type_name -> xatu.eth.v2.BeaconBlockDeneb - 8, // 13: xatu.eth.v2.EventBlockV2.electra_block:type_name -> xatu.eth.v2.BeaconBlockElectra - 9, // 14: xatu.eth.v2.EventBlockV2.fulu_block:type_name -> xatu.eth.v2.BeaconBlockFulu - 0, // 15: xatu.eth.v2.EventBlockV2.version:type_name -> xatu.eth.v2.BlockVersion - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 10, // 7: xatu.eth.v2.EventBlock.gloas_block:type_name -> xatu.eth.v2.BeaconBlockGloas + 0, // 8: xatu.eth.v2.EventBlock.version:type_name -> xatu.eth.v2.BlockVersion + 11, // 9: xatu.eth.v2.EventBlockV2.phase0_block:type_name -> xatu.eth.v1.BeaconBlockV2 + 12, // 10: xatu.eth.v2.EventBlockV2.altair_block:type_name -> xatu.eth.v2.BeaconBlockAltairV2 + 13, // 11: xatu.eth.v2.EventBlockV2.bellatrix_block:type_name -> xatu.eth.v2.BeaconBlockBellatrixV2 + 14, // 12: xatu.eth.v2.EventBlockV2.capella_block:type_name -> xatu.eth.v2.BeaconBlockCapellaV2 + 7, // 13: xatu.eth.v2.EventBlockV2.deneb_block:type_name -> xatu.eth.v2.BeaconBlockDeneb + 8, // 14: xatu.eth.v2.EventBlockV2.electra_block:type_name -> xatu.eth.v2.BeaconBlockElectra + 9, // 15: xatu.eth.v2.EventBlockV2.fulu_block:type_name -> xatu.eth.v2.BeaconBlockFulu + 10, // 16: xatu.eth.v2.EventBlockV2.gloas_block:type_name -> xatu.eth.v2.BeaconBlockGloas + 0, // 17: xatu.eth.v2.EventBlockV2.version:type_name -> xatu.eth.v2.BlockVersion + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_pkg_proto_eth_v2_events_proto_init() } @@ -612,6 +654,7 @@ func file_pkg_proto_eth_v2_events_proto_init() { (*EventBlock_DenebBlock)(nil), (*EventBlock_ElectraBlock)(nil), (*EventBlock_FuluBlock)(nil), + (*EventBlock_GloasBlock)(nil), } file_pkg_proto_eth_v2_events_proto_msgTypes[1].OneofWrappers = []any{ (*EventBlockV2_Phase0Block)(nil), @@ -621,6 +664,7 @@ func file_pkg_proto_eth_v2_events_proto_init() { (*EventBlockV2_DenebBlock)(nil), (*EventBlockV2_ElectraBlock)(nil), (*EventBlockV2_FuluBlock)(nil), + (*EventBlockV2_GloasBlock)(nil), } type x struct{} out := protoimpl.TypeBuilder{ diff --git a/pkg/proto/eth/v2/events.proto b/pkg/proto/eth/v2/events.proto index 15189b42..d6ed435e 100644 --- a/pkg/proto/eth/v2/events.proto +++ b/pkg/proto/eth/v2/events.proto @@ -24,6 +24,8 @@ enum BlockVersion { ELECTRA = 6; FULU = 7; + + GLOAS = 8; } message EventBlock { @@ -41,6 +43,8 @@ message EventBlock { v2.BeaconBlockElectra electra_block = 8 [ json_name = "ELECTRA" ]; v2.BeaconBlockFulu fulu_block = 9 [ json_name = "FULU" ]; + + v2.BeaconBlockGloas gloas_block = 10 [ json_name = "GLOAS" ]; } string signature = 5; @@ -62,7 +66,9 @@ message EventBlockV2 { v2.BeaconBlockElectra electra_block = 8 [ json_name = "ELECTRA" ]; - v2.BeaconBlockFulu fulu_block = 9 [ json_name = "FULU" ]; + v2.BeaconBlockFulu fulu_block = 9 [ json_name = "FULU" ]; + + v2.BeaconBlockGloas gloas_block = 10 [ json_name = "GLOAS" ]; } string signature = 5; diff --git a/pkg/proto/eth/v2/events_vtproto.pb.go b/pkg/proto/eth/v2/events_vtproto.pb.go index 388d95d9..5424a81d 100644 --- a/pkg/proto/eth/v2/events_vtproto.pb.go +++ b/pkg/proto/eth/v2/events_vtproto.pb.go @@ -10,6 +10,7 @@ import ( sync "sync" protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl" v1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" @@ -84,12 +85,24 @@ func (m *EventBlock_Phase0Block) MarshalToVT(dAtA []byte) (int, error) { func (m *EventBlock_Phase0Block) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Phase0Block != nil { - size, err := m.Phase0Block.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Phase0Block).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Phase0Block) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -209,6 +222,25 @@ func (m *EventBlock_FuluBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error) } return len(dAtA) - i, nil } +func (m *EventBlock_GloasBlock) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *EventBlock_GloasBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GloasBlock != nil { + size, err := m.GloasBlock.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + return len(dAtA) - i, nil +} func (m *EventBlockV2) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -271,12 +303,24 @@ func (m *EventBlockV2_Phase0Block) MarshalToVT(dAtA []byte) (int, error) { func (m *EventBlockV2_Phase0Block) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Phase0Block != nil { - size, err := m.Phase0Block.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Phase0Block).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Phase0Block) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -396,6 +440,25 @@ func (m *EventBlockV2_FuluBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error } return len(dAtA) - i, nil } +func (m *EventBlockV2_GloasBlock) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *EventBlockV2_GloasBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GloasBlock != nil { + size, err := m.GloasBlock.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + return len(dAtA) - i, nil +} var vtprotoPool_EventBlock = sync.Pool{ New: func() interface{} { @@ -426,6 +489,9 @@ func (m *EventBlock) ResetVT() { if oneof, ok := m.Message.(*EventBlock_FuluBlock); ok { oneof.FuluBlock.ReturnToVTPool() } + if oneof, ok := m.Message.(*EventBlock_GloasBlock); ok { + oneof.GloasBlock.ReturnToVTPool() + } m.Reset() } } @@ -468,6 +534,9 @@ func (m *EventBlockV2) ResetVT() { if oneof, ok := m.Message.(*EventBlockV2_FuluBlock); ok { oneof.FuluBlock.ReturnToVTPool() } + if oneof, ok := m.Message.(*EventBlockV2_GloasBlock); ok { + oneof.GloasBlock.ReturnToVTPool() + } m.Reset() } } @@ -507,7 +576,13 @@ func (m *EventBlock_Phase0Block) SizeVT() (n int) { var l int _ = l if m.Phase0Block != nil { - l = m.Phase0Block.SizeVT() + if size, ok := interface{}(m.Phase0Block).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Phase0Block) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n @@ -584,6 +659,18 @@ func (m *EventBlock_FuluBlock) SizeVT() (n int) { } return n } +func (m *EventBlock_GloasBlock) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GloasBlock != nil { + l = m.GloasBlock.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} func (m *EventBlockV2) SizeVT() (n int) { if m == nil { return 0 @@ -611,7 +698,13 @@ func (m *EventBlockV2_Phase0Block) SizeVT() (n int) { var l int _ = l if m.Phase0Block != nil { - l = m.Phase0Block.SizeVT() + if size, ok := interface{}(m.Phase0Block).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Phase0Block) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n @@ -688,6 +781,18 @@ func (m *EventBlockV2_FuluBlock) SizeVT() (n int) { } return n } +func (m *EventBlockV2_GloasBlock) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GloasBlock != nil { + l = m.GloasBlock.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} func (m *EventBlock) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -747,13 +852,29 @@ func (m *EventBlock) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if oneof, ok := m.Message.(*EventBlock_Phase0Block); ok { - if err := oneof.Phase0Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(oneof.Phase0Block).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Phase0Block); err != nil { + return err + } } } else { v := v1.BeaconBlockFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } m.Message = &EventBlock_Phase0Block{Phase0Block: v} } @@ -1055,6 +1176,47 @@ func (m *EventBlock) UnmarshalVT(dAtA []byte) error { m.Message = &EventBlock_FuluBlock{FuluBlock: v} } iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GloasBlock", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Message.(*EventBlock_GloasBlock); ok { + if err := oneof.GloasBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := BeaconBlockGloasFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Message = &EventBlock_GloasBlock{GloasBlock: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -1136,13 +1298,29 @@ func (m *EventBlockV2) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if oneof, ok := m.Message.(*EventBlockV2_Phase0Block); ok { - if err := oneof.Phase0Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(oneof.Phase0Block).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Phase0Block); err != nil { + return err + } } } else { v := v1.BeaconBlockV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } m.Message = &EventBlockV2_Phase0Block{Phase0Block: v} } @@ -1444,6 +1622,47 @@ func (m *EventBlockV2) UnmarshalVT(dAtA []byte) error { m.Message = &EventBlockV2_FuluBlock{FuluBlock: v} } iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GloasBlock", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Message.(*EventBlockV2_GloasBlock); ok { + if err := oneof.GloasBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := BeaconBlockGloasFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Message = &EventBlockV2_GloasBlock{GloasBlock: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/pkg/proto/libp2p/gossipsub/eth.pb.go b/pkg/proto/libp2p/gossipsub/eth.pb.go index 835ee298..9d9ef045 100644 --- a/pkg/proto/libp2p/gossipsub/eth.pb.go +++ b/pkg/proto/libp2p/gossipsub/eth.pb.go @@ -267,6 +267,354 @@ func (x *DataColumnSidecar) GetBlockRoot() *wrapperspb.StringValue { return nil } +// ExecutionPayloadEnvelope is a summary of a SignedExecutionPayloadEnvelope +// received on the execution_payload gossipsub topic. +type ExecutionPayloadEnvelope struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + BuilderIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=builder_index,proto3" json:"builder_index,omitempty"` + BeaconBlockRoot *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` + BlockHash *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + StateRoot *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=state_root,proto3" json:"state_root,omitempty"` +} + +func (x *ExecutionPayloadEnvelope) Reset() { + *x = ExecutionPayloadEnvelope{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadEnvelope) ProtoMessage() {} + +func (x *ExecutionPayloadEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadEnvelope.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadEnvelope) Descriptor() ([]byte, []int) { + return file_pkg_proto_libp2p_gossipsub_eth_proto_rawDescGZIP(), []int{3} +} + +func (x *ExecutionPayloadEnvelope) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ExecutionPayloadEnvelope) GetBuilderIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.BuilderIndex + } + return nil +} + +func (x *ExecutionPayloadEnvelope) GetBeaconBlockRoot() *wrapperspb.StringValue { + if x != nil { + return x.BeaconBlockRoot + } + return nil +} + +func (x *ExecutionPayloadEnvelope) GetBlockHash() *wrapperspb.StringValue { + if x != nil { + return x.BlockHash + } + return nil +} + +func (x *ExecutionPayloadEnvelope) GetStateRoot() *wrapperspb.StringValue { + if x != nil { + return x.StateRoot + } + return nil +} + +// ExecutionPayloadBid is a summary of a SignedExecutionPayloadBid +// received on the execution_payload_bid gossipsub topic. +type ExecutionPayloadBid struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + BuilderIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=builder_index,proto3" json:"builder_index,omitempty"` + BlockHash *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=block_hash,proto3" json:"block_hash,omitempty"` + ParentBlockHash *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=parent_block_hash,proto3" json:"parent_block_hash,omitempty"` + Value *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` + ExecutionPayment *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=execution_payment,proto3" json:"execution_payment,omitempty"` + FeeRecipient *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` + BlobKzgCommitmentCount *wrapperspb.UInt32Value `protobuf:"bytes,9,opt,name=blob_kzg_commitment_count,proto3" json:"blob_kzg_commitment_count,omitempty"` +} + +func (x *ExecutionPayloadBid) Reset() { + *x = ExecutionPayloadBid{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionPayloadBid) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionPayloadBid) ProtoMessage() {} + +func (x *ExecutionPayloadBid) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionPayloadBid.ProtoReflect.Descriptor instead. +func (*ExecutionPayloadBid) Descriptor() ([]byte, []int) { + return file_pkg_proto_libp2p_gossipsub_eth_proto_rawDescGZIP(), []int{4} +} + +func (x *ExecutionPayloadBid) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ExecutionPayloadBid) GetBuilderIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.BuilderIndex + } + return nil +} + +func (x *ExecutionPayloadBid) GetBlockHash() *wrapperspb.StringValue { + if x != nil { + return x.BlockHash + } + return nil +} + +func (x *ExecutionPayloadBid) GetParentBlockHash() *wrapperspb.StringValue { + if x != nil { + return x.ParentBlockHash + } + return nil +} + +func (x *ExecutionPayloadBid) GetValue() *wrapperspb.UInt64Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *ExecutionPayloadBid) GetExecutionPayment() *wrapperspb.UInt64Value { + if x != nil { + return x.ExecutionPayment + } + return nil +} + +func (x *ExecutionPayloadBid) GetFeeRecipient() *wrapperspb.StringValue { + if x != nil { + return x.FeeRecipient + } + return nil +} + +func (x *ExecutionPayloadBid) GetGasLimit() *wrapperspb.UInt64Value { + if x != nil { + return x.GasLimit + } + return nil +} + +func (x *ExecutionPayloadBid) GetBlobKzgCommitmentCount() *wrapperspb.UInt32Value { + if x != nil { + return x.BlobKzgCommitmentCount + } + return nil +} + +// PayloadAttestationMessage is a summary of a PayloadAttestationMessage +// received on the payload_attestation_message gossipsub topic. +type PayloadAttestationMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + BeaconBlockRoot *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=beacon_block_root,proto3" json:"beacon_block_root,omitempty"` + PayloadPresent *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=payload_present,proto3" json:"payload_present,omitempty"` + BlobDataAvailable *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=blob_data_available,proto3" json:"blob_data_available,omitempty"` +} + +func (x *PayloadAttestationMessage) Reset() { + *x = PayloadAttestationMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadAttestationMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadAttestationMessage) ProtoMessage() {} + +func (x *PayloadAttestationMessage) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayloadAttestationMessage.ProtoReflect.Descriptor instead. +func (*PayloadAttestationMessage) Descriptor() ([]byte, []int) { + return file_pkg_proto_libp2p_gossipsub_eth_proto_rawDescGZIP(), []int{5} +} + +func (x *PayloadAttestationMessage) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *PayloadAttestationMessage) GetValidatorIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ValidatorIndex + } + return nil +} + +func (x *PayloadAttestationMessage) GetBeaconBlockRoot() *wrapperspb.StringValue { + if x != nil { + return x.BeaconBlockRoot + } + return nil +} + +func (x *PayloadAttestationMessage) GetPayloadPresent() *wrapperspb.BoolValue { + if x != nil { + return x.PayloadPresent + } + return nil +} + +func (x *PayloadAttestationMessage) GetBlobDataAvailable() *wrapperspb.BoolValue { + if x != nil { + return x.BlobDataAvailable + } + return nil +} + +// ProposerPreferences is a summary of a SignedProposerPreferences +// received on the proposer_preferences gossipsub topic. +type ProposerPreferences struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=slot,proto3" json:"slot,omitempty"` + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + FeeRecipient *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=fee_recipient,proto3" json:"fee_recipient,omitempty"` + GasLimit *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=gas_limit,proto3" json:"gas_limit,omitempty"` +} + +func (x *ProposerPreferences) Reset() { + *x = ProposerPreferences{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProposerPreferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProposerPreferences) ProtoMessage() {} + +func (x *ProposerPreferences) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProposerPreferences.ProtoReflect.Descriptor instead. +func (*ProposerPreferences) Descriptor() ([]byte, []int) { + return file_pkg_proto_libp2p_gossipsub_eth_proto_rawDescGZIP(), []int{6} +} + +func (x *ProposerPreferences) GetSlot() *wrapperspb.UInt64Value { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ProposerPreferences) GetValidatorIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.ValidatorIndex + } + return nil +} + +func (x *ProposerPreferences) GetFeeRecipient() *wrapperspb.StringValue { + if x != nil { + return x.FeeRecipient + } + return nil +} + +func (x *ProposerPreferences) GetGasLimit() *wrapperspb.UInt64Value { + if x != nil { + return x.GasLimit + } + return nil +} + var File_pkg_proto_libp2p_gossipsub_eth_proto protoreflect.FileDescriptor var file_pkg_proto_libp2p_gossipsub_eth_proto_rawDesc = []byte{ @@ -340,11 +688,113 @@ var file_pkg_proto_libp2p_gossipsub_eth_proto_rawDesc = []byte{ 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, - 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0xd8, 0x02, 0x0a, 0x18, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4a, 0x0a, 0x11, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x22, 0xf1, 0x04, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x42, 0x0a, 0x0d, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x4a, + 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4a, + 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x66, 0x65, + 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3a, + 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x5a, 0x0a, 0x19, 0x62, 0x6c, + 0x6f, 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x62, 0x6c, 0x6f, + 0x62, 0x5f, 0x6b, 0x7a, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xf5, 0x02, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x46, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4a, + 0x0a, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x12, 0x4c, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x8f, + 0x02, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x46, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x42, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, + 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, + 0x2f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -359,37 +809,65 @@ func file_pkg_proto_libp2p_gossipsub_eth_proto_rawDescGZIP() []byte { return file_pkg_proto_libp2p_gossipsub_eth_proto_rawDescData } -var file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_pkg_proto_libp2p_gossipsub_eth_proto_goTypes = []any{ - (*BeaconBlock)(nil), // 0: xatu.libp2p.gossipsub.eth.BeaconBlock - (*BlobSidecar)(nil), // 1: xatu.libp2p.gossipsub.eth.BlobSidecar - (*DataColumnSidecar)(nil), // 2: xatu.libp2p.gossipsub.eth.DataColumnSidecar - (*wrapperspb.StringValue)(nil), // 3: google.protobuf.StringValue - (*wrapperspb.UInt64Value)(nil), // 4: google.protobuf.UInt64Value - (*wrapperspb.UInt32Value)(nil), // 5: google.protobuf.UInt32Value + (*BeaconBlock)(nil), // 0: xatu.libp2p.gossipsub.eth.BeaconBlock + (*BlobSidecar)(nil), // 1: xatu.libp2p.gossipsub.eth.BlobSidecar + (*DataColumnSidecar)(nil), // 2: xatu.libp2p.gossipsub.eth.DataColumnSidecar + (*ExecutionPayloadEnvelope)(nil), // 3: xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope + (*ExecutionPayloadBid)(nil), // 4: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid + (*PayloadAttestationMessage)(nil), // 5: xatu.libp2p.gossipsub.eth.PayloadAttestationMessage + (*ProposerPreferences)(nil), // 6: xatu.libp2p.gossipsub.eth.ProposerPreferences + (*wrapperspb.StringValue)(nil), // 7: google.protobuf.StringValue + (*wrapperspb.UInt64Value)(nil), // 8: google.protobuf.UInt64Value + (*wrapperspb.UInt32Value)(nil), // 9: google.protobuf.UInt32Value + (*wrapperspb.BoolValue)(nil), // 10: google.protobuf.BoolValue } var file_pkg_proto_libp2p_gossipsub_eth_proto_depIdxs = []int32{ - 3, // 0: xatu.libp2p.gossipsub.eth.BeaconBlock.block:type_name -> google.protobuf.StringValue - 4, // 1: xatu.libp2p.gossipsub.eth.BeaconBlock.slot:type_name -> google.protobuf.UInt64Value - 4, // 2: xatu.libp2p.gossipsub.eth.BeaconBlock.proposer_index:type_name -> google.protobuf.UInt64Value - 4, // 3: xatu.libp2p.gossipsub.eth.BlobSidecar.index:type_name -> google.protobuf.UInt64Value - 4, // 4: xatu.libp2p.gossipsub.eth.BlobSidecar.slot:type_name -> google.protobuf.UInt64Value - 4, // 5: xatu.libp2p.gossipsub.eth.BlobSidecar.proposer_index:type_name -> google.protobuf.UInt64Value - 3, // 6: xatu.libp2p.gossipsub.eth.BlobSidecar.state_root:type_name -> google.protobuf.StringValue - 3, // 7: xatu.libp2p.gossipsub.eth.BlobSidecar.parent_root:type_name -> google.protobuf.StringValue - 3, // 8: xatu.libp2p.gossipsub.eth.BlobSidecar.block_root:type_name -> google.protobuf.StringValue - 4, // 9: xatu.libp2p.gossipsub.eth.DataColumnSidecar.index:type_name -> google.protobuf.UInt64Value - 4, // 10: xatu.libp2p.gossipsub.eth.DataColumnSidecar.slot:type_name -> google.protobuf.UInt64Value - 4, // 11: xatu.libp2p.gossipsub.eth.DataColumnSidecar.proposer_index:type_name -> google.protobuf.UInt64Value - 3, // 12: xatu.libp2p.gossipsub.eth.DataColumnSidecar.state_root:type_name -> google.protobuf.StringValue - 3, // 13: xatu.libp2p.gossipsub.eth.DataColumnSidecar.parent_root:type_name -> google.protobuf.StringValue - 5, // 14: xatu.libp2p.gossipsub.eth.DataColumnSidecar.kzg_commitments_count:type_name -> google.protobuf.UInt32Value - 3, // 15: xatu.libp2p.gossipsub.eth.DataColumnSidecar.block_root:type_name -> google.protobuf.StringValue - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 7, // 0: xatu.libp2p.gossipsub.eth.BeaconBlock.block:type_name -> google.protobuf.StringValue + 8, // 1: xatu.libp2p.gossipsub.eth.BeaconBlock.slot:type_name -> google.protobuf.UInt64Value + 8, // 2: xatu.libp2p.gossipsub.eth.BeaconBlock.proposer_index:type_name -> google.protobuf.UInt64Value + 8, // 3: xatu.libp2p.gossipsub.eth.BlobSidecar.index:type_name -> google.protobuf.UInt64Value + 8, // 4: xatu.libp2p.gossipsub.eth.BlobSidecar.slot:type_name -> google.protobuf.UInt64Value + 8, // 5: xatu.libp2p.gossipsub.eth.BlobSidecar.proposer_index:type_name -> google.protobuf.UInt64Value + 7, // 6: xatu.libp2p.gossipsub.eth.BlobSidecar.state_root:type_name -> google.protobuf.StringValue + 7, // 7: xatu.libp2p.gossipsub.eth.BlobSidecar.parent_root:type_name -> google.protobuf.StringValue + 7, // 8: xatu.libp2p.gossipsub.eth.BlobSidecar.block_root:type_name -> google.protobuf.StringValue + 8, // 9: xatu.libp2p.gossipsub.eth.DataColumnSidecar.index:type_name -> google.protobuf.UInt64Value + 8, // 10: xatu.libp2p.gossipsub.eth.DataColumnSidecar.slot:type_name -> google.protobuf.UInt64Value + 8, // 11: xatu.libp2p.gossipsub.eth.DataColumnSidecar.proposer_index:type_name -> google.protobuf.UInt64Value + 7, // 12: xatu.libp2p.gossipsub.eth.DataColumnSidecar.state_root:type_name -> google.protobuf.StringValue + 7, // 13: xatu.libp2p.gossipsub.eth.DataColumnSidecar.parent_root:type_name -> google.protobuf.StringValue + 9, // 14: xatu.libp2p.gossipsub.eth.DataColumnSidecar.kzg_commitments_count:type_name -> google.protobuf.UInt32Value + 7, // 15: xatu.libp2p.gossipsub.eth.DataColumnSidecar.block_root:type_name -> google.protobuf.StringValue + 8, // 16: xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope.slot:type_name -> google.protobuf.UInt64Value + 8, // 17: xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope.builder_index:type_name -> google.protobuf.UInt64Value + 7, // 18: xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope.beacon_block_root:type_name -> google.protobuf.StringValue + 7, // 19: xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope.block_hash:type_name -> google.protobuf.StringValue + 7, // 20: xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope.state_root:type_name -> google.protobuf.StringValue + 8, // 21: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.slot:type_name -> google.protobuf.UInt64Value + 8, // 22: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.builder_index:type_name -> google.protobuf.UInt64Value + 7, // 23: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.block_hash:type_name -> google.protobuf.StringValue + 7, // 24: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.parent_block_hash:type_name -> google.protobuf.StringValue + 8, // 25: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.value:type_name -> google.protobuf.UInt64Value + 8, // 26: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.execution_payment:type_name -> google.protobuf.UInt64Value + 7, // 27: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.fee_recipient:type_name -> google.protobuf.StringValue + 8, // 28: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.gas_limit:type_name -> google.protobuf.UInt64Value + 9, // 29: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid.blob_kzg_commitment_count:type_name -> google.protobuf.UInt32Value + 8, // 30: xatu.libp2p.gossipsub.eth.PayloadAttestationMessage.slot:type_name -> google.protobuf.UInt64Value + 8, // 31: xatu.libp2p.gossipsub.eth.PayloadAttestationMessage.validator_index:type_name -> google.protobuf.UInt64Value + 7, // 32: xatu.libp2p.gossipsub.eth.PayloadAttestationMessage.beacon_block_root:type_name -> google.protobuf.StringValue + 10, // 33: xatu.libp2p.gossipsub.eth.PayloadAttestationMessage.payload_present:type_name -> google.protobuf.BoolValue + 10, // 34: xatu.libp2p.gossipsub.eth.PayloadAttestationMessage.blob_data_available:type_name -> google.protobuf.BoolValue + 8, // 35: xatu.libp2p.gossipsub.eth.ProposerPreferences.slot:type_name -> google.protobuf.UInt64Value + 8, // 36: xatu.libp2p.gossipsub.eth.ProposerPreferences.validator_index:type_name -> google.protobuf.UInt64Value + 7, // 37: xatu.libp2p.gossipsub.eth.ProposerPreferences.fee_recipient:type_name -> google.protobuf.StringValue + 8, // 38: xatu.libp2p.gossipsub.eth.ProposerPreferences.gas_limit:type_name -> google.protobuf.UInt64Value + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_pkg_proto_libp2p_gossipsub_eth_proto_init() } @@ -434,6 +912,54 @@ func file_pkg_proto_libp2p_gossipsub_eth_proto_init() { return nil } } + file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*ExecutionPayloadEnvelope); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*ExecutionPayloadBid); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*PayloadAttestationMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_libp2p_gossipsub_eth_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*ProposerPreferences); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -441,7 +967,7 @@ func file_pkg_proto_libp2p_gossipsub_eth_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_libp2p_gossipsub_eth_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/proto/libp2p/gossipsub/eth.proto b/pkg/proto/libp2p/gossipsub/eth.proto index 2d462428..a3e708cd 100644 --- a/pkg/proto/libp2p/gossipsub/eth.proto +++ b/pkg/proto/libp2p/gossipsub/eth.proto @@ -30,3 +30,48 @@ message DataColumnSidecar { google.protobuf.UInt32Value kzg_commitments_count = 6 [json_name = "kzg_commitments_count"]; google.protobuf.StringValue block_root = 7 [json_name = "block_root"]; } + +// EIP-7732 ePBS gossipsub types + +// ExecutionPayloadEnvelope is a summary of a SignedExecutionPayloadEnvelope +// received on the execution_payload gossipsub topic. +message ExecutionPayloadEnvelope { + google.protobuf.UInt64Value slot = 1 [json_name = "slot"]; + google.protobuf.UInt64Value builder_index = 2 [json_name = "builder_index"]; + google.protobuf.StringValue beacon_block_root = 3 [json_name = "beacon_block_root"]; + google.protobuf.StringValue block_hash = 4 [json_name = "block_hash"]; + google.protobuf.StringValue state_root = 5 [json_name = "state_root"]; +} + +// ExecutionPayloadBid is a summary of a SignedExecutionPayloadBid +// received on the execution_payload_bid gossipsub topic. +message ExecutionPayloadBid { + google.protobuf.UInt64Value slot = 1 [json_name = "slot"]; + google.protobuf.UInt64Value builder_index = 2 [json_name = "builder_index"]; + google.protobuf.StringValue block_hash = 3 [json_name = "block_hash"]; + google.protobuf.StringValue parent_block_hash = 4 [json_name = "parent_block_hash"]; + google.protobuf.UInt64Value value = 5 [json_name = "value"]; + google.protobuf.UInt64Value execution_payment = 6 [json_name = "execution_payment"]; + google.protobuf.StringValue fee_recipient = 7 [json_name = "fee_recipient"]; + google.protobuf.UInt64Value gas_limit = 8 [json_name = "gas_limit"]; + google.protobuf.UInt32Value blob_kzg_commitment_count = 9 [json_name = "blob_kzg_commitment_count"]; +} + +// PayloadAttestationMessage is a summary of a PayloadAttestationMessage +// received on the payload_attestation_message gossipsub topic. +message PayloadAttestationMessage { + google.protobuf.UInt64Value slot = 1 [json_name = "slot"]; + google.protobuf.UInt64Value validator_index = 2 [json_name = "validator_index"]; + google.protobuf.StringValue beacon_block_root = 3 [json_name = "beacon_block_root"]; + google.protobuf.BoolValue payload_present = 4 [json_name = "payload_present"]; + google.protobuf.BoolValue blob_data_available = 5 [json_name = "blob_data_available"]; +} + +// ProposerPreferences is a summary of a SignedProposerPreferences +// received on the proposer_preferences gossipsub topic. +message ProposerPreferences { + google.protobuf.UInt64Value slot = 1 [json_name = "slot"]; + google.protobuf.UInt64Value validator_index = 2 [json_name = "validator_index"]; + google.protobuf.StringValue fee_recipient = 3 [json_name = "fee_recipient"]; + google.protobuf.UInt64Value gas_limit = 4 [json_name = "gas_limit"]; +} diff --git a/pkg/proto/libp2p/gossipsub/eth_vtproto.pb.go b/pkg/proto/libp2p/gossipsub/eth_vtproto.pb.go index 08378b84..30ac6725 100644 --- a/pkg/proto/libp2p/gossipsub/eth_vtproto.pb.go +++ b/pkg/proto/libp2p/gossipsub/eth_vtproto.pb.go @@ -281,132 +281,522 @@ func (m *DataColumnSidecar) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -var vtprotoPool_BeaconBlock = sync.Pool{ - New: func() interface{} { - return &BeaconBlock{} - }, -} - -func (m *BeaconBlock) ResetVT() { - if m != nil { - m.Reset() +func (m *ExecutionPayloadEnvelope) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func (m *BeaconBlock) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_BeaconBlock.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func BeaconBlockFromVTPool() *BeaconBlock { - return vtprotoPool_BeaconBlock.Get().(*BeaconBlock) + return dAtA[:n], nil } -var vtprotoPool_BlobSidecar = sync.Pool{ - New: func() interface{} { - return &BlobSidecar{} - }, +func (m *ExecutionPayloadEnvelope) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *BlobSidecar) ResetVT() { - if m != nil { - m.Reset() +func (m *ExecutionPayloadEnvelope) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func (m *BlobSidecar) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_BlobSidecar.Put(m) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } -} -func BlobSidecarFromVTPool() *BlobSidecar { - return vtprotoPool_BlobSidecar.Get().(*BlobSidecar) -} - -var vtprotoPool_DataColumnSidecar = sync.Pool{ - New: func() interface{} { - return &DataColumnSidecar{} - }, + if m.StateRoot != nil { + size, err := (*wrapperspb.StringValue)(m.StateRoot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.BlockHash != nil { + size, err := (*wrapperspb.StringValue)(m.BlockHash).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.BeaconBlockRoot != nil { + size, err := (*wrapperspb.StringValue)(m.BeaconBlockRoot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.BuilderIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.BuilderIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *DataColumnSidecar) ResetVT() { - if m != nil { - m.Reset() +func (m *ExecutionPayloadBid) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func (m *DataColumnSidecar) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_DataColumnSidecar.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil } -func DataColumnSidecarFromVTPool() *DataColumnSidecar { - return vtprotoPool_DataColumnSidecar.Get().(*DataColumnSidecar) + +func (m *ExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *BeaconBlock) SizeVT() (n int) { + +func (m *ExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.Block != nil { - l = (*wrapperspb.StringValue)(m.Block).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.Slot != nil { - l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.BlobKzgCommitmentCount != nil { + size, err := (*wrapperspb.UInt32Value)(m.BlobKzgCommitmentCount).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a } - if m.ProposerIndex != nil { - l = (*wrapperspb.UInt64Value)(m.ProposerIndex).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.GasLimit != nil { + size, err := (*wrapperspb.UInt64Value)(m.GasLimit).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 } - n += len(m.unknownFields) - return n -} - -func (m *BlobSidecar) SizeVT() (n int) { - if m == nil { - return 0 + if m.FeeRecipient != nil { + size, err := (*wrapperspb.StringValue)(m.FeeRecipient).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a } - var l int - _ = l - if m.Index != nil { - l = (*wrapperspb.UInt64Value)(m.Index).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ExecutionPayment != nil { + size, err := (*wrapperspb.UInt64Value)(m.ExecutionPayment).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 } - if m.Slot != nil { - l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Value != nil { + size, err := (*wrapperspb.UInt64Value)(m.Value).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } - if m.ProposerIndex != nil { - l = (*wrapperspb.UInt64Value)(m.ProposerIndex).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ParentBlockHash != nil { + size, err := (*wrapperspb.StringValue)(m.ParentBlockHash).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 } - if m.StateRoot != nil { - l = (*wrapperspb.StringValue)(m.StateRoot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.BlockHash != nil { + size, err := (*wrapperspb.StringValue)(m.BlockHash).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a } - if m.ParentRoot != nil { - l = (*wrapperspb.StringValue)(m.ParentRoot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.BuilderIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.BuilderIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } - if m.BlockRoot != nil { - l = (*wrapperspb.StringValue)(m.BlockRoot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *DataColumnSidecar) SizeVT() (n int) { +func (m *PayloadAttestationMessage) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PayloadAttestationMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PayloadAttestationMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.Index != nil { - l = (*wrapperspb.UInt64Value)(m.Index).SizeVT() + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.BlobDataAvailable != nil { + size, err := (*wrapperspb.BoolValue)(m.BlobDataAvailable).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.PayloadPresent != nil { + size, err := (*wrapperspb.BoolValue)(m.PayloadPresent).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.BeaconBlockRoot != nil { + size, err := (*wrapperspb.StringValue)(m.BeaconBlockRoot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.ValidatorIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ProposerPreferences) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProposerPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ProposerPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.GasLimit != nil { + size, err := (*wrapperspb.UInt64Value)(m.GasLimit).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.FeeRecipient != nil { + size, err := (*wrapperspb.StringValue)(m.FeeRecipient).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.ValidatorIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Slot != nil { + size, err := (*wrapperspb.UInt64Value)(m.Slot).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +var vtprotoPool_BeaconBlock = sync.Pool{ + New: func() interface{} { + return &BeaconBlock{} + }, +} + +func (m *BeaconBlock) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BeaconBlock) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BeaconBlock.Put(m) + } +} +func BeaconBlockFromVTPool() *BeaconBlock { + return vtprotoPool_BeaconBlock.Get().(*BeaconBlock) +} + +var vtprotoPool_BlobSidecar = sync.Pool{ + New: func() interface{} { + return &BlobSidecar{} + }, +} + +func (m *BlobSidecar) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *BlobSidecar) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_BlobSidecar.Put(m) + } +} +func BlobSidecarFromVTPool() *BlobSidecar { + return vtprotoPool_BlobSidecar.Get().(*BlobSidecar) +} + +var vtprotoPool_DataColumnSidecar = sync.Pool{ + New: func() interface{} { + return &DataColumnSidecar{} + }, +} + +func (m *DataColumnSidecar) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *DataColumnSidecar) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_DataColumnSidecar.Put(m) + } +} +func DataColumnSidecarFromVTPool() *DataColumnSidecar { + return vtprotoPool_DataColumnSidecar.Get().(*DataColumnSidecar) +} + +var vtprotoPool_ExecutionPayloadEnvelope = sync.Pool{ + New: func() interface{} { + return &ExecutionPayloadEnvelope{} + }, +} + +func (m *ExecutionPayloadEnvelope) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *ExecutionPayloadEnvelope) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ExecutionPayloadEnvelope.Put(m) + } +} +func ExecutionPayloadEnvelopeFromVTPool() *ExecutionPayloadEnvelope { + return vtprotoPool_ExecutionPayloadEnvelope.Get().(*ExecutionPayloadEnvelope) +} + +var vtprotoPool_ExecutionPayloadBid = sync.Pool{ + New: func() interface{} { + return &ExecutionPayloadBid{} + }, +} + +func (m *ExecutionPayloadBid) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *ExecutionPayloadBid) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ExecutionPayloadBid.Put(m) + } +} +func ExecutionPayloadBidFromVTPool() *ExecutionPayloadBid { + return vtprotoPool_ExecutionPayloadBid.Get().(*ExecutionPayloadBid) +} + +var vtprotoPool_PayloadAttestationMessage = sync.Pool{ + New: func() interface{} { + return &PayloadAttestationMessage{} + }, +} + +func (m *PayloadAttestationMessage) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *PayloadAttestationMessage) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_PayloadAttestationMessage.Put(m) + } +} +func PayloadAttestationMessageFromVTPool() *PayloadAttestationMessage { + return vtprotoPool_PayloadAttestationMessage.Get().(*PayloadAttestationMessage) +} + +var vtprotoPool_ProposerPreferences = sync.Pool{ + New: func() interface{} { + return &ProposerPreferences{} + }, +} + +func (m *ProposerPreferences) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *ProposerPreferences) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ProposerPreferences.Put(m) + } +} +func ProposerPreferencesFromVTPool() *ProposerPreferences { + return vtprotoPool_ProposerPreferences.Get().(*ProposerPreferences) +} +func (m *BeaconBlock) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Block != nil { + l = (*wrapperspb.StringValue)(m.Block).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Slot != nil { @@ -417,27 +807,1175 @@ func (m *DataColumnSidecar) SizeVT() (n int) { l = (*wrapperspb.UInt64Value)(m.ProposerIndex).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.StateRoot != nil { - l = (*wrapperspb.StringValue)(m.StateRoot).SizeVT() + n += len(m.unknownFields) + return n +} + +func (m *BlobSidecar) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Index != nil { + l = (*wrapperspb.UInt64Value)(m.Index).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.ParentRoot != nil { - l = (*wrapperspb.StringValue)(m.ParentRoot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ProposerIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ProposerIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StateRoot != nil { + l = (*wrapperspb.StringValue)(m.StateRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ParentRoot != nil { + l = (*wrapperspb.StringValue)(m.ParentRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlockRoot != nil { + l = (*wrapperspb.StringValue)(m.BlockRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *DataColumnSidecar) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Index != nil { + l = (*wrapperspb.UInt64Value)(m.Index).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ProposerIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ProposerIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StateRoot != nil { + l = (*wrapperspb.StringValue)(m.StateRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ParentRoot != nil { + l = (*wrapperspb.StringValue)(m.ParentRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.KzgCommitmentsCount != nil { + l = (*wrapperspb.UInt32Value)(m.KzgCommitmentsCount).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlockRoot != nil { + l = (*wrapperspb.StringValue)(m.BlockRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExecutionPayloadEnvelope) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BuilderIndex != nil { + l = (*wrapperspb.UInt64Value)(m.BuilderIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BeaconBlockRoot != nil { + l = (*wrapperspb.StringValue)(m.BeaconBlockRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlockHash != nil { + l = (*wrapperspb.StringValue)(m.BlockHash).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StateRoot != nil { + l = (*wrapperspb.StringValue)(m.StateRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BuilderIndex != nil { + l = (*wrapperspb.UInt64Value)(m.BuilderIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlockHash != nil { + l = (*wrapperspb.StringValue)(m.BlockHash).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ParentBlockHash != nil { + l = (*wrapperspb.StringValue)(m.ParentBlockHash).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Value != nil { + l = (*wrapperspb.UInt64Value)(m.Value).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ExecutionPayment != nil { + l = (*wrapperspb.UInt64Value)(m.ExecutionPayment).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.FeeRecipient != nil { + l = (*wrapperspb.StringValue)(m.FeeRecipient).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.GasLimit != nil { + l = (*wrapperspb.UInt64Value)(m.GasLimit).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlobKzgCommitmentCount != nil { + l = (*wrapperspb.UInt32Value)(m.BlobKzgCommitmentCount).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *PayloadAttestationMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValidatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BeaconBlockRoot != nil { + l = (*wrapperspb.StringValue)(m.BeaconBlockRoot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PayloadPresent != nil { + l = (*wrapperspb.BoolValue)(m.PayloadPresent).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.BlobDataAvailable != nil { + l = (*wrapperspb.BoolValue)(m.BlobDataAvailable).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ProposerPreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Slot != nil { + l = (*wrapperspb.UInt64Value)(m.Slot).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValidatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.FeeRecipient != nil { + l = (*wrapperspb.StringValue)(m.FeeRecipient).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.GasLimit != nil { + l = (*wrapperspb.UInt64Value)(m.GasLimit).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BeaconBlock) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BeaconBlock: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BeaconBlock: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Block == nil { + m.Block = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Block).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlobSidecar: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlobSidecar: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Index == nil { + m.Index = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Index).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StateRoot == nil { + m.StateRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.StateRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParentRoot == nil { + m.ParentRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.ParentRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockRoot == nil { + m.BlockRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.BlockRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DataColumnSidecar: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DataColumnSidecar: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Index == nil { + m.Index = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Index).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StateRoot == nil { + m.StateRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.StateRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParentRoot == nil { + m.ParentRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.ParentRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field KzgCommitmentsCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.KzgCommitmentsCount == nil { + m.KzgCommitmentsCount = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.KzgCommitmentsCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockRoot == nil { + m.BlockRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.BlockRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF } - if m.KzgCommitmentsCount != nil { - l = (*wrapperspb.UInt32Value)(m.KzgCommitmentsCount).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return nil +} +func (m *ExecutionPayloadEnvelope) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionPayloadEnvelope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionPayloadEnvelope: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BuilderIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BuilderIndex == nil { + m.BuilderIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BuilderIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BeaconBlockRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BeaconBlockRoot == nil { + m.BeaconBlockRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.BeaconBlockRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockHash == nil { + m.BlockHash = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.BlockHash).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StateRoot == nil { + m.StateRoot = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.StateRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } } - if m.BlockRoot != nil { - l = (*wrapperspb.StringValue)(m.BlockRoot).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + + if iNdEx > l { + return io.ErrUnexpectedEOF } - n += len(m.unknownFields) - return n + return nil } - -func (m *BeaconBlock) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionPayloadBid) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -460,15 +1998,15 @@ func (m *BeaconBlock) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BeaconBlock: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionPayloadBid: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BeaconBlock: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionPayloadBid: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -495,16 +2033,16 @@ func (m *BeaconBlock) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = &wrapperspb1.StringValue{} + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.StringValue)(m.Block).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BuilderIndex", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -531,16 +2069,16 @@ func (m *BeaconBlock) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} + if m.BuilderIndex == nil { + m.BuilderIndex = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.BuilderIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -567,67 +2105,16 @@ func (m *BeaconBlock) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ProposerIndex == nil { - m.ProposerIndex = &wrapperspb1.UInt64Value{} + if m.BlockHash == nil { + m.BlockHash = &wrapperspb1.StringValue{} } - if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.BlockHash).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BlobSidecar: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BlobSidecar: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ParentBlockHash", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -654,16 +2141,16 @@ func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Index == nil { - m.Index = &wrapperspb1.UInt64Value{} + if m.ParentBlockHash == nil { + m.ParentBlockHash = &wrapperspb1.StringValue{} } - if err := (*wrapperspb.UInt64Value)(m.Index).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.ParentBlockHash).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -690,16 +2177,16 @@ func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} + if m.Value == nil { + m.Value = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Value).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionPayment", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -726,16 +2213,16 @@ func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ProposerIndex == nil { - m.ProposerIndex = &wrapperspb1.UInt64Value{} + if m.ExecutionPayment == nil { + m.ExecutionPayment = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.ExecutionPayment).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipient", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -762,16 +2249,16 @@ func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StateRoot == nil { - m.StateRoot = &wrapperspb1.StringValue{} + if m.FeeRecipient == nil { + m.FeeRecipient = &wrapperspb1.StringValue{} } - if err := (*wrapperspb.StringValue)(m.StateRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.FeeRecipient).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -798,16 +2285,16 @@ func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParentRoot == nil { - m.ParentRoot = &wrapperspb1.StringValue{} + if m.GasLimit == nil { + m.GasLimit = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.StringValue)(m.ParentRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobKzgCommitmentCount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -834,10 +2321,10 @@ func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlockRoot == nil { - m.BlockRoot = &wrapperspb1.StringValue{} + if m.BlobKzgCommitmentCount == nil { + m.BlobKzgCommitmentCount = &wrapperspb1.UInt32Value{} } - if err := (*wrapperspb.StringValue)(m.BlockRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.BlobKzgCommitmentCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -863,7 +2350,7 @@ func (m *BlobSidecar) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { +func (m *PayloadAttestationMessage) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -886,15 +2373,15 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DataColumnSidecar: wiretype end group for non-group") + return fmt.Errorf("proto: PayloadAttestationMessage: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DataColumnSidecar: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PayloadAttestationMessage: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -921,16 +2408,16 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Index == nil { - m.Index = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt64Value)(m.Index).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorIndex", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -957,16 +2444,16 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} + if m.ValidatorIndex == nil { + m.ValidatorIndex = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconBlockRoot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -993,16 +2480,16 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ProposerIndex == nil { - m.ProposerIndex = &wrapperspb1.UInt64Value{} + if m.BeaconBlockRoot == nil { + m.BeaconBlockRoot = &wrapperspb1.StringValue{} } - if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.BeaconBlockRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PayloadPresent", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1029,16 +2516,16 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StateRoot == nil { - m.StateRoot = &wrapperspb1.StringValue{} + if m.PayloadPresent == nil { + m.PayloadPresent = &wrapperspb1.BoolValue{} } - if err := (*wrapperspb.StringValue)(m.StateRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.BoolValue)(m.PayloadPresent).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobDataAvailable", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1065,16 +2552,67 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParentRoot == nil { - m.ParentRoot = &wrapperspb1.StringValue{} + if m.BlobDataAvailable == nil { + m.BlobDataAvailable = &wrapperspb1.BoolValue{} } - if err := (*wrapperspb.StringValue)(m.ParentRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.BoolValue)(m.BlobDataAvailable).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProposerPreferences) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProposerPreferences: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProposerPreferences: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field KzgCommitmentsCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1101,16 +2639,16 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.KzgCommitmentsCount == nil { - m.KzgCommitmentsCount = &wrapperspb1.UInt32Value{} + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt32Value)(m.KzgCommitmentsCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorIndex", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1137,10 +2675,82 @@ func (m *DataColumnSidecar) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlockRoot == nil { - m.BlockRoot = &wrapperspb1.StringValue{} + if m.ValidatorIndex == nil { + m.ValidatorIndex = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.StringValue)(m.BlockRoot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FeeRecipient", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.FeeRecipient == nil { + m.FeeRecipient = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.FeeRecipient).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasLimit == nil { + m.GasLimit = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/pkg/proto/xatu/coordinator.pb.go b/pkg/proto/xatu/coordinator.pb.go index cf736919..511e8c73 100644 --- a/pkg/proto/xatu/coordinator.pb.go +++ b/pkg/proto/xatu/coordinator.pb.go @@ -40,6 +40,10 @@ const ( CannonType_BEACON_API_ETH_V1_BEACON_COMMITTEE CannonType = 13 CannonType_BEACON_API_ETH_V1_BEACON_SYNC_COMMITTEE CannonType = 14 CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE CannonType = 15 + CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST CannonType = 16 + // EIP-7732 ePBS cannon types + CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION CannonType = 17 + CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID CannonType = 18 ) // Enum value maps for CannonType. @@ -60,6 +64,9 @@ var ( 13: "BEACON_API_ETH_V1_BEACON_COMMITTEE", 14: "BEACON_API_ETH_V1_BEACON_SYNC_COMMITTEE", 15: "BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE", + 16: "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST", + 17: "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION", + 18: "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID", } CannonType_value = map[string]int32{ "BEACON_API_ETH_V2_BEACON_BLOCK_VOLUNTARY_EXIT": 0, @@ -77,6 +84,9 @@ var ( "BEACON_API_ETH_V1_BEACON_COMMITTEE": 13, "BEACON_API_ETH_V1_BEACON_SYNC_COMMITTEE": 14, "BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE": 15, + "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST": 16, + "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION": 17, + "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID": 18, } ) @@ -2361,6 +2371,148 @@ func (x *CannonLocationEthV2BeaconBlockSyncAggregate) GetBackfillingCheckpointMa return nil } +type CannonLocationEthV2BeaconBlockAccessList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BackfillingCheckpointMarker *BackfillingCheckpointMarker `protobuf:"bytes,1,opt,name=backfilling_checkpoint_marker,json=backfillingCheckpointMarker,proto3" json:"backfilling_checkpoint_marker,omitempty"` +} + +func (x *CannonLocationEthV2BeaconBlockAccessList) Reset() { + *x = CannonLocationEthV2BeaconBlockAccessList{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CannonLocationEthV2BeaconBlockAccessList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CannonLocationEthV2BeaconBlockAccessList) ProtoMessage() {} + +func (x *CannonLocationEthV2BeaconBlockAccessList) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CannonLocationEthV2BeaconBlockAccessList.ProtoReflect.Descriptor instead. +func (*CannonLocationEthV2BeaconBlockAccessList) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{41} +} + +func (x *CannonLocationEthV2BeaconBlockAccessList) GetBackfillingCheckpointMarker() *BackfillingCheckpointMarker { + if x != nil { + return x.BackfillingCheckpointMarker + } + return nil +} + +// EIP-7732 ePBS cannon location types +type CannonLocationEthV2BeaconBlockPayloadAttestation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BackfillingCheckpointMarker *BackfillingCheckpointMarker `protobuf:"bytes,1,opt,name=backfilling_checkpoint_marker,json=backfillingCheckpointMarker,proto3" json:"backfilling_checkpoint_marker,omitempty"` +} + +func (x *CannonLocationEthV2BeaconBlockPayloadAttestation) Reset() { + *x = CannonLocationEthV2BeaconBlockPayloadAttestation{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CannonLocationEthV2BeaconBlockPayloadAttestation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CannonLocationEthV2BeaconBlockPayloadAttestation) ProtoMessage() {} + +func (x *CannonLocationEthV2BeaconBlockPayloadAttestation) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CannonLocationEthV2BeaconBlockPayloadAttestation.ProtoReflect.Descriptor instead. +func (*CannonLocationEthV2BeaconBlockPayloadAttestation) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{42} +} + +func (x *CannonLocationEthV2BeaconBlockPayloadAttestation) GetBackfillingCheckpointMarker() *BackfillingCheckpointMarker { + if x != nil { + return x.BackfillingCheckpointMarker + } + return nil +} + +type CannonLocationEthV2BeaconBlockExecutionPayloadBid struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BackfillingCheckpointMarker *BackfillingCheckpointMarker `protobuf:"bytes,1,opt,name=backfilling_checkpoint_marker,json=backfillingCheckpointMarker,proto3" json:"backfilling_checkpoint_marker,omitempty"` +} + +func (x *CannonLocationEthV2BeaconBlockExecutionPayloadBid) Reset() { + *x = CannonLocationEthV2BeaconBlockExecutionPayloadBid{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CannonLocationEthV2BeaconBlockExecutionPayloadBid) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CannonLocationEthV2BeaconBlockExecutionPayloadBid) ProtoMessage() {} + +func (x *CannonLocationEthV2BeaconBlockExecutionPayloadBid) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CannonLocationEthV2BeaconBlockExecutionPayloadBid.ProtoReflect.Descriptor instead. +func (*CannonLocationEthV2BeaconBlockExecutionPayloadBid) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{43} +} + +func (x *CannonLocationEthV2BeaconBlockExecutionPayloadBid) GetBackfillingCheckpointMarker() *BackfillingCheckpointMarker { + if x != nil { + return x.BackfillingCheckpointMarker + } + return nil +} + type CannonLocation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2385,13 +2537,16 @@ type CannonLocation struct { // *CannonLocation_EthV1BeaconCommittee // *CannonLocation_EthV1BeaconSyncCommittee // *CannonLocation_EthV2BeaconBlockSyncAggregate + // *CannonLocation_EthV2BeaconBlockAccessList + // *CannonLocation_EthV2BeaconBlockPayloadAttestation + // *CannonLocation_EthV2BeaconBlockExecutionPayloadBid Data isCannonLocation_Data `protobuf_oneof:"Data"` } func (x *CannonLocation) Reset() { *x = CannonLocation{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[41] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2404,7 +2559,7 @@ func (x *CannonLocation) String() string { func (*CannonLocation) ProtoMessage() {} func (x *CannonLocation) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[41] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2417,7 +2572,7 @@ func (x *CannonLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use CannonLocation.ProtoReflect.Descriptor instead. func (*CannonLocation) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{41} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{44} } func (x *CannonLocation) GetNetworkId() string { @@ -2546,6 +2701,27 @@ func (x *CannonLocation) GetEthV2BeaconBlockSyncAggregate() *CannonLocationEthV2 return nil } +func (x *CannonLocation) GetEthV2BeaconBlockAccessList() *CannonLocationEthV2BeaconBlockAccessList { + if x, ok := x.GetData().(*CannonLocation_EthV2BeaconBlockAccessList); ok { + return x.EthV2BeaconBlockAccessList + } + return nil +} + +func (x *CannonLocation) GetEthV2BeaconBlockPayloadAttestation() *CannonLocationEthV2BeaconBlockPayloadAttestation { + if x, ok := x.GetData().(*CannonLocation_EthV2BeaconBlockPayloadAttestation); ok { + return x.EthV2BeaconBlockPayloadAttestation + } + return nil +} + +func (x *CannonLocation) GetEthV2BeaconBlockExecutionPayloadBid() *CannonLocationEthV2BeaconBlockExecutionPayloadBid { + if x, ok := x.GetData().(*CannonLocation_EthV2BeaconBlockExecutionPayloadBid); ok { + return x.EthV2BeaconBlockExecutionPayloadBid + } + return nil +} + type isCannonLocation_Data interface { isCannonLocation_Data() } @@ -2612,6 +2788,19 @@ type CannonLocation_EthV2BeaconBlockSyncAggregate struct { EthV2BeaconBlockSyncAggregate *CannonLocationEthV2BeaconBlockSyncAggregate `protobuf:"bytes,18,opt,name=eth_v2_beacon_block_sync_aggregate,json=BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE,proto3,oneof"` } +type CannonLocation_EthV2BeaconBlockAccessList struct { + EthV2BeaconBlockAccessList *CannonLocationEthV2BeaconBlockAccessList `protobuf:"bytes,19,opt,name=eth_v2_beacon_block_access_list,json=BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST,proto3,oneof"` +} + +type CannonLocation_EthV2BeaconBlockPayloadAttestation struct { + // EIP-7732 ePBS + EthV2BeaconBlockPayloadAttestation *CannonLocationEthV2BeaconBlockPayloadAttestation `protobuf:"bytes,20,opt,name=eth_v2_beacon_block_payload_attestation,json=BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION,proto3,oneof"` +} + +type CannonLocation_EthV2BeaconBlockExecutionPayloadBid struct { + EthV2BeaconBlockExecutionPayloadBid *CannonLocationEthV2BeaconBlockExecutionPayloadBid `protobuf:"bytes,21,opt,name=eth_v2_beacon_block_execution_payload_bid,json=BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID,proto3,oneof"` +} + func (*CannonLocation_EthV2BeaconBlockVoluntaryExit) isCannonLocation_Data() {} func (*CannonLocation_EthV2BeaconBlockProposerSlashing) isCannonLocation_Data() {} @@ -2642,6 +2831,12 @@ func (*CannonLocation_EthV1BeaconSyncCommittee) isCannonLocation_Data() {} func (*CannonLocation_EthV2BeaconBlockSyncAggregate) isCannonLocation_Data() {} +func (*CannonLocation_EthV2BeaconBlockAccessList) isCannonLocation_Data() {} + +func (*CannonLocation_EthV2BeaconBlockPayloadAttestation) isCannonLocation_Data() {} + +func (*CannonLocation_EthV2BeaconBlockExecutionPayloadBid) isCannonLocation_Data() {} + type GetCannonLocationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2654,7 +2849,7 @@ type GetCannonLocationRequest struct { func (x *GetCannonLocationRequest) Reset() { *x = GetCannonLocationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[42] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2667,7 +2862,7 @@ func (x *GetCannonLocationRequest) String() string { func (*GetCannonLocationRequest) ProtoMessage() {} func (x *GetCannonLocationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[42] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2680,7 +2875,7 @@ func (x *GetCannonLocationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCannonLocationRequest.ProtoReflect.Descriptor instead. func (*GetCannonLocationRequest) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{42} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{45} } func (x *GetCannonLocationRequest) GetNetworkId() string { @@ -2708,7 +2903,7 @@ type GetCannonLocationResponse struct { func (x *GetCannonLocationResponse) Reset() { *x = GetCannonLocationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[43] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2721,7 +2916,7 @@ func (x *GetCannonLocationResponse) String() string { func (*GetCannonLocationResponse) ProtoMessage() {} func (x *GetCannonLocationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[43] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2734,7 +2929,7 @@ func (x *GetCannonLocationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCannonLocationResponse.ProtoReflect.Descriptor instead. func (*GetCannonLocationResponse) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{43} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{46} } func (x *GetCannonLocationResponse) GetLocation() *CannonLocation { @@ -2755,7 +2950,7 @@ type UpsertCannonLocationRequest struct { func (x *UpsertCannonLocationRequest) Reset() { *x = UpsertCannonLocationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[44] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2768,7 +2963,7 @@ func (x *UpsertCannonLocationRequest) String() string { func (*UpsertCannonLocationRequest) ProtoMessage() {} func (x *UpsertCannonLocationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[44] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2781,7 +2976,7 @@ func (x *UpsertCannonLocationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertCannonLocationRequest.ProtoReflect.Descriptor instead. func (*UpsertCannonLocationRequest) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{44} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{47} } func (x *UpsertCannonLocationRequest) GetLocation() *CannonLocation { @@ -2800,7 +2995,7 @@ type UpsertCannonLocationResponse struct { func (x *UpsertCannonLocationResponse) Reset() { *x = UpsertCannonLocationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[45] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2813,7 +3008,7 @@ func (x *UpsertCannonLocationResponse) String() string { func (*UpsertCannonLocationResponse) ProtoMessage() {} func (x *UpsertCannonLocationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[45] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2826,7 +3021,7 @@ func (x *UpsertCannonLocationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertCannonLocationResponse.ProtoReflect.Descriptor instead. func (*UpsertCannonLocationResponse) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{45} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{48} } // Track current slot for consistency processes @@ -2843,7 +3038,7 @@ type RelayMonitorSlotMarker struct { func (x *RelayMonitorSlotMarker) Reset() { *x = RelayMonitorSlotMarker{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[46] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2856,7 +3051,7 @@ func (x *RelayMonitorSlotMarker) String() string { func (*RelayMonitorSlotMarker) ProtoMessage() {} func (x *RelayMonitorSlotMarker) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[46] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2869,7 +3064,7 @@ func (x *RelayMonitorSlotMarker) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayMonitorSlotMarker.ProtoReflect.Descriptor instead. func (*RelayMonitorSlotMarker) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{46} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{49} } func (x *RelayMonitorSlotMarker) GetCurrentSlot() uint64 { @@ -2890,7 +3085,7 @@ type RelayMonitorLocationBidTrace struct { func (x *RelayMonitorLocationBidTrace) Reset() { *x = RelayMonitorLocationBidTrace{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[47] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2903,7 +3098,7 @@ func (x *RelayMonitorLocationBidTrace) String() string { func (*RelayMonitorLocationBidTrace) ProtoMessage() {} func (x *RelayMonitorLocationBidTrace) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[47] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2916,7 +3111,7 @@ func (x *RelayMonitorLocationBidTrace) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayMonitorLocationBidTrace.ProtoReflect.Descriptor instead. func (*RelayMonitorLocationBidTrace) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{47} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{50} } func (x *RelayMonitorLocationBidTrace) GetSlotMarker() *RelayMonitorSlotMarker { @@ -2937,7 +3132,7 @@ type RelayMonitorLocationPayloadDelivered struct { func (x *RelayMonitorLocationPayloadDelivered) Reset() { *x = RelayMonitorLocationPayloadDelivered{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[48] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2950,7 +3145,7 @@ func (x *RelayMonitorLocationPayloadDelivered) String() string { func (*RelayMonitorLocationPayloadDelivered) ProtoMessage() {} func (x *RelayMonitorLocationPayloadDelivered) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[48] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2963,7 +3158,7 @@ func (x *RelayMonitorLocationPayloadDelivered) ProtoReflect() protoreflect.Messa // Deprecated: Use RelayMonitorLocationPayloadDelivered.ProtoReflect.Descriptor instead. func (*RelayMonitorLocationPayloadDelivered) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{48} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{51} } func (x *RelayMonitorLocationPayloadDelivered) GetSlotMarker() *RelayMonitorSlotMarker { @@ -2992,7 +3187,7 @@ type RelayMonitorLocation struct { func (x *RelayMonitorLocation) Reset() { *x = RelayMonitorLocation{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[49] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3005,7 +3200,7 @@ func (x *RelayMonitorLocation) String() string { func (*RelayMonitorLocation) ProtoMessage() {} func (x *RelayMonitorLocation) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[49] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3018,7 +3213,7 @@ func (x *RelayMonitorLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayMonitorLocation.ProtoReflect.Descriptor instead. func (*RelayMonitorLocation) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{49} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{52} } func (x *RelayMonitorLocation) GetMetaNetworkName() string { @@ -3100,7 +3295,7 @@ type GetRelayMonitorLocationRequest struct { func (x *GetRelayMonitorLocationRequest) Reset() { *x = GetRelayMonitorLocationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[50] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3113,7 +3308,7 @@ func (x *GetRelayMonitorLocationRequest) String() string { func (*GetRelayMonitorLocationRequest) ProtoMessage() {} func (x *GetRelayMonitorLocationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[50] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3126,7 +3321,7 @@ func (x *GetRelayMonitorLocationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRelayMonitorLocationRequest.ProtoReflect.Descriptor instead. func (*GetRelayMonitorLocationRequest) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{50} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{53} } func (x *GetRelayMonitorLocationRequest) GetMetaNetworkName() string { @@ -3168,7 +3363,7 @@ type GetRelayMonitorLocationResponse struct { func (x *GetRelayMonitorLocationResponse) Reset() { *x = GetRelayMonitorLocationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[51] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3181,7 +3376,7 @@ func (x *GetRelayMonitorLocationResponse) String() string { func (*GetRelayMonitorLocationResponse) ProtoMessage() {} func (x *GetRelayMonitorLocationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[51] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3194,7 +3389,7 @@ func (x *GetRelayMonitorLocationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRelayMonitorLocationResponse.ProtoReflect.Descriptor instead. func (*GetRelayMonitorLocationResponse) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{51} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{54} } func (x *GetRelayMonitorLocationResponse) GetLocation() *RelayMonitorLocation { @@ -3215,7 +3410,7 @@ type UpsertRelayMonitorLocationRequest struct { func (x *UpsertRelayMonitorLocationRequest) Reset() { *x = UpsertRelayMonitorLocationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[52] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3228,7 +3423,7 @@ func (x *UpsertRelayMonitorLocationRequest) String() string { func (*UpsertRelayMonitorLocationRequest) ProtoMessage() {} func (x *UpsertRelayMonitorLocationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[52] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3241,7 +3436,7 @@ func (x *UpsertRelayMonitorLocationRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpsertRelayMonitorLocationRequest.ProtoReflect.Descriptor instead. func (*UpsertRelayMonitorLocationRequest) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{52} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{55} } func (x *UpsertRelayMonitorLocationRequest) GetLocation() *RelayMonitorLocation { @@ -3260,7 +3455,7 @@ type UpsertRelayMonitorLocationResponse struct { func (x *UpsertRelayMonitorLocationResponse) Reset() { *x = UpsertRelayMonitorLocationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[53] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3273,7 +3468,7 @@ func (x *UpsertRelayMonitorLocationResponse) String() string { func (*UpsertRelayMonitorLocationResponse) ProtoMessage() {} func (x *UpsertRelayMonitorLocationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[53] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3286,7 +3481,7 @@ func (x *UpsertRelayMonitorLocationResponse) ProtoReflect() protoreflect.Message // Deprecated: Use UpsertRelayMonitorLocationResponse.ProtoReflect.Descriptor instead. func (*UpsertRelayMonitorLocationResponse) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{53} + return file_pkg_proto_xatu_coordinator_proto_rawDescGZIP(), []int{56} } type ExecutionNodeStatus_Capability struct { @@ -3301,7 +3496,7 @@ type ExecutionNodeStatus_Capability struct { func (x *ExecutionNodeStatus_Capability) Reset() { *x = ExecutionNodeStatus_Capability{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[54] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3314,7 +3509,7 @@ func (x *ExecutionNodeStatus_Capability) String() string { func (*ExecutionNodeStatus_Capability) ProtoMessage() {} func (x *ExecutionNodeStatus_Capability) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[54] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3356,7 +3551,7 @@ type ExecutionNodeStatus_ForkID struct { func (x *ExecutionNodeStatus_ForkID) Reset() { *x = ExecutionNodeStatus_ForkID{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[55] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3369,7 +3564,7 @@ func (x *ExecutionNodeStatus_ForkID) String() string { func (*ExecutionNodeStatus_ForkID) ProtoMessage() {} func (x *ExecutionNodeStatus_ForkID) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[55] + mi := &file_pkg_proto_xatu_coordinator_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3763,395 +3958,463 @@ var file_pkg_proto_xatu_coordinator_proto_rawDesc = []byte{ 0x61, 0x74, 0x75, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1b, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0xe5, 0x10, 0x0a, - 0x0e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, - 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x6f, 0x6c, - 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, - 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, - 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, 0x97, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, - 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, - 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x30, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, - 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x52, - 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, - 0x7a, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, - 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x48, 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0x91, 0x01, 0x0a, + 0x28, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x1d, 0x62, 0x61, 0x63, + 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x72, 0x52, 0x1b, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, + 0x22, 0x99, 0x01, 0x0a, 0x30, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x1d, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, + 0x1b, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0x9a, 0x01, 0x0a, + 0x31, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x69, 0x64, 0x12, 0x65, 0x0a, 0x1d, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x1b, 0x62, 0x61, + 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0xb2, 0x14, 0x0a, 0x0e, 0x43, 0x61, + 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, + 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, + 0x74, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x12, 0x97, 0x01, 0x0a, 0x25, + 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, + 0x49, 0x54, 0x12, 0x97, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, + 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, 0x7a, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, + 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x48, 0x00, + 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x12, 0x97, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, + 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00, + 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, + 0x4e, 0x47, 0x12, 0xa7, 0x01, 0x0a, 0x2b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x6c, 0x73, 0x5f, 0x74, + 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, + 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6c, + 0x73, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, + 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x12, 0xa3, 0x01, 0x0a, + 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, + 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, - 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, 0xa7, 0x01, 0x0a, 0x2b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, - 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x6c, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, + 0x6b, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x29, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x49, + 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x12, 0x63, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, + 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, + 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x1e, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x77, 0x0a, + 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, 0x00, 0x52, + 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, + 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x73, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, + 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x64, 0x75, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x42, 0x6c, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, - 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x12, - 0xa3, 0x01, 0x0a, 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, + 0x6e, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x65, 0x72, 0x44, 0x75, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1f, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, + 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x12, 0xa6, 0x01, 0x0a, 0x2a, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x35, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, + 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x72, 0x0a, 0x18, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, + 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, + 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x12, 0x6f, 0x0a, 0x17, 0x65, 0x74, 0x68, 0x5f, + 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x48, 0x00, 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x7d, 0x0a, 0x1c, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x48, 0x00, 0x52, + 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x8e, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, + 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, + 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x12, 0x85, 0x01, 0x0a, 0x1f, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, - 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x48, 0x00, - 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x12, 0x63, 0x0a, 0x13, 0x65, - 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, - 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, - 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x12, 0x77, 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, - 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, - 0x48, 0x00, 0x52, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, - 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x73, 0x0a, 0x1b, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x73, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x44, 0x75, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1f, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x12, 0xa6, - 0x01, 0x0a, 0x2a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4c, 0x49, 0x53, + 0x54, 0x12, 0x9d, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x35, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x45, 0x4c, 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, - 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x72, 0x0a, 0x18, 0x65, 0x74, 0x68, 0x5f, 0x76, - 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x12, 0x6f, 0x0a, 0x17, 0x65, - 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x48, 0x00, 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x7d, 0x0a, 0x1c, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, - 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x8e, 0x01, 0x0a, 0x22, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, - 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x79, - 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x2d, 0x42, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, - 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, - 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x42, 0x06, 0x0a, 0x04, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x5f, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, - 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, - 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, - 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, - 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, - 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, - 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1e, 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, - 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x16, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, - 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, - 0x6f, 0x74, 0x22, 0x5d, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x64, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, - 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x72, 0x22, 0x65, 0x0a, 0x24, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, - 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, - 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x6c, - 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0xfb, 0x02, 0x0a, 0x14, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, - 0x74, 0x61, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x69, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x17, 0x52, 0x45, 0x4c, - 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x12, 0x68, 0x0a, 0x11, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x1f, 0x52, - 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x5f, 0x50, 0x41, 0x59, - 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x42, 0x06, - 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xc1, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x65, 0x74, - 0x61, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x1f, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x41, + 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x12, 0xa2, 0x01, 0x0a, 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, + 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x74, 0x68, 0x56, 0x32, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x48, 0x00, + 0x52, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x42, 0x06, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5f, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x4d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, + 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x21, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, + 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x1e, 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3b, 0x0a, 0x16, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, + 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x22, 0x5d, 0x0a, 0x1c, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x0b, + 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, + 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x22, 0x65, 0x0a, 0x24, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x24, 0x0a, 0x22, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x83, 0x06, 0x0a, 0x0a, 0x43, 0x61, 0x6e, - 0x6e, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, - 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, 0x00, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x6f, 0x74, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x72, 0x22, 0xfb, 0x02, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6d, + 0x65, 0x74, 0x61, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x5f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x09, + 0x62, 0x69, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x69, 0x64, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, + 0x49, 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x12, 0x68, + 0x0a, 0x11, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, + 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, + 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x42, 0x06, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x22, 0xc1, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x6d, 0x65, 0x74, 0x61, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x5b, 0x0a, 0x21, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x24, 0x0a, 0x22, + 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2a, 0xa5, 0x07, 0x0a, 0x0a, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x31, 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, + 0x49, 0x54, 0x10, 0x00, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, + 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x4f, - 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x01, - 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, - 0x43, 0x4b, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x10, 0x02, 0x12, 0x34, 0x0a, 0x30, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x44, 0x45, 0x50, + 0x4f, 0x53, 0x49, 0x54, 0x10, 0x02, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x45, + 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x3a, 0x0a, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, - 0x54, 0x54, 0x45, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, - 0x10, 0x03, 0x12, 0x3a, 0x0a, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, + 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x12, 0x38, 0x0a, 0x34, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, - 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x12, 0x38, - 0x0a, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x10, + 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x10, 0x07, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x09, + 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x44, + 0x55, 0x54, 0x59, 0x10, 0x0a, 0x12, 0x39, 0x0a, 0x35, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, + 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, + 0x12, 0x27, 0x0a, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x10, 0x0c, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, + 0x0d, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, + 0x4e, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x0e, 0x12, 0x31, + 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, - 0x52, 0x41, 0x57, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x07, 0x12, 0x29, 0x0a, 0x25, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, - 0x45, 0x43, 0x41, 0x52, 0x10, 0x09, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, - 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x10, 0x0a, 0x12, 0x39, 0x0a, 0x35, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, - 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, - 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x10, 0x0c, 0x12, - 0x26, 0x0a, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, - 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x0d, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, - 0x45, 0x45, 0x10, 0x0e, 0x12, 0x31, 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, 0x52, - 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x0f, 0x22, 0x04, 0x08, 0x08, 0x10, 0x08, 0x2a, 0x1f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x2a, 0x54, - 0x0a, 0x10, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, - 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, - 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, - 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, - 0x45, 0x44, 0x10, 0x01, 0x32, 0xfb, 0x0d, 0x0a, 0x0b, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, - 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, + 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, + 0x0f, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, + 0x10, 0x12, 0x36, 0x0a, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12, 0x38, 0x0a, 0x34, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, + 0x44, 0x10, 0x12, 0x22, 0x04, 0x08, 0x08, 0x10, 0x08, 0x2a, 0x1f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x43, 0x4c, 0x41, 0x53, + 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x2a, 0x54, 0x0a, 0x10, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, + 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x5f, + 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x52, + 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x5f, 0x50, 0x41, 0x59, + 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x01, + 0x32, 0xfb, 0x0d, 0x0a, 0x0b, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x56, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, + 0x0a, 0x1e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x80, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x12, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, - 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x2e, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, - 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, + 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x6c, + 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x7d, 0x0a, 0x1e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x12, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x65, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x69, - 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x47, 0x65, - 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, - 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2c, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x11, - 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, - 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, - 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, - 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x6e, - 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x71, 0x0a, 0x1a, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, - 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x61, 0x74, 0x75, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1e, + 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, + 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2b, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x16, 0x47, + 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x65, + 0x6e, 0x73, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, + 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x5f, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x68, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x1a, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, + 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, + 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4167,7 +4430,7 @@ func file_pkg_proto_xatu_coordinator_proto_rawDescGZIP() []byte { } var file_pkg_proto_xatu_coordinator_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_pkg_proto_xatu_coordinator_proto_msgTypes = make([]protoimpl.MessageInfo, 56) +var file_pkg_proto_xatu_coordinator_proto_msgTypes = make([]protoimpl.MessageInfo, 59) var file_pkg_proto_xatu_coordinator_proto_goTypes = []any{ (CannonType)(0), // 0: xatu.CannonType (RelayMonitorType)(0), // 1: xatu.RelayMonitorType @@ -4212,30 +4475,33 @@ var file_pkg_proto_xatu_coordinator_proto_goTypes = []any{ (*CannonLocationEthV1BeaconCommittee)(nil), // 40: xatu.CannonLocationEthV1BeaconCommittee (*CannonLocationEthV1BeaconSyncCommittee)(nil), // 41: xatu.CannonLocationEthV1BeaconSyncCommittee (*CannonLocationEthV2BeaconBlockSyncAggregate)(nil), // 42: xatu.CannonLocationEthV2BeaconBlockSyncAggregate - (*CannonLocation)(nil), // 43: xatu.CannonLocation - (*GetCannonLocationRequest)(nil), // 44: xatu.GetCannonLocationRequest - (*GetCannonLocationResponse)(nil), // 45: xatu.GetCannonLocationResponse - (*UpsertCannonLocationRequest)(nil), // 46: xatu.UpsertCannonLocationRequest - (*UpsertCannonLocationResponse)(nil), // 47: xatu.UpsertCannonLocationResponse - (*RelayMonitorSlotMarker)(nil), // 48: xatu.RelayMonitorSlotMarker - (*RelayMonitorLocationBidTrace)(nil), // 49: xatu.RelayMonitorLocationBidTrace - (*RelayMonitorLocationPayloadDelivered)(nil), // 50: xatu.RelayMonitorLocationPayloadDelivered - (*RelayMonitorLocation)(nil), // 51: xatu.RelayMonitorLocation - (*GetRelayMonitorLocationRequest)(nil), // 52: xatu.GetRelayMonitorLocationRequest - (*GetRelayMonitorLocationResponse)(nil), // 53: xatu.GetRelayMonitorLocationResponse - (*UpsertRelayMonitorLocationRequest)(nil), // 54: xatu.UpsertRelayMonitorLocationRequest - (*UpsertRelayMonitorLocationResponse)(nil), // 55: xatu.UpsertRelayMonitorLocationResponse - (*ExecutionNodeStatus_Capability)(nil), // 56: xatu.ExecutionNodeStatus.Capability - (*ExecutionNodeStatus_ForkID)(nil), // 57: xatu.ExecutionNodeStatus.ForkID - (*timestamppb.Timestamp)(nil), // 58: google.protobuf.Timestamp + (*CannonLocationEthV2BeaconBlockAccessList)(nil), // 43: xatu.CannonLocationEthV2BeaconBlockAccessList + (*CannonLocationEthV2BeaconBlockPayloadAttestation)(nil), // 44: xatu.CannonLocationEthV2BeaconBlockPayloadAttestation + (*CannonLocationEthV2BeaconBlockExecutionPayloadBid)(nil), // 45: xatu.CannonLocationEthV2BeaconBlockExecutionPayloadBid + (*CannonLocation)(nil), // 46: xatu.CannonLocation + (*GetCannonLocationRequest)(nil), // 47: xatu.GetCannonLocationRequest + (*GetCannonLocationResponse)(nil), // 48: xatu.GetCannonLocationResponse + (*UpsertCannonLocationRequest)(nil), // 49: xatu.UpsertCannonLocationRequest + (*UpsertCannonLocationResponse)(nil), // 50: xatu.UpsertCannonLocationResponse + (*RelayMonitorSlotMarker)(nil), // 51: xatu.RelayMonitorSlotMarker + (*RelayMonitorLocationBidTrace)(nil), // 52: xatu.RelayMonitorLocationBidTrace + (*RelayMonitorLocationPayloadDelivered)(nil), // 53: xatu.RelayMonitorLocationPayloadDelivered + (*RelayMonitorLocation)(nil), // 54: xatu.RelayMonitorLocation + (*GetRelayMonitorLocationRequest)(nil), // 55: xatu.GetRelayMonitorLocationRequest + (*GetRelayMonitorLocationResponse)(nil), // 56: xatu.GetRelayMonitorLocationResponse + (*UpsertRelayMonitorLocationRequest)(nil), // 57: xatu.UpsertRelayMonitorLocationRequest + (*UpsertRelayMonitorLocationResponse)(nil), // 58: xatu.UpsertRelayMonitorLocationResponse + (*ExecutionNodeStatus_Capability)(nil), // 59: xatu.ExecutionNodeStatus.Capability + (*ExecutionNodeStatus_ForkID)(nil), // 60: xatu.ExecutionNodeStatus.ForkID + (*timestamppb.Timestamp)(nil), // 61: google.protobuf.Timestamp } var file_pkg_proto_xatu_coordinator_proto_depIdxs = []int32{ - 56, // 0: xatu.ExecutionNodeStatus.capabilities:type_name -> xatu.ExecutionNodeStatus.Capability - 57, // 1: xatu.ExecutionNodeStatus.fork_id:type_name -> xatu.ExecutionNodeStatus.ForkID + 59, // 0: xatu.ExecutionNodeStatus.capabilities:type_name -> xatu.ExecutionNodeStatus.Capability + 60, // 1: xatu.ExecutionNodeStatus.fork_id:type_name -> xatu.ExecutionNodeStatus.ForkID 6, // 2: xatu.CreateExecutionNodeRecordStatusRequest.status:type_name -> xatu.ExecutionNodeStatus 9, // 3: xatu.CoordinateExecutionNodeRecordsRequest.node_records:type_name -> xatu.CoordinatedNodeRecord - 58, // 4: xatu.ConsensusNodeStatus.finalized_epoch_start_date_time:type_name -> google.protobuf.Timestamp - 58, // 5: xatu.ConsensusNodeStatus.head_slot_start_date_time:type_name -> google.protobuf.Timestamp + 61, // 4: xatu.ConsensusNodeStatus.finalized_epoch_start_date_time:type_name -> google.protobuf.Timestamp + 61, // 5: xatu.ConsensusNodeStatus.head_slot_start_date_time:type_name -> google.protobuf.Timestamp 12, // 6: xatu.CreateConsensusNodeRecordStatusRequest.status:type_name -> xatu.ConsensusNodeStatus 12, // 7: xatu.CreateConsensusNodeRecordStatusesRequest.statuses:type_name -> xatu.ConsensusNodeStatus 9, // 8: xatu.CoordinateConsensusNodeRecordsRequest.node_records:type_name -> xatu.CoordinatedNodeRecord @@ -4254,68 +4520,74 @@ var file_pkg_proto_xatu_coordinator_proto_depIdxs = []int32{ 27, // 21: xatu.CannonLocationEthV1BeaconCommittee.backfilling_checkpoint_marker:type_name -> xatu.BackfillingCheckpointMarker 27, // 22: xatu.CannonLocationEthV1BeaconSyncCommittee.backfilling_checkpoint_marker:type_name -> xatu.BackfillingCheckpointMarker 27, // 23: xatu.CannonLocationEthV2BeaconBlockSyncAggregate.backfilling_checkpoint_marker:type_name -> xatu.BackfillingCheckpointMarker - 0, // 24: xatu.CannonLocation.type:type_name -> xatu.CannonType - 28, // 25: xatu.CannonLocation.eth_v2_beacon_block_voluntary_exit:type_name -> xatu.CannonLocationEthV2BeaconBlockVoluntaryExit - 29, // 26: xatu.CannonLocation.eth_v2_beacon_block_proposer_slashing:type_name -> xatu.CannonLocationEthV2BeaconBlockProposerSlashing - 30, // 27: xatu.CannonLocation.eth_v2_beacon_block_deposit:type_name -> xatu.CannonLocationEthV2BeaconBlockDeposit - 31, // 28: xatu.CannonLocation.eth_v2_beacon_block_attester_slashing:type_name -> xatu.CannonLocationEthV2BeaconBlockAttesterSlashing - 32, // 29: xatu.CannonLocation.eth_v2_beacon_block_bls_to_execution_change:type_name -> xatu.CannonLocationEthV2BeaconBlockBlsToExecutionChange - 33, // 30: xatu.CannonLocation.eth_v2_beacon_block_execution_transaction:type_name -> xatu.CannonLocationEthV2BeaconBlockExecutionTransaction - 34, // 31: xatu.CannonLocation.eth_v2_beacon_block_withdrawal:type_name -> xatu.CannonLocationEthV2BeaconBlockWithdrawal - 35, // 32: xatu.CannonLocation.eth_v2_beacon_block:type_name -> xatu.CannonLocationEthV2BeaconBlock - 36, // 33: xatu.CannonLocation.eth_v1_beacon_blob_sidecar:type_name -> xatu.CannonLocationEthV1BeaconBlobSidecar - 37, // 34: xatu.CannonLocation.eth_v1_beacon_proposer_duty:type_name -> xatu.CannonLocationEthV1BeaconProposerDuty - 38, // 35: xatu.CannonLocation.eth_v2_beacon_block_elaborated_attestation:type_name -> xatu.CannonLocationEthV2BeaconBlockElaboratedAttestation - 39, // 36: xatu.CannonLocation.eth_v1_beacon_validators:type_name -> xatu.CannonLocationEthV1BeaconValidators - 40, // 37: xatu.CannonLocation.eth_v1_beacon_committee:type_name -> xatu.CannonLocationEthV1BeaconCommittee - 41, // 38: xatu.CannonLocation.eth_v1_beacon_sync_committee:type_name -> xatu.CannonLocationEthV1BeaconSyncCommittee - 42, // 39: xatu.CannonLocation.eth_v2_beacon_block_sync_aggregate:type_name -> xatu.CannonLocationEthV2BeaconBlockSyncAggregate - 0, // 40: xatu.GetCannonLocationRequest.type:type_name -> xatu.CannonType - 43, // 41: xatu.GetCannonLocationResponse.location:type_name -> xatu.CannonLocation - 43, // 42: xatu.UpsertCannonLocationRequest.location:type_name -> xatu.CannonLocation - 48, // 43: xatu.RelayMonitorLocationBidTrace.slot_marker:type_name -> xatu.RelayMonitorSlotMarker - 48, // 44: xatu.RelayMonitorLocationPayloadDelivered.slot_marker:type_name -> xatu.RelayMonitorSlotMarker - 1, // 45: xatu.RelayMonitorLocation.type:type_name -> xatu.RelayMonitorType - 49, // 46: xatu.RelayMonitorLocation.bid_trace:type_name -> xatu.RelayMonitorLocationBidTrace - 50, // 47: xatu.RelayMonitorLocation.payload_delivered:type_name -> xatu.RelayMonitorLocationPayloadDelivered - 1, // 48: xatu.GetRelayMonitorLocationRequest.type:type_name -> xatu.RelayMonitorType - 51, // 49: xatu.GetRelayMonitorLocationResponse.location:type_name -> xatu.RelayMonitorLocation - 51, // 50: xatu.UpsertRelayMonitorLocationRequest.location:type_name -> xatu.RelayMonitorLocation - 2, // 51: xatu.Coordinator.CreateNodeRecords:input_type -> xatu.CreateNodeRecordsRequest - 4, // 52: xatu.Coordinator.ListStalledExecutionNodeRecords:input_type -> xatu.ListStalledExecutionNodeRecordsRequest - 7, // 53: xatu.Coordinator.CreateExecutionNodeRecordStatus:input_type -> xatu.CreateExecutionNodeRecordStatusRequest - 10, // 54: xatu.Coordinator.CoordinateExecutionNodeRecords:input_type -> xatu.CoordinateExecutionNodeRecordsRequest - 13, // 55: xatu.Coordinator.ListStalledConsensusNodeRecords:input_type -> xatu.ListStalledConsensusNodeRecordsRequest - 15, // 56: xatu.Coordinator.CreateConsensusNodeRecordStatus:input_type -> xatu.CreateConsensusNodeRecordStatusRequest - 17, // 57: xatu.Coordinator.CreateConsensusNodeRecordStatuses:input_type -> xatu.CreateConsensusNodeRecordStatusesRequest - 19, // 58: xatu.Coordinator.CoordinateConsensusNodeRecords:input_type -> xatu.CoordinateConsensusNodeRecordsRequest - 21, // 59: xatu.Coordinator.GetDiscoveryNodeRecord:input_type -> xatu.GetDiscoveryNodeRecordRequest - 23, // 60: xatu.Coordinator.GetDiscoveryExecutionNodeRecord:input_type -> xatu.GetDiscoveryExecutionNodeRecordRequest - 25, // 61: xatu.Coordinator.GetDiscoveryConsensusNodeRecord:input_type -> xatu.GetDiscoveryConsensusNodeRecordRequest - 44, // 62: xatu.Coordinator.GetCannonLocation:input_type -> xatu.GetCannonLocationRequest - 46, // 63: xatu.Coordinator.UpsertCannonLocation:input_type -> xatu.UpsertCannonLocationRequest - 52, // 64: xatu.Coordinator.GetRelayMonitorLocation:input_type -> xatu.GetRelayMonitorLocationRequest - 54, // 65: xatu.Coordinator.UpsertRelayMonitorLocation:input_type -> xatu.UpsertRelayMonitorLocationRequest - 3, // 66: xatu.Coordinator.CreateNodeRecords:output_type -> xatu.CreateNodeRecordsResponse - 5, // 67: xatu.Coordinator.ListStalledExecutionNodeRecords:output_type -> xatu.ListStalledExecutionNodeRecordsResponse - 8, // 68: xatu.Coordinator.CreateExecutionNodeRecordStatus:output_type -> xatu.CreateExecutionNodeRecordStatusResponse - 11, // 69: xatu.Coordinator.CoordinateExecutionNodeRecords:output_type -> xatu.CoordinateExecutionNodeRecordsResponse - 14, // 70: xatu.Coordinator.ListStalledConsensusNodeRecords:output_type -> xatu.ListStalledConsensusNodeRecordsResponse - 16, // 71: xatu.Coordinator.CreateConsensusNodeRecordStatus:output_type -> xatu.CreateConsensusNodeRecordStatusResponse - 18, // 72: xatu.Coordinator.CreateConsensusNodeRecordStatuses:output_type -> xatu.CreateConsensusNodeRecordStatusesResponse - 20, // 73: xatu.Coordinator.CoordinateConsensusNodeRecords:output_type -> xatu.CoordinateConsensusNodeRecordsResponse - 22, // 74: xatu.Coordinator.GetDiscoveryNodeRecord:output_type -> xatu.GetDiscoveryNodeRecordResponse - 24, // 75: xatu.Coordinator.GetDiscoveryExecutionNodeRecord:output_type -> xatu.GetDiscoveryExecutionNodeRecordResponse - 26, // 76: xatu.Coordinator.GetDiscoveryConsensusNodeRecord:output_type -> xatu.GetDiscoveryConsensusNodeRecordResponse - 45, // 77: xatu.Coordinator.GetCannonLocation:output_type -> xatu.GetCannonLocationResponse - 47, // 78: xatu.Coordinator.UpsertCannonLocation:output_type -> xatu.UpsertCannonLocationResponse - 53, // 79: xatu.Coordinator.GetRelayMonitorLocation:output_type -> xatu.GetRelayMonitorLocationResponse - 55, // 80: xatu.Coordinator.UpsertRelayMonitorLocation:output_type -> xatu.UpsertRelayMonitorLocationResponse - 66, // [66:81] is the sub-list for method output_type - 51, // [51:66] is the sub-list for method input_type - 51, // [51:51] is the sub-list for extension type_name - 51, // [51:51] is the sub-list for extension extendee - 0, // [0:51] is the sub-list for field type_name + 27, // 24: xatu.CannonLocationEthV2BeaconBlockAccessList.backfilling_checkpoint_marker:type_name -> xatu.BackfillingCheckpointMarker + 27, // 25: xatu.CannonLocationEthV2BeaconBlockPayloadAttestation.backfilling_checkpoint_marker:type_name -> xatu.BackfillingCheckpointMarker + 27, // 26: xatu.CannonLocationEthV2BeaconBlockExecutionPayloadBid.backfilling_checkpoint_marker:type_name -> xatu.BackfillingCheckpointMarker + 0, // 27: xatu.CannonLocation.type:type_name -> xatu.CannonType + 28, // 28: xatu.CannonLocation.eth_v2_beacon_block_voluntary_exit:type_name -> xatu.CannonLocationEthV2BeaconBlockVoluntaryExit + 29, // 29: xatu.CannonLocation.eth_v2_beacon_block_proposer_slashing:type_name -> xatu.CannonLocationEthV2BeaconBlockProposerSlashing + 30, // 30: xatu.CannonLocation.eth_v2_beacon_block_deposit:type_name -> xatu.CannonLocationEthV2BeaconBlockDeposit + 31, // 31: xatu.CannonLocation.eth_v2_beacon_block_attester_slashing:type_name -> xatu.CannonLocationEthV2BeaconBlockAttesterSlashing + 32, // 32: xatu.CannonLocation.eth_v2_beacon_block_bls_to_execution_change:type_name -> xatu.CannonLocationEthV2BeaconBlockBlsToExecutionChange + 33, // 33: xatu.CannonLocation.eth_v2_beacon_block_execution_transaction:type_name -> xatu.CannonLocationEthV2BeaconBlockExecutionTransaction + 34, // 34: xatu.CannonLocation.eth_v2_beacon_block_withdrawal:type_name -> xatu.CannonLocationEthV2BeaconBlockWithdrawal + 35, // 35: xatu.CannonLocation.eth_v2_beacon_block:type_name -> xatu.CannonLocationEthV2BeaconBlock + 36, // 36: xatu.CannonLocation.eth_v1_beacon_blob_sidecar:type_name -> xatu.CannonLocationEthV1BeaconBlobSidecar + 37, // 37: xatu.CannonLocation.eth_v1_beacon_proposer_duty:type_name -> xatu.CannonLocationEthV1BeaconProposerDuty + 38, // 38: xatu.CannonLocation.eth_v2_beacon_block_elaborated_attestation:type_name -> xatu.CannonLocationEthV2BeaconBlockElaboratedAttestation + 39, // 39: xatu.CannonLocation.eth_v1_beacon_validators:type_name -> xatu.CannonLocationEthV1BeaconValidators + 40, // 40: xatu.CannonLocation.eth_v1_beacon_committee:type_name -> xatu.CannonLocationEthV1BeaconCommittee + 41, // 41: xatu.CannonLocation.eth_v1_beacon_sync_committee:type_name -> xatu.CannonLocationEthV1BeaconSyncCommittee + 42, // 42: xatu.CannonLocation.eth_v2_beacon_block_sync_aggregate:type_name -> xatu.CannonLocationEthV2BeaconBlockSyncAggregate + 43, // 43: xatu.CannonLocation.eth_v2_beacon_block_access_list:type_name -> xatu.CannonLocationEthV2BeaconBlockAccessList + 44, // 44: xatu.CannonLocation.eth_v2_beacon_block_payload_attestation:type_name -> xatu.CannonLocationEthV2BeaconBlockPayloadAttestation + 45, // 45: xatu.CannonLocation.eth_v2_beacon_block_execution_payload_bid:type_name -> xatu.CannonLocationEthV2BeaconBlockExecutionPayloadBid + 0, // 46: xatu.GetCannonLocationRequest.type:type_name -> xatu.CannonType + 46, // 47: xatu.GetCannonLocationResponse.location:type_name -> xatu.CannonLocation + 46, // 48: xatu.UpsertCannonLocationRequest.location:type_name -> xatu.CannonLocation + 51, // 49: xatu.RelayMonitorLocationBidTrace.slot_marker:type_name -> xatu.RelayMonitorSlotMarker + 51, // 50: xatu.RelayMonitorLocationPayloadDelivered.slot_marker:type_name -> xatu.RelayMonitorSlotMarker + 1, // 51: xatu.RelayMonitorLocation.type:type_name -> xatu.RelayMonitorType + 52, // 52: xatu.RelayMonitorLocation.bid_trace:type_name -> xatu.RelayMonitorLocationBidTrace + 53, // 53: xatu.RelayMonitorLocation.payload_delivered:type_name -> xatu.RelayMonitorLocationPayloadDelivered + 1, // 54: xatu.GetRelayMonitorLocationRequest.type:type_name -> xatu.RelayMonitorType + 54, // 55: xatu.GetRelayMonitorLocationResponse.location:type_name -> xatu.RelayMonitorLocation + 54, // 56: xatu.UpsertRelayMonitorLocationRequest.location:type_name -> xatu.RelayMonitorLocation + 2, // 57: xatu.Coordinator.CreateNodeRecords:input_type -> xatu.CreateNodeRecordsRequest + 4, // 58: xatu.Coordinator.ListStalledExecutionNodeRecords:input_type -> xatu.ListStalledExecutionNodeRecordsRequest + 7, // 59: xatu.Coordinator.CreateExecutionNodeRecordStatus:input_type -> xatu.CreateExecutionNodeRecordStatusRequest + 10, // 60: xatu.Coordinator.CoordinateExecutionNodeRecords:input_type -> xatu.CoordinateExecutionNodeRecordsRequest + 13, // 61: xatu.Coordinator.ListStalledConsensusNodeRecords:input_type -> xatu.ListStalledConsensusNodeRecordsRequest + 15, // 62: xatu.Coordinator.CreateConsensusNodeRecordStatus:input_type -> xatu.CreateConsensusNodeRecordStatusRequest + 17, // 63: xatu.Coordinator.CreateConsensusNodeRecordStatuses:input_type -> xatu.CreateConsensusNodeRecordStatusesRequest + 19, // 64: xatu.Coordinator.CoordinateConsensusNodeRecords:input_type -> xatu.CoordinateConsensusNodeRecordsRequest + 21, // 65: xatu.Coordinator.GetDiscoveryNodeRecord:input_type -> xatu.GetDiscoveryNodeRecordRequest + 23, // 66: xatu.Coordinator.GetDiscoveryExecutionNodeRecord:input_type -> xatu.GetDiscoveryExecutionNodeRecordRequest + 25, // 67: xatu.Coordinator.GetDiscoveryConsensusNodeRecord:input_type -> xatu.GetDiscoveryConsensusNodeRecordRequest + 47, // 68: xatu.Coordinator.GetCannonLocation:input_type -> xatu.GetCannonLocationRequest + 49, // 69: xatu.Coordinator.UpsertCannonLocation:input_type -> xatu.UpsertCannonLocationRequest + 55, // 70: xatu.Coordinator.GetRelayMonitorLocation:input_type -> xatu.GetRelayMonitorLocationRequest + 57, // 71: xatu.Coordinator.UpsertRelayMonitorLocation:input_type -> xatu.UpsertRelayMonitorLocationRequest + 3, // 72: xatu.Coordinator.CreateNodeRecords:output_type -> xatu.CreateNodeRecordsResponse + 5, // 73: xatu.Coordinator.ListStalledExecutionNodeRecords:output_type -> xatu.ListStalledExecutionNodeRecordsResponse + 8, // 74: xatu.Coordinator.CreateExecutionNodeRecordStatus:output_type -> xatu.CreateExecutionNodeRecordStatusResponse + 11, // 75: xatu.Coordinator.CoordinateExecutionNodeRecords:output_type -> xatu.CoordinateExecutionNodeRecordsResponse + 14, // 76: xatu.Coordinator.ListStalledConsensusNodeRecords:output_type -> xatu.ListStalledConsensusNodeRecordsResponse + 16, // 77: xatu.Coordinator.CreateConsensusNodeRecordStatus:output_type -> xatu.CreateConsensusNodeRecordStatusResponse + 18, // 78: xatu.Coordinator.CreateConsensusNodeRecordStatuses:output_type -> xatu.CreateConsensusNodeRecordStatusesResponse + 20, // 79: xatu.Coordinator.CoordinateConsensusNodeRecords:output_type -> xatu.CoordinateConsensusNodeRecordsResponse + 22, // 80: xatu.Coordinator.GetDiscoveryNodeRecord:output_type -> xatu.GetDiscoveryNodeRecordResponse + 24, // 81: xatu.Coordinator.GetDiscoveryExecutionNodeRecord:output_type -> xatu.GetDiscoveryExecutionNodeRecordResponse + 26, // 82: xatu.Coordinator.GetDiscoveryConsensusNodeRecord:output_type -> xatu.GetDiscoveryConsensusNodeRecordResponse + 48, // 83: xatu.Coordinator.GetCannonLocation:output_type -> xatu.GetCannonLocationResponse + 50, // 84: xatu.Coordinator.UpsertCannonLocation:output_type -> xatu.UpsertCannonLocationResponse + 56, // 85: xatu.Coordinator.GetRelayMonitorLocation:output_type -> xatu.GetRelayMonitorLocationResponse + 58, // 86: xatu.Coordinator.UpsertRelayMonitorLocation:output_type -> xatu.UpsertRelayMonitorLocationResponse + 72, // [72:87] is the sub-list for method output_type + 57, // [57:72] is the sub-list for method input_type + 57, // [57:57] is the sub-list for extension type_name + 57, // [57:57] is the sub-list for extension extendee + 0, // [0:57] is the sub-list for field type_name } func init() { file_pkg_proto_xatu_coordinator_proto_init() } @@ -4817,7 +5089,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*CannonLocation); i { + switch v := v.(*CannonLocationEthV2BeaconBlockAccessList); i { case 0: return &v.state case 1: @@ -4829,7 +5101,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*GetCannonLocationRequest); i { + switch v := v.(*CannonLocationEthV2BeaconBlockPayloadAttestation); i { case 0: return &v.state case 1: @@ -4841,7 +5113,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[43].Exporter = func(v any, i int) any { - switch v := v.(*GetCannonLocationResponse); i { + switch v := v.(*CannonLocationEthV2BeaconBlockExecutionPayloadBid); i { case 0: return &v.state case 1: @@ -4853,7 +5125,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[44].Exporter = func(v any, i int) any { - switch v := v.(*UpsertCannonLocationRequest); i { + switch v := v.(*CannonLocation); i { case 0: return &v.state case 1: @@ -4865,7 +5137,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[45].Exporter = func(v any, i int) any { - switch v := v.(*UpsertCannonLocationResponse); i { + switch v := v.(*GetCannonLocationRequest); i { case 0: return &v.state case 1: @@ -4877,7 +5149,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[46].Exporter = func(v any, i int) any { - switch v := v.(*RelayMonitorSlotMarker); i { + switch v := v.(*GetCannonLocationResponse); i { case 0: return &v.state case 1: @@ -4889,7 +5161,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[47].Exporter = func(v any, i int) any { - switch v := v.(*RelayMonitorLocationBidTrace); i { + switch v := v.(*UpsertCannonLocationRequest); i { case 0: return &v.state case 1: @@ -4901,7 +5173,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[48].Exporter = func(v any, i int) any { - switch v := v.(*RelayMonitorLocationPayloadDelivered); i { + switch v := v.(*UpsertCannonLocationResponse); i { case 0: return &v.state case 1: @@ -4913,7 +5185,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[49].Exporter = func(v any, i int) any { - switch v := v.(*RelayMonitorLocation); i { + switch v := v.(*RelayMonitorSlotMarker); i { case 0: return &v.state case 1: @@ -4925,7 +5197,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[50].Exporter = func(v any, i int) any { - switch v := v.(*GetRelayMonitorLocationRequest); i { + switch v := v.(*RelayMonitorLocationBidTrace); i { case 0: return &v.state case 1: @@ -4937,7 +5209,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[51].Exporter = func(v any, i int) any { - switch v := v.(*GetRelayMonitorLocationResponse); i { + switch v := v.(*RelayMonitorLocationPayloadDelivered); i { case 0: return &v.state case 1: @@ -4949,7 +5221,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[52].Exporter = func(v any, i int) any { - switch v := v.(*UpsertRelayMonitorLocationRequest); i { + switch v := v.(*RelayMonitorLocation); i { case 0: return &v.state case 1: @@ -4961,7 +5233,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[53].Exporter = func(v any, i int) any { - switch v := v.(*UpsertRelayMonitorLocationResponse); i { + switch v := v.(*GetRelayMonitorLocationRequest); i { case 0: return &v.state case 1: @@ -4973,7 +5245,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[54].Exporter = func(v any, i int) any { - switch v := v.(*ExecutionNodeStatus_Capability); i { + switch v := v.(*GetRelayMonitorLocationResponse); i { case 0: return &v.state case 1: @@ -4985,6 +5257,42 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } file_pkg_proto_xatu_coordinator_proto_msgTypes[55].Exporter = func(v any, i int) any { + switch v := v.(*UpsertRelayMonitorLocationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_coordinator_proto_msgTypes[56].Exporter = func(v any, i int) any { + switch v := v.(*UpsertRelayMonitorLocationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_coordinator_proto_msgTypes[57].Exporter = func(v any, i int) any { + switch v := v.(*ExecutionNodeStatus_Capability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_coordinator_proto_msgTypes[58].Exporter = func(v any, i int) any { switch v := v.(*ExecutionNodeStatus_ForkID); i { case 0: return &v.state @@ -4997,7 +5305,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { } } } - file_pkg_proto_xatu_coordinator_proto_msgTypes[41].OneofWrappers = []any{ + file_pkg_proto_xatu_coordinator_proto_msgTypes[44].OneofWrappers = []any{ (*CannonLocation_EthV2BeaconBlockVoluntaryExit)(nil), (*CannonLocation_EthV2BeaconBlockProposerSlashing)(nil), (*CannonLocation_EthV2BeaconBlockDeposit)(nil), @@ -5013,8 +5321,11 @@ func file_pkg_proto_xatu_coordinator_proto_init() { (*CannonLocation_EthV1BeaconCommittee)(nil), (*CannonLocation_EthV1BeaconSyncCommittee)(nil), (*CannonLocation_EthV2BeaconBlockSyncAggregate)(nil), + (*CannonLocation_EthV2BeaconBlockAccessList)(nil), + (*CannonLocation_EthV2BeaconBlockPayloadAttestation)(nil), + (*CannonLocation_EthV2BeaconBlockExecutionPayloadBid)(nil), } - file_pkg_proto_xatu_coordinator_proto_msgTypes[49].OneofWrappers = []any{ + file_pkg_proto_xatu_coordinator_proto_msgTypes[52].OneofWrappers = []any{ (*RelayMonitorLocation_BidTrace)(nil), (*RelayMonitorLocation_PayloadDelivered)(nil), } @@ -5024,7 +5335,7 @@ func file_pkg_proto_xatu_coordinator_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_xatu_coordinator_proto_rawDesc, NumEnums: 2, - NumMessages: 56, + NumMessages: 59, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/xatu/coordinator.proto b/pkg/proto/xatu/coordinator.proto index 0ef43a56..3e7380ee 100644 --- a/pkg/proto/xatu/coordinator.proto +++ b/pkg/proto/xatu/coordinator.proto @@ -197,6 +197,11 @@ enum CannonType { BEACON_API_ETH_V1_BEACON_COMMITTEE = 13; BEACON_API_ETH_V1_BEACON_SYNC_COMMITTEE = 14; BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE = 15; + BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST = 16; + + // EIP-7732 ePBS cannon types + BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION = 17; + BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID = 18; } message BackfillingCheckpointMarker { @@ -275,6 +280,19 @@ message CannonLocationEthV2BeaconBlockSyncAggregate { BackfillingCheckpointMarker backfilling_checkpoint_marker = 1; } +message CannonLocationEthV2BeaconBlockAccessList { + BackfillingCheckpointMarker backfilling_checkpoint_marker = 1; +} + +// EIP-7732 ePBS cannon location types +message CannonLocationEthV2BeaconBlockPayloadAttestation { + BackfillingCheckpointMarker backfilling_checkpoint_marker = 1; +} + +message CannonLocationEthV2BeaconBlockExecutionPayloadBid { + BackfillingCheckpointMarker backfilling_checkpoint_marker = 1; +} + message CannonLocation { string network_id = 1; CannonType type = 2; @@ -318,6 +336,14 @@ message CannonLocation { [ json_name = "BEACON_API_ETH_V1_BEACON_SYNC_COMMITTEE" ]; CannonLocationEthV2BeaconBlockSyncAggregate eth_v2_beacon_block_sync_aggregate = 18 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE" ]; + CannonLocationEthV2BeaconBlockAccessList eth_v2_beacon_block_access_list = 19 + [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST" ]; + + // EIP-7732 ePBS + CannonLocationEthV2BeaconBlockPayloadAttestation eth_v2_beacon_block_payload_attestation = 20 + [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION" ]; + CannonLocationEthV2BeaconBlockExecutionPayloadBid eth_v2_beacon_block_execution_payload_bid = 21 + [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID" ]; } } diff --git a/pkg/proto/xatu/coordinator_vtproto.pb.go b/pkg/proto/xatu/coordinator_vtproto.pb.go index 1b7fd45c..b97f7b34 100644 --- a/pkg/proto/xatu/coordinator_vtproto.pb.go +++ b/pkg/proto/xatu/coordinator_vtproto.pb.go @@ -2145,6 +2145,135 @@ func (m *CannonLocationEthV2BeaconBlockSyncAggregate) MarshalToSizedBufferVT(dAt return len(dAtA) - i, nil } +func (m *CannonLocationEthV2BeaconBlockAccessList) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CannonLocationEthV2BeaconBlockAccessList) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CannonLocationEthV2BeaconBlockAccessList) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.BackfillingCheckpointMarker != nil { + size, err := m.BackfillingCheckpointMarker.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CannonLocationEthV2BeaconBlockPayloadAttestation) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CannonLocationEthV2BeaconBlockPayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CannonLocationEthV2BeaconBlockPayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.BackfillingCheckpointMarker != nil { + size, err := m.BackfillingCheckpointMarker.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CannonLocationEthV2BeaconBlockExecutionPayloadBid) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CannonLocationEthV2BeaconBlockExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CannonLocationEthV2BeaconBlockExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.BackfillingCheckpointMarker != nil { + size, err := m.BackfillingCheckpointMarker.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *CannonLocation) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -2490,6 +2619,69 @@ func (m *CannonLocation_EthV2BeaconBlockSyncAggregate) MarshalToSizedBufferVT(dA } return len(dAtA) - i, nil } +func (m *CannonLocation_EthV2BeaconBlockAccessList) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CannonLocation_EthV2BeaconBlockAccessList) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockAccessList != nil { + size, err := m.EthV2BeaconBlockAccessList.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a + } + return len(dAtA) - i, nil +} +func (m *CannonLocation_EthV2BeaconBlockPayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CannonLocation_EthV2BeaconBlockPayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockPayloadAttestation != nil { + size, err := m.EthV2BeaconBlockPayloadAttestation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa2 + } + return len(dAtA) - i, nil +} +func (m *CannonLocation_EthV2BeaconBlockExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CannonLocation_EthV2BeaconBlockExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockExecutionPayloadBid != nil { + size, err := m.EthV2BeaconBlockExecutionPayloadBid.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xaa + } + return len(dAtA) - i, nil +} func (m *GetCannonLocationRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -4057,6 +4249,72 @@ func CannonLocationEthV2BeaconBlockSyncAggregateFromVTPool() *CannonLocationEthV return vtprotoPool_CannonLocationEthV2BeaconBlockSyncAggregate.Get().(*CannonLocationEthV2BeaconBlockSyncAggregate) } +var vtprotoPool_CannonLocationEthV2BeaconBlockAccessList = sync.Pool{ + New: func() interface{} { + return &CannonLocationEthV2BeaconBlockAccessList{} + }, +} + +func (m *CannonLocationEthV2BeaconBlockAccessList) ResetVT() { + if m != nil { + m.BackfillingCheckpointMarker.ReturnToVTPool() + m.Reset() + } +} +func (m *CannonLocationEthV2BeaconBlockAccessList) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_CannonLocationEthV2BeaconBlockAccessList.Put(m) + } +} +func CannonLocationEthV2BeaconBlockAccessListFromVTPool() *CannonLocationEthV2BeaconBlockAccessList { + return vtprotoPool_CannonLocationEthV2BeaconBlockAccessList.Get().(*CannonLocationEthV2BeaconBlockAccessList) +} + +var vtprotoPool_CannonLocationEthV2BeaconBlockPayloadAttestation = sync.Pool{ + New: func() interface{} { + return &CannonLocationEthV2BeaconBlockPayloadAttestation{} + }, +} + +func (m *CannonLocationEthV2BeaconBlockPayloadAttestation) ResetVT() { + if m != nil { + m.BackfillingCheckpointMarker.ReturnToVTPool() + m.Reset() + } +} +func (m *CannonLocationEthV2BeaconBlockPayloadAttestation) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_CannonLocationEthV2BeaconBlockPayloadAttestation.Put(m) + } +} +func CannonLocationEthV2BeaconBlockPayloadAttestationFromVTPool() *CannonLocationEthV2BeaconBlockPayloadAttestation { + return vtprotoPool_CannonLocationEthV2BeaconBlockPayloadAttestation.Get().(*CannonLocationEthV2BeaconBlockPayloadAttestation) +} + +var vtprotoPool_CannonLocationEthV2BeaconBlockExecutionPayloadBid = sync.Pool{ + New: func() interface{} { + return &CannonLocationEthV2BeaconBlockExecutionPayloadBid{} + }, +} + +func (m *CannonLocationEthV2BeaconBlockExecutionPayloadBid) ResetVT() { + if m != nil { + m.BackfillingCheckpointMarker.ReturnToVTPool() + m.Reset() + } +} +func (m *CannonLocationEthV2BeaconBlockExecutionPayloadBid) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_CannonLocationEthV2BeaconBlockExecutionPayloadBid.Put(m) + } +} +func CannonLocationEthV2BeaconBlockExecutionPayloadBidFromVTPool() *CannonLocationEthV2BeaconBlockExecutionPayloadBid { + return vtprotoPool_CannonLocationEthV2BeaconBlockExecutionPayloadBid.Get().(*CannonLocationEthV2BeaconBlockExecutionPayloadBid) +} + var vtprotoPool_CannonLocation = sync.Pool{ New: func() interface{} { return &CannonLocation{} @@ -4110,6 +4368,15 @@ func (m *CannonLocation) ResetVT() { if oneof, ok := m.Data.(*CannonLocation_EthV2BeaconBlockSyncAggregate); ok { oneof.EthV2BeaconBlockSyncAggregate.ReturnToVTPool() } + if oneof, ok := m.Data.(*CannonLocation_EthV2BeaconBlockAccessList); ok { + oneof.EthV2BeaconBlockAccessList.ReturnToVTPool() + } + if oneof, ok := m.Data.(*CannonLocation_EthV2BeaconBlockPayloadAttestation); ok { + oneof.EthV2BeaconBlockPayloadAttestation.ReturnToVTPool() + } + if oneof, ok := m.Data.(*CannonLocation_EthV2BeaconBlockExecutionPayloadBid); ok { + oneof.EthV2BeaconBlockExecutionPayloadBid.ReturnToVTPool() + } m.Reset() } } @@ -5168,6 +5435,48 @@ func (m *CannonLocationEthV2BeaconBlockSyncAggregate) SizeVT() (n int) { return n } +func (m *CannonLocationEthV2BeaconBlockAccessList) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BackfillingCheckpointMarker != nil { + l = m.BackfillingCheckpointMarker.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *CannonLocationEthV2BeaconBlockPayloadAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BackfillingCheckpointMarker != nil { + l = m.BackfillingCheckpointMarker.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *CannonLocationEthV2BeaconBlockExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BackfillingCheckpointMarker != nil { + l = m.BackfillingCheckpointMarker.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *CannonLocation) SizeVT() (n int) { if m == nil { return 0 @@ -5368,7 +5677,43 @@ func (m *CannonLocation_EthV2BeaconBlockSyncAggregate) SizeVT() (n int) { } return n } -func (m *GetCannonLocationRequest) SizeVT() (n int) { +func (m *CannonLocation_EthV2BeaconBlockAccessList) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockAccessList != nil { + l = m.EthV2BeaconBlockAccessList.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *CannonLocation_EthV2BeaconBlockPayloadAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockPayloadAttestation != nil { + l = m.EthV2BeaconBlockPayloadAttestation.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *CannonLocation_EthV2BeaconBlockExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockExecutionPayloadBid != nil { + l = m.EthV2BeaconBlockExecutionPayloadBid.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *GetCannonLocationRequest) SizeVT() (n int) { if m == nil { return 0 } @@ -10494,6 +10839,267 @@ func (m *CannonLocationEthV2BeaconBlockSyncAggregate) UnmarshalVT(dAtA []byte) e } return nil } +func (m *CannonLocationEthV2BeaconBlockAccessList) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CannonLocationEthV2BeaconBlockAccessList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CannonLocationEthV2BeaconBlockAccessList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BackfillingCheckpointMarker", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BackfillingCheckpointMarker == nil { + m.BackfillingCheckpointMarker = BackfillingCheckpointMarkerFromVTPool() + } + if err := m.BackfillingCheckpointMarker.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CannonLocationEthV2BeaconBlockPayloadAttestation) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CannonLocationEthV2BeaconBlockPayloadAttestation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CannonLocationEthV2BeaconBlockPayloadAttestation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BackfillingCheckpointMarker", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BackfillingCheckpointMarker == nil { + m.BackfillingCheckpointMarker = BackfillingCheckpointMarkerFromVTPool() + } + if err := m.BackfillingCheckpointMarker.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CannonLocationEthV2BeaconBlockExecutionPayloadBid) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CannonLocationEthV2BeaconBlockExecutionPayloadBid: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CannonLocationEthV2BeaconBlockExecutionPayloadBid: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BackfillingCheckpointMarker", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BackfillingCheckpointMarker == nil { + m.BackfillingCheckpointMarker = BackfillingCheckpointMarkerFromVTPool() + } + if err := m.BackfillingCheckpointMarker.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *CannonLocation) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -11189,6 +11795,129 @@ func (m *CannonLocation) UnmarshalVT(dAtA []byte) error { m.Data = &CannonLocation_EthV2BeaconBlockSyncAggregate{EthV2BeaconBlockSyncAggregate: v} } iNdEx = postIndex + case 19: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockAccessList", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Data.(*CannonLocation_EthV2BeaconBlockAccessList); ok { + if err := oneof.EthV2BeaconBlockAccessList.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := CannonLocationEthV2BeaconBlockAccessListFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Data = &CannonLocation_EthV2BeaconBlockAccessList{EthV2BeaconBlockAccessList: v} + } + iNdEx = postIndex + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockPayloadAttestation", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Data.(*CannonLocation_EthV2BeaconBlockPayloadAttestation); ok { + if err := oneof.EthV2BeaconBlockPayloadAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := CannonLocationEthV2BeaconBlockPayloadAttestationFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Data = &CannonLocation_EthV2BeaconBlockPayloadAttestation{EthV2BeaconBlockPayloadAttestation: v} + } + iNdEx = postIndex + case 21: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockExecutionPayloadBid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Data.(*CannonLocation_EthV2BeaconBlockExecutionPayloadBid); ok { + if err := oneof.EthV2BeaconBlockExecutionPayloadBid.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := CannonLocationEthV2BeaconBlockExecutionPayloadBidFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Data = &CannonLocation_EthV2BeaconBlockExecutionPayloadBid{EthV2BeaconBlockExecutionPayloadBid: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/pkg/proto/xatu/event_ingester.pb.go b/pkg/proto/xatu/event_ingester.pb.go index 2c422be2..d2c1c296 100644 --- a/pkg/proto/xatu/event_ingester.pb.go +++ b/pkg/proto/xatu/event_ingester.pb.go @@ -175,100 +175,138 @@ const ( Event_EXECUTION_BLOCK_METRICS Event_Name = 87 Event_LIBP2P_TRACE_IDENTIFY Event_Name = 88 Event_BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION Event_Name = 89 + Event_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST Event_Name = 90 + // EIP-7732 ePBS: Sentry SSE events + Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD Event_Name = 91 + Event_BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION Event_Name = 92 + Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID Event_Name = 93 + Event_BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES Event_Name = 94 + Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP Event_Name = 101 + Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE Event_Name = 102 + // EIP-7732 ePBS: Cannon derived events + Event_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION Event_Name = 95 + Event_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID Event_Name = 96 + // EIP-7732 ePBS: P2P gossip events + Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE Event_Name = 97 + Event_LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID Event_Name = 98 + Event_LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE Event_Name = 99 + Event_LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES Event_Name = 100 + // EIP-7732 ePBS: Synthesized observability events from beacon-node internals + // (TYSM-instrumented). No beacon API equivalent today. Captured by every + // beacon node, not just proposers — multi-witness signal. + Event_BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED Event_Name = 103 + Event_BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT Event_Name = 104 + Event_BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED Event_Name = 105 ) // Enum value maps for Event_Name. var ( Event_Name_name = map[int32]string{ - 0: "BEACON_API_ETH_V1_EVENTS_UNKNOWN", - 1: "BEACON_API_ETH_V1_EVENTS_BLOCK", - 2: "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG", - 3: "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT", - 4: "BEACON_API_ETH_V1_EVENTS_HEAD", - 5: "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT", - 6: "BEACON_API_ETH_V1_EVENTS_ATTESTATION", - 7: "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF", - 8: "MEMPOOL_TRANSACTION", - 9: "BEACON_API_ETH_V2_BEACON_BLOCK", - 10: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE", - 11: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG", - 12: "BEACON_API_ETH_V1_BEACON_COMMITTEE", - 13: "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA", - 14: "BEACON_API_ETH_V1_EVENTS_BLOCK_V2", - 15: "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2", - 16: "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2", - 17: "BEACON_API_ETH_V1_EVENTS_HEAD_V2", - 18: "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2", - 19: "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2", - 20: "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2", - 21: "MEMPOOL_TRANSACTION_V2", - 22: "BEACON_API_ETH_V2_BEACON_BLOCK_V2", - 23: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2", - 24: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2", - 25: "BEACON_API_ETH_V2_BEACON_BLOCK_ATTESTER_SLASHING", - 26: "BEACON_API_ETH_V2_BEACON_BLOCK_PROPOSER_SLASHING", - 27: "BEACON_API_ETH_V2_BEACON_BLOCK_VOLUNTARY_EXIT", - 28: "BEACON_API_ETH_V2_BEACON_BLOCK_DEPOSIT", - 29: "BEACON_API_ETH_V2_BEACON_BLOCK_BLS_TO_EXECUTION_CHANGE", - 30: "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_TRANSACTION", - 31: "BEACON_API_ETH_V2_BEACON_BLOCK_WITHDRAWAL", - 32: "BEACON_API_ETH_V1_EVENTS_BLOB_SIDECAR", - 34: "BEACON_API_ETH_V1_BEACON_BLOB_SIDECAR", - 35: "BEACON_P2P_ATTESTATION", - 36: "BEACON_API_ETH_V1_PROPOSER_DUTY", - 37: "BEACON_API_ETH_V2_BEACON_BLOCK_ELABORATED_ATTESTATION", - 38: "LIBP2P_TRACE_CONNECTED", - 39: "LIBP2P_TRACE_DISCONNECTED", - 40: "LIBP2P_TRACE_ADD_PEER", - 41: "LIBP2P_TRACE_REMOVE_PEER", - 42: "LIBP2P_TRACE_RECV_RPC", - 43: "LIBP2P_TRACE_SEND_RPC", - 44: "LIBP2P_TRACE_DROP_RPC", - 45: "LIBP2P_TRACE_JOIN", - 46: "LIBP2P_TRACE_UNKNOWN", - 47: "LIBP2P_TRACE_HANDLE_METADATA", - 48: "LIBP2P_TRACE_HANDLE_STATUS", - 49: "LIBP2P_TRACE_GOSSIPSUB_BEACON_BLOCK", - 50: "LIBP2P_TRACE_GOSSIPSUB_BEACON_ATTESTATION", - 51: "LIBP2P_TRACE_GOSSIPSUB_BLOB_SIDECAR", - 52: "BEACON_API_ETH_V1_BEACON_VALIDATORS", - 53: "MEV_RELAY_BID_TRACE_BUILDER_BLOCK_SUBMISSION", - 54: "MEV_RELAY_PROPOSER_PAYLOAD_DELIVERED", - 55: "BEACON_API_ETH_V3_VALIDATOR_BLOCK", - 56: "MEV_RELAY_VALIDATOR_REGISTRATION", - 57: "BEACON_API_ETH_V1_EVENTS_BLOCK_GOSSIP", - 58: "LIBP2P_TRACE_LEAVE", - 59: "LIBP2P_TRACE_GRAFT", - 60: "LIBP2P_TRACE_PRUNE", - 61: "LIBP2P_TRACE_DUPLICATE_MESSAGE", - 62: "LIBP2P_TRACE_DELIVER_MESSAGE", - 63: "LIBP2P_TRACE_PUBLISH_MESSAGE", - 64: "LIBP2P_TRACE_REJECT_MESSAGE", - 65: "LIBP2P_TRACE_RPC_META_CONTROL_IHAVE", - 66: "LIBP2P_TRACE_RPC_META_CONTROL_IWANT", - 67: "LIBP2P_TRACE_RPC_META_CONTROL_IDONTWANT", - 68: "LIBP2P_TRACE_RPC_META_CONTROL_GRAFT", - 69: "LIBP2P_TRACE_RPC_META_CONTROL_PRUNE", - 70: "LIBP2P_TRACE_RPC_META_SUBSCRIPTION", - 71: "LIBP2P_TRACE_RPC_META_MESSAGE", - 72: "NODE_RECORD_CONSENSUS", - 73: "NODE_RECORD_EXECUTION", - 74: "LIBP2P_TRACE_GOSSIPSUB_AGGREGATE_AND_PROOF", - 75: "BEACON_API_ETH_V1_EVENTS_DATA_COLUMN_SIDECAR", - 76: "LIBP2P_TRACE_GOSSIPSUB_DATA_COLUMN_SIDECAR", - 77: "LIBP2P_TRACE_SYNTHETIC_HEARTBEAT", - 78: "LIBP2P_TRACE_RPC_DATA_COLUMN_CUSTODY_PROBE", - 79: "EXECUTION_STATE_SIZE", - 80: "CONSENSUS_ENGINE_API_NEW_PAYLOAD", - 81: "CONSENSUS_ENGINE_API_GET_BLOBS", - 82: "EXECUTION_ENGINE_NEW_PAYLOAD", - 83: "EXECUTION_ENGINE_GET_BLOBS", - 84: "BEACON_API_ETH_V1_BEACON_BLOB", - 85: "BEACON_API_ETH_V1_BEACON_SYNC_COMMITTEE", - 86: "BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE", - 87: "EXECUTION_BLOCK_METRICS", - 88: "LIBP2P_TRACE_IDENTIFY", - 89: "BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION", + 0: "BEACON_API_ETH_V1_EVENTS_UNKNOWN", + 1: "BEACON_API_ETH_V1_EVENTS_BLOCK", + 2: "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG", + 3: "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT", + 4: "BEACON_API_ETH_V1_EVENTS_HEAD", + 5: "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT", + 6: "BEACON_API_ETH_V1_EVENTS_ATTESTATION", + 7: "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF", + 8: "MEMPOOL_TRANSACTION", + 9: "BEACON_API_ETH_V2_BEACON_BLOCK", + 10: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE", + 11: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG", + 12: "BEACON_API_ETH_V1_BEACON_COMMITTEE", + 13: "BEACON_API_ETH_V1_VALIDATOR_ATTESTATION_DATA", + 14: "BEACON_API_ETH_V1_EVENTS_BLOCK_V2", + 15: "BEACON_API_ETH_V1_EVENTS_CHAIN_REORG_V2", + 16: "BEACON_API_ETH_V1_EVENTS_FINALIZED_CHECKPOINT_V2", + 17: "BEACON_API_ETH_V1_EVENTS_HEAD_V2", + 18: "BEACON_API_ETH_V1_EVENTS_VOLUNTARY_EXIT_V2", + 19: "BEACON_API_ETH_V1_EVENTS_ATTESTATION_V2", + 20: "BEACON_API_ETH_V1_EVENTS_CONTRIBUTION_AND_PROOF_V2", + 21: "MEMPOOL_TRANSACTION_V2", + 22: "BEACON_API_ETH_V2_BEACON_BLOCK_V2", + 23: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_V2", + 24: "BEACON_API_ETH_V1_DEBUG_FORK_CHOICE_REORG_V2", + 25: "BEACON_API_ETH_V2_BEACON_BLOCK_ATTESTER_SLASHING", + 26: "BEACON_API_ETH_V2_BEACON_BLOCK_PROPOSER_SLASHING", + 27: "BEACON_API_ETH_V2_BEACON_BLOCK_VOLUNTARY_EXIT", + 28: "BEACON_API_ETH_V2_BEACON_BLOCK_DEPOSIT", + 29: "BEACON_API_ETH_V2_BEACON_BLOCK_BLS_TO_EXECUTION_CHANGE", + 30: "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_TRANSACTION", + 31: "BEACON_API_ETH_V2_BEACON_BLOCK_WITHDRAWAL", + 32: "BEACON_API_ETH_V1_EVENTS_BLOB_SIDECAR", + 34: "BEACON_API_ETH_V1_BEACON_BLOB_SIDECAR", + 35: "BEACON_P2P_ATTESTATION", + 36: "BEACON_API_ETH_V1_PROPOSER_DUTY", + 37: "BEACON_API_ETH_V2_BEACON_BLOCK_ELABORATED_ATTESTATION", + 38: "LIBP2P_TRACE_CONNECTED", + 39: "LIBP2P_TRACE_DISCONNECTED", + 40: "LIBP2P_TRACE_ADD_PEER", + 41: "LIBP2P_TRACE_REMOVE_PEER", + 42: "LIBP2P_TRACE_RECV_RPC", + 43: "LIBP2P_TRACE_SEND_RPC", + 44: "LIBP2P_TRACE_DROP_RPC", + 45: "LIBP2P_TRACE_JOIN", + 46: "LIBP2P_TRACE_UNKNOWN", + 47: "LIBP2P_TRACE_HANDLE_METADATA", + 48: "LIBP2P_TRACE_HANDLE_STATUS", + 49: "LIBP2P_TRACE_GOSSIPSUB_BEACON_BLOCK", + 50: "LIBP2P_TRACE_GOSSIPSUB_BEACON_ATTESTATION", + 51: "LIBP2P_TRACE_GOSSIPSUB_BLOB_SIDECAR", + 52: "BEACON_API_ETH_V1_BEACON_VALIDATORS", + 53: "MEV_RELAY_BID_TRACE_BUILDER_BLOCK_SUBMISSION", + 54: "MEV_RELAY_PROPOSER_PAYLOAD_DELIVERED", + 55: "BEACON_API_ETH_V3_VALIDATOR_BLOCK", + 56: "MEV_RELAY_VALIDATOR_REGISTRATION", + 57: "BEACON_API_ETH_V1_EVENTS_BLOCK_GOSSIP", + 58: "LIBP2P_TRACE_LEAVE", + 59: "LIBP2P_TRACE_GRAFT", + 60: "LIBP2P_TRACE_PRUNE", + 61: "LIBP2P_TRACE_DUPLICATE_MESSAGE", + 62: "LIBP2P_TRACE_DELIVER_MESSAGE", + 63: "LIBP2P_TRACE_PUBLISH_MESSAGE", + 64: "LIBP2P_TRACE_REJECT_MESSAGE", + 65: "LIBP2P_TRACE_RPC_META_CONTROL_IHAVE", + 66: "LIBP2P_TRACE_RPC_META_CONTROL_IWANT", + 67: "LIBP2P_TRACE_RPC_META_CONTROL_IDONTWANT", + 68: "LIBP2P_TRACE_RPC_META_CONTROL_GRAFT", + 69: "LIBP2P_TRACE_RPC_META_CONTROL_PRUNE", + 70: "LIBP2P_TRACE_RPC_META_SUBSCRIPTION", + 71: "LIBP2P_TRACE_RPC_META_MESSAGE", + 72: "NODE_RECORD_CONSENSUS", + 73: "NODE_RECORD_EXECUTION", + 74: "LIBP2P_TRACE_GOSSIPSUB_AGGREGATE_AND_PROOF", + 75: "BEACON_API_ETH_V1_EVENTS_DATA_COLUMN_SIDECAR", + 76: "LIBP2P_TRACE_GOSSIPSUB_DATA_COLUMN_SIDECAR", + 77: "LIBP2P_TRACE_SYNTHETIC_HEARTBEAT", + 78: "LIBP2P_TRACE_RPC_DATA_COLUMN_CUSTODY_PROBE", + 79: "EXECUTION_STATE_SIZE", + 80: "CONSENSUS_ENGINE_API_NEW_PAYLOAD", + 81: "CONSENSUS_ENGINE_API_GET_BLOBS", + 82: "EXECUTION_ENGINE_NEW_PAYLOAD", + 83: "EXECUTION_ENGINE_GET_BLOBS", + 84: "BEACON_API_ETH_V1_BEACON_BLOB", + 85: "BEACON_API_ETH_V1_BEACON_SYNC_COMMITTEE", + 86: "BEACON_API_ETH_V2_BEACON_BLOCK_SYNC_AGGREGATE", + 87: "EXECUTION_BLOCK_METRICS", + 88: "LIBP2P_TRACE_IDENTIFY", + 89: "BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION", + 90: "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST", + 91: "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD", + 92: "BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION", + 93: "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID", + 94: "BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES", + 101: "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP", + 102: "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE", + 95: "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION", + 96: "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID", + 97: "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE", + 98: "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID", + 99: "LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE", + 100: "LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES", + 103: "BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED", + 104: "BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT", + 105: "BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED", } Event_Name_value = map[string]int32{ "BEACON_API_ETH_V1_EVENTS_UNKNOWN": 0, @@ -360,6 +398,22 @@ var ( "EXECUTION_BLOCK_METRICS": 87, "LIBP2P_TRACE_IDENTIFY": 88, "BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION": 89, + "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST": 90, + "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD": 91, + "BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION": 92, + "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID": 93, + "BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES": 94, + "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP": 101, + "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE": 102, + "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION": 95, + "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID": 96, + "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE": 97, + "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID": 98, + "LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE": 99, + "LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES": 100, + "BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED": 103, + "BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT": 104, + "BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED": 105, } ) @@ -2269,6 +2323,22 @@ type ClientMeta struct { // *ClientMeta_EthV2BeaconBlockSyncAggregate // *ClientMeta_Libp2PTraceIdentify // *ClientMeta_EthV1EventsFastConfirmation + // *ClientMeta_EthV2BeaconBlockAccessList + // *ClientMeta_EthV1EventsExecutionPayload + // *ClientMeta_EthV1EventsPayloadAttestation + // *ClientMeta_EthV1EventsExecutionPayloadBid + // *ClientMeta_EthV1EventsProposerPreferences + // *ClientMeta_EthV2BeaconBlockPayloadAttestation + // *ClientMeta_EthV2BeaconBlockExecutionPayloadBid + // *ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope + // *ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid + // *ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage + // *ClientMeta_Libp2PTraceGossipsubProposerPreferences + // *ClientMeta_EthV1EventsExecutionPayloadGossip + // *ClientMeta_EthV1EventsExecutionPayloadAvailable + // *ClientMeta_BeaconSyntheticPayloadStatusResolved + // *ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement + // *ClientMeta_BeaconSyntheticPayloadAttestationProcessed AdditionalData isClientMeta_AdditionalData `protobuf_oneof:"AdditionalData"` // ModuleName contains the name of the module that sent the event. ModuleName ModuleName `protobuf:"varint,63,opt,name=module_name,proto3,enum=xatu.ModuleName" json:"module_name,omitempty"` @@ -2945,6 +3015,118 @@ func (x *ClientMeta) GetEthV1EventsFastConfirmation() *ClientMeta_AdditionalEthV return nil } +func (x *ClientMeta) GetEthV2BeaconBlockAccessList() *ClientMeta_AdditionalEthV2BeaconBlockAccessListData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV2BeaconBlockAccessList); ok { + return x.EthV2BeaconBlockAccessList + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsExecutionPayload() *ClientMeta_AdditionalEthV1EventsExecutionPayloadData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsExecutionPayload); ok { + return x.EthV1EventsExecutionPayload + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsPayloadAttestation() *ClientMeta_AdditionalEthV1EventsPayloadAttestationData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsPayloadAttestation); ok { + return x.EthV1EventsPayloadAttestation + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsExecutionPayloadBid() *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsExecutionPayloadBid); ok { + return x.EthV1EventsExecutionPayloadBid + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsProposerPreferences() *ClientMeta_AdditionalEthV1EventsProposerPreferencesData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsProposerPreferences); ok { + return x.EthV1EventsProposerPreferences + } + return nil +} + +func (x *ClientMeta) GetEthV2BeaconBlockPayloadAttestation() *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV2BeaconBlockPayloadAttestation); ok { + return x.EthV2BeaconBlockPayloadAttestation + } + return nil +} + +func (x *ClientMeta) GetEthV2BeaconBlockExecutionPayloadBid() *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV2BeaconBlockExecutionPayloadBid); ok { + return x.EthV2BeaconBlockExecutionPayloadBid + } + return nil +} + +func (x *ClientMeta) GetLibp2PTraceGossipsubExecutionPayloadEnvelope() *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData { + if x, ok := x.GetAdditionalData().(*ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope); ok { + return x.Libp2PTraceGossipsubExecutionPayloadEnvelope + } + return nil +} + +func (x *ClientMeta) GetLibp2PTraceGossipsubExecutionPayloadBid() *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData { + if x, ok := x.GetAdditionalData().(*ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid); ok { + return x.Libp2PTraceGossipsubExecutionPayloadBid + } + return nil +} + +func (x *ClientMeta) GetLibp2PTraceGossipsubPayloadAttestationMessage() *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData { + if x, ok := x.GetAdditionalData().(*ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage); ok { + return x.Libp2PTraceGossipsubPayloadAttestationMessage + } + return nil +} + +func (x *ClientMeta) GetLibp2PTraceGossipsubProposerPreferences() *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData { + if x, ok := x.GetAdditionalData().(*ClientMeta_Libp2PTraceGossipsubProposerPreferences); ok { + return x.Libp2PTraceGossipsubProposerPreferences + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsExecutionPayloadGossip() *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsExecutionPayloadGossip); ok { + return x.EthV1EventsExecutionPayloadGossip + } + return nil +} + +func (x *ClientMeta) GetEthV1EventsExecutionPayloadAvailable() *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData { + if x, ok := x.GetAdditionalData().(*ClientMeta_EthV1EventsExecutionPayloadAvailable); ok { + return x.EthV1EventsExecutionPayloadAvailable + } + return nil +} + +func (x *ClientMeta) GetBeaconSyntheticPayloadStatusResolved() *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData { + if x, ok := x.GetAdditionalData().(*ClientMeta_BeaconSyntheticPayloadStatusResolved); ok { + return x.BeaconSyntheticPayloadStatusResolved + } + return nil +} + +func (x *ClientMeta) GetBeaconSyntheticBuilderPendingPaymentSettlement() *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData { + if x, ok := x.GetAdditionalData().(*ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement); ok { + return x.BeaconSyntheticBuilderPendingPaymentSettlement + } + return nil +} + +func (x *ClientMeta) GetBeaconSyntheticPayloadAttestationProcessed() *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData { + if x, ok := x.GetAdditionalData().(*ClientMeta_BeaconSyntheticPayloadAttestationProcessed); ok { + return x.BeaconSyntheticPayloadAttestationProcessed + } + return nil +} + func (x *ClientMeta) GetModuleName() ModuleName { if x != nil { return x.ModuleName @@ -3405,6 +3587,78 @@ type ClientMeta_EthV1EventsFastConfirmation struct { EthV1EventsFastConfirmation *ClientMeta_AdditionalEthV1EventsFastConfirmationData `protobuf:"bytes,95,opt,name=eth_v1_events_fast_confirmation,json=BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION,proto3,oneof"` } +type ClientMeta_EthV2BeaconBlockAccessList struct { + // AdditionalEthV2BeaconBlockAccessListData contains additional data on + // block access list entries derived from beacon blocks. + EthV2BeaconBlockAccessList *ClientMeta_AdditionalEthV2BeaconBlockAccessListData `protobuf:"bytes,96,opt,name=eth_v2_beacon_block_access_list,json=BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST,proto3,oneof"` +} + +type ClientMeta_EthV1EventsExecutionPayload struct { + // EIP-7732 ePBS: Sentry SSE additional data + EthV1EventsExecutionPayload *ClientMeta_AdditionalEthV1EventsExecutionPayloadData `protobuf:"bytes,97,opt,name=eth_v1_events_execution_payload,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD,proto3,oneof"` +} + +type ClientMeta_EthV1EventsPayloadAttestation struct { + EthV1EventsPayloadAttestation *ClientMeta_AdditionalEthV1EventsPayloadAttestationData `protobuf:"bytes,98,opt,name=eth_v1_events_payload_attestation,json=BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION,proto3,oneof"` +} + +type ClientMeta_EthV1EventsExecutionPayloadBid struct { + EthV1EventsExecutionPayloadBid *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData `protobuf:"bytes,99,opt,name=eth_v1_events_execution_payload_bid,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID,proto3,oneof"` +} + +type ClientMeta_EthV1EventsProposerPreferences struct { + EthV1EventsProposerPreferences *ClientMeta_AdditionalEthV1EventsProposerPreferencesData `protobuf:"bytes,100,opt,name=eth_v1_events_proposer_preferences,json=BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES,proto3,oneof"` +} + +type ClientMeta_EthV2BeaconBlockPayloadAttestation struct { + // EIP-7732 ePBS: Cannon additional data + EthV2BeaconBlockPayloadAttestation *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData `protobuf:"bytes,101,opt,name=eth_v2_beacon_block_payload_attestation,json=BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION,proto3,oneof"` +} + +type ClientMeta_EthV2BeaconBlockExecutionPayloadBid struct { + EthV2BeaconBlockExecutionPayloadBid *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData `protobuf:"bytes,102,opt,name=eth_v2_beacon_block_execution_payload_bid,json=BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID,proto3,oneof"` +} + +type ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope struct { + // EIP-7732 ePBS: LibP2P gossip additional data + Libp2PTraceGossipsubExecutionPayloadEnvelope *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData `protobuf:"bytes,103,opt,name=libp2p_trace_gossipsub_execution_payload_envelope,json=LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE,proto3,oneof"` +} + +type ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid struct { + Libp2PTraceGossipsubExecutionPayloadBid *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData `protobuf:"bytes,104,opt,name=libp2p_trace_gossipsub_execution_payload_bid,json=LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID,proto3,oneof"` +} + +type ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage struct { + Libp2PTraceGossipsubPayloadAttestationMessage *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData `protobuf:"bytes,105,opt,name=libp2p_trace_gossipsub_payload_attestation_message,json=LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE,proto3,oneof"` +} + +type ClientMeta_Libp2PTraceGossipsubProposerPreferences struct { + Libp2PTraceGossipsubProposerPreferences *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData `protobuf:"bytes,106,opt,name=libp2p_trace_gossipsub_proposer_preferences,json=LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES,proto3,oneof"` +} + +type ClientMeta_EthV1EventsExecutionPayloadGossip struct { + // EIP-7732 ePBS: Sentry SSE additional data (gossip + available variants) + EthV1EventsExecutionPayloadGossip *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData `protobuf:"bytes,107,opt,name=eth_v1_events_execution_payload_gossip,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP,proto3,oneof"` +} + +type ClientMeta_EthV1EventsExecutionPayloadAvailable struct { + EthV1EventsExecutionPayloadAvailable *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData `protobuf:"bytes,108,opt,name=eth_v1_events_execution_payload_available,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE,proto3,oneof"` +} + +type ClientMeta_BeaconSyntheticPayloadStatusResolved struct { + // EIP-7732 ePBS: Synthesized observability events from beacon-node internals + // (TYSM-instrumented). No beacon API equivalent today. + BeaconSyntheticPayloadStatusResolved *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData `protobuf:"bytes,109,opt,name=beacon_synthetic_payload_status_resolved,json=BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED,proto3,oneof"` +} + +type ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement struct { + BeaconSyntheticBuilderPendingPaymentSettlement *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData `protobuf:"bytes,110,opt,name=beacon_synthetic_builder_pending_payment_settlement,json=BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT,proto3,oneof"` +} + +type ClientMeta_BeaconSyntheticPayloadAttestationProcessed struct { + BeaconSyntheticPayloadAttestationProcessed *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData `protobuf:"bytes,111,opt,name=beacon_synthetic_payload_attestation_processed,json=BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED,proto3,oneof"` +} + func (*ClientMeta_EthV1EventsAttestation) isClientMeta_AdditionalData() {} func (*ClientMeta_EthV1EventsHead) isClientMeta_AdditionalData() {} @@ -3569,6 +3823,38 @@ func (*ClientMeta_Libp2PTraceIdentify) isClientMeta_AdditionalData() {} func (*ClientMeta_EthV1EventsFastConfirmation) isClientMeta_AdditionalData() {} +func (*ClientMeta_EthV2BeaconBlockAccessList) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsExecutionPayload) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsPayloadAttestation) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsExecutionPayloadBid) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsProposerPreferences) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV2BeaconBlockPayloadAttestation) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV2BeaconBlockExecutionPayloadBid) isClientMeta_AdditionalData() {} + +func (*ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope) isClientMeta_AdditionalData() {} + +func (*ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid) isClientMeta_AdditionalData() {} + +func (*ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage) isClientMeta_AdditionalData() {} + +func (*ClientMeta_Libp2PTraceGossipsubProposerPreferences) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsExecutionPayloadGossip) isClientMeta_AdditionalData() {} + +func (*ClientMeta_EthV1EventsExecutionPayloadAvailable) isClientMeta_AdditionalData() {} + +func (*ClientMeta_BeaconSyntheticPayloadStatusResolved) isClientMeta_AdditionalData() {} + +func (*ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement) isClientMeta_AdditionalData() {} + +func (*ClientMeta_BeaconSyntheticPayloadAttestationProcessed) isClientMeta_AdditionalData() {} + type ServerMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4165,6 +4451,22 @@ type DecoratedEvent struct { // *DecoratedEvent_EthV2BeaconBlockSyncAggregate // *DecoratedEvent_ExecutionBlockMetrics // *DecoratedEvent_EthV1EventsFastConfirmation + // *DecoratedEvent_EthV2BeaconBlockAccessList + // *DecoratedEvent_EthV1EventsExecutionPayload + // *DecoratedEvent_EthV1EventsPayloadAttestation + // *DecoratedEvent_EthV1EventsExecutionPayloadBid + // *DecoratedEvent_EthV1EventsProposerPreferences + // *DecoratedEvent_EthV2BeaconBlockPayloadAttestation + // *DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid + // *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope + // *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid + // *DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage + // *DecoratedEvent_Libp2PTraceGossipsubProposerPreferences + // *DecoratedEvent_EthV1EventsExecutionPayloadGossip + // *DecoratedEvent_EthV1EventsExecutionPayloadAvailable + // *DecoratedEvent_BeaconSyntheticPayloadStatusResolved + // *DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement + // *DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed Data isDecoratedEvent_Data `protobuf_oneof:"data"` } @@ -4841,6 +5143,118 @@ func (x *DecoratedEvent) GetEthV1EventsFastConfirmation() *v1.EventFastConfirmat return nil } +func (x *DecoratedEvent) GetEthV2BeaconBlockAccessList() *v1.BlockAccessListChange { + if x, ok := x.GetData().(*DecoratedEvent_EthV2BeaconBlockAccessList); ok { + return x.EthV2BeaconBlockAccessList + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsExecutionPayload() *v1.SignedExecutionPayloadEnvelope { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsExecutionPayload); ok { + return x.EthV1EventsExecutionPayload + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsPayloadAttestation() *v1.PayloadAttestationMessage { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsPayloadAttestation); ok { + return x.EthV1EventsPayloadAttestation + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsExecutionPayloadBid() *v1.SignedExecutionPayloadBid { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsExecutionPayloadBid); ok { + return x.EthV1EventsExecutionPayloadBid + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsProposerPreferences() *v1.SignedProposerPreferences { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsProposerPreferences); ok { + return x.EthV1EventsProposerPreferences + } + return nil +} + +func (x *DecoratedEvent) GetEthV2BeaconBlockPayloadAttestation() *v1.PayloadAttestation { + if x, ok := x.GetData().(*DecoratedEvent_EthV2BeaconBlockPayloadAttestation); ok { + return x.EthV2BeaconBlockPayloadAttestation + } + return nil +} + +func (x *DecoratedEvent) GetEthV2BeaconBlockExecutionPayloadBid() *v1.SignedExecutionPayloadBid { + if x, ok := x.GetData().(*DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid); ok { + return x.EthV2BeaconBlockExecutionPayloadBid + } + return nil +} + +func (x *DecoratedEvent) GetLibp2PTraceGossipsubExecutionPayloadEnvelope() *gossipsub.ExecutionPayloadEnvelope { + if x, ok := x.GetData().(*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope); ok { + return x.Libp2PTraceGossipsubExecutionPayloadEnvelope + } + return nil +} + +func (x *DecoratedEvent) GetLibp2PTraceGossipsubExecutionPayloadBid() *gossipsub.ExecutionPayloadBid { + if x, ok := x.GetData().(*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid); ok { + return x.Libp2PTraceGossipsubExecutionPayloadBid + } + return nil +} + +func (x *DecoratedEvent) GetLibp2PTraceGossipsubPayloadAttestationMessage() *gossipsub.PayloadAttestationMessage { + if x, ok := x.GetData().(*DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage); ok { + return x.Libp2PTraceGossipsubPayloadAttestationMessage + } + return nil +} + +func (x *DecoratedEvent) GetLibp2PTraceGossipsubProposerPreferences() *gossipsub.ProposerPreferences { + if x, ok := x.GetData().(*DecoratedEvent_Libp2PTraceGossipsubProposerPreferences); ok { + return x.Libp2PTraceGossipsubProposerPreferences + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsExecutionPayloadGossip() *v1.SignedExecutionPayloadEnvelope { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsExecutionPayloadGossip); ok { + return x.EthV1EventsExecutionPayloadGossip + } + return nil +} + +func (x *DecoratedEvent) GetEthV1EventsExecutionPayloadAvailable() *v1.ExecutionPayloadAvailable { + if x, ok := x.GetData().(*DecoratedEvent_EthV1EventsExecutionPayloadAvailable); ok { + return x.EthV1EventsExecutionPayloadAvailable + } + return nil +} + +func (x *DecoratedEvent) GetBeaconSyntheticPayloadStatusResolved() *v1.PayloadStatusResolved { + if x, ok := x.GetData().(*DecoratedEvent_BeaconSyntheticPayloadStatusResolved); ok { + return x.BeaconSyntheticPayloadStatusResolved + } + return nil +} + +func (x *DecoratedEvent) GetBeaconSyntheticBuilderPendingPaymentSettlement() *v1.BuilderPendingPaymentSettlement { + if x, ok := x.GetData().(*DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement); ok { + return x.BeaconSyntheticBuilderPendingPaymentSettlement + } + return nil +} + +func (x *DecoratedEvent) GetBeaconSyntheticPayloadAttestationProcessed() *v1.PayloadAttestationProcessed { + if x, ok := x.GetData().(*DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed); ok { + return x.BeaconSyntheticPayloadAttestationProcessed + } + return nil +} + type isDecoratedEvent_Data interface { isDecoratedEvent_Data() } @@ -5206,6 +5620,75 @@ type DecoratedEvent_EthV1EventsFastConfirmation struct { EthV1EventsFastConfirmation *v1.EventFastConfirmation `protobuf:"bytes,210,opt,name=eth_v1_events_fast_confirmation,json=BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION,proto3,oneof"` } +type DecoratedEvent_EthV2BeaconBlockAccessList struct { + EthV2BeaconBlockAccessList *v1.BlockAccessListChange `protobuf:"bytes,211,opt,name=eth_v2_beacon_block_access_list,json=BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsExecutionPayload struct { + // EIP-7732 ePBS: Sentry SSE events + EthV1EventsExecutionPayload *v1.SignedExecutionPayloadEnvelope `protobuf:"bytes,212,opt,name=eth_v1_events_execution_payload,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsPayloadAttestation struct { + EthV1EventsPayloadAttestation *v1.PayloadAttestationMessage `protobuf:"bytes,213,opt,name=eth_v1_events_payload_attestation,json=BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsExecutionPayloadBid struct { + EthV1EventsExecutionPayloadBid *v1.SignedExecutionPayloadBid `protobuf:"bytes,214,opt,name=eth_v1_events_execution_payload_bid,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsProposerPreferences struct { + EthV1EventsProposerPreferences *v1.SignedProposerPreferences `protobuf:"bytes,215,opt,name=eth_v1_events_proposer_preferences,json=BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES,proto3,oneof"` +} + +type DecoratedEvent_EthV2BeaconBlockPayloadAttestation struct { + // EIP-7732 ePBS: Cannon derived events + EthV2BeaconBlockPayloadAttestation *v1.PayloadAttestation `protobuf:"bytes,216,opt,name=eth_v2_beacon_block_payload_attestation,json=BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION,proto3,oneof"` +} + +type DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid struct { + EthV2BeaconBlockExecutionPayloadBid *v1.SignedExecutionPayloadBid `protobuf:"bytes,217,opt,name=eth_v2_beacon_block_execution_payload_bid,json=BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID,proto3,oneof"` +} + +type DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope struct { + // EIP-7732 ePBS: P2P gossip events (use gossipsub summary types) + Libp2PTraceGossipsubExecutionPayloadEnvelope *gossipsub.ExecutionPayloadEnvelope `protobuf:"bytes,218,opt,name=libp2p_trace_gossipsub_execution_payload_envelope,json=LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE,proto3,oneof"` +} + +type DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid struct { + Libp2PTraceGossipsubExecutionPayloadBid *gossipsub.ExecutionPayloadBid `protobuf:"bytes,219,opt,name=libp2p_trace_gossipsub_execution_payload_bid,json=LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID,proto3,oneof"` +} + +type DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage struct { + Libp2PTraceGossipsubPayloadAttestationMessage *gossipsub.PayloadAttestationMessage `protobuf:"bytes,220,opt,name=libp2p_trace_gossipsub_payload_attestation_message,json=LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE,proto3,oneof"` +} + +type DecoratedEvent_Libp2PTraceGossipsubProposerPreferences struct { + Libp2PTraceGossipsubProposerPreferences *gossipsub.ProposerPreferences `protobuf:"bytes,221,opt,name=libp2p_trace_gossipsub_proposer_preferences,json=LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsExecutionPayloadGossip struct { + // EIP-7732 ePBS: Sentry SSE events (gossip + available variants) + EthV1EventsExecutionPayloadGossip *v1.SignedExecutionPayloadEnvelope `protobuf:"bytes,222,opt,name=eth_v1_events_execution_payload_gossip,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP,proto3,oneof"` +} + +type DecoratedEvent_EthV1EventsExecutionPayloadAvailable struct { + EthV1EventsExecutionPayloadAvailable *v1.ExecutionPayloadAvailable `protobuf:"bytes,223,opt,name=eth_v1_events_execution_payload_available,json=BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE,proto3,oneof"` +} + +type DecoratedEvent_BeaconSyntheticPayloadStatusResolved struct { + // EIP-7732 ePBS: Synthesized observability events (TYSM-instrumented) + BeaconSyntheticPayloadStatusResolved *v1.PayloadStatusResolved `protobuf:"bytes,224,opt,name=beacon_synthetic_payload_status_resolved,json=BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED,proto3,oneof"` +} + +type DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement struct { + BeaconSyntheticBuilderPendingPaymentSettlement *v1.BuilderPendingPaymentSettlement `protobuf:"bytes,225,opt,name=beacon_synthetic_builder_pending_payment_settlement,json=BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT,proto3,oneof"` +} + +type DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed struct { + BeaconSyntheticPayloadAttestationProcessed *v1.PayloadAttestationProcessed `protobuf:"bytes,226,opt,name=beacon_synthetic_payload_attestation_processed,json=BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED,proto3,oneof"` +} + func (*DecoratedEvent_EthV1EventsAttestation) isDecoratedEvent_Data() {} func (*DecoratedEvent_EthV1EventsBlock) isDecoratedEvent_Data() {} @@ -5380,6 +5863,38 @@ func (*DecoratedEvent_ExecutionBlockMetrics) isDecoratedEvent_Data() {} func (*DecoratedEvent_EthV1EventsFastConfirmation) isDecoratedEvent_Data() {} +func (*DecoratedEvent_EthV2BeaconBlockAccessList) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsExecutionPayload) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsPayloadAttestation) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsExecutionPayloadBid) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsProposerPreferences) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV2BeaconBlockPayloadAttestation) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_Libp2PTraceGossipsubProposerPreferences) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsExecutionPayloadGossip) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_EthV1EventsExecutionPayloadAvailable) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_BeaconSyntheticPayloadStatusResolved) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement) isDecoratedEvent_Data() {} + +func (*DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed) isDecoratedEvent_Data() {} + type ClientMeta_Ethereum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -8311,24 +8826,24 @@ func (x *ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) GetBlock() *BlockI return nil } -type ClientMeta_AttestationDataSnapshot struct { +// AdditionalEthV2BeaconBlockAccessListData contains additional data on +// block access list entries derived from beacon blocks. +type ClientMeta_AdditionalEthV2BeaconBlockAccessListData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // RequestedAtSlotStartDiffMs is the difference how far in to the slot the - // sentry was when it requested the attestation data snapshot (in - // milliseconds). - RequestedAtSlotStartDiffMs *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=requested_at_slot_start_diff_ms,proto3" json:"requested_at_slot_start_diff_ms,omitempty"` - // RequestDurationMs is the duration of the attestation data snapshot - // request (in milliseconds). - RequestDurationMs *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=request_duration_ms,proto3" json:"request_duration_ms,omitempty"` - // Timestamp is the timestamp of the attestation data snapshot. - Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // Block contains the information about the block that we are deriving the + // access list from. + Block *BlockIdentifier `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + // Execution block number from the execution payload. + BlockNumber *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"` + // Execution block hash from the execution payload (hex encoded). + BlockHash string `protobuf:"bytes,3,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` } -func (x *ClientMeta_AttestationDataSnapshot) Reset() { - *x = ClientMeta_AttestationDataSnapshot{} +func (x *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) Reset() { + *x = ClientMeta_AdditionalEthV2BeaconBlockAccessListData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8336,13 +8851,13 @@ func (x *ClientMeta_AttestationDataSnapshot) Reset() { } } -func (x *ClientMeta_AttestationDataSnapshot) String() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AttestationDataSnapshot) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV2BeaconBlockAccessListData) ProtoMessage() {} -func (x *ClientMeta_AttestationDataSnapshot) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8354,52 +8869,46 @@ func (x *ClientMeta_AttestationDataSnapshot) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AttestationDataSnapshot.ProtoReflect.Descriptor instead. -func (*ClientMeta_AttestationDataSnapshot) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockAccessListData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV2BeaconBlockAccessListData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 44} } -func (x *ClientMeta_AttestationDataSnapshot) GetRequestedAtSlotStartDiffMs() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) GetBlock() *BlockIdentifier { if x != nil { - return x.RequestedAtSlotStartDiffMs + return x.Block } return nil } -func (x *ClientMeta_AttestationDataSnapshot) GetRequestDurationMs() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) GetBlockNumber() *wrapperspb.UInt64Value { if x != nil { - return x.RequestDurationMs + return x.BlockNumber } return nil } -func (x *ClientMeta_AttestationDataSnapshot) GetTimestamp() *timestamppb.Timestamp { +func (x *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) GetBlockHash() string { if x != nil { - return x.Timestamp + return x.BlockHash } - return nil + return "" } -type ClientMeta_AdditionalEthV1ValidatorAttestationDataData struct { +// AdditionalEthV1EventsExecutionPayloadData contains additional data about +// execution payload envelope arrivals from the beacon API SSE. +type ClientMeta_AdditionalEthV1EventsExecutionPayloadData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Source contains information for the best currently justified checkpoint. - Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - // Target contains information of the block at the start of the current - // epoch. - Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` - // Epoch contains the epoch information for the beacon committee. - Epoch *EpochV2 `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the beacon committee. - Slot *SlotV2 `protobuf:"bytes,4,opt,name=slot,proto3" json:"slot,omitempty"` - // AttestationDataSnapshot is the snapshot of the attestation data - Snapshot *ClientMeta_AttestationDataSnapshot `protobuf:"bytes,5,opt,name=Snapshot,json=snapshot,proto3" json:"Snapshot,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) Reset() { - *x = ClientMeta_AdditionalEthV1ValidatorAttestationDataData{} +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsExecutionPayloadData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8407,13 +8916,13 @@ func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) Reset() { } } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8425,62 +8934,46 @@ func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1ValidatorAttestationDataData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsExecutionPayloadData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 45} } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { - if x != nil { - return x.Source - } - return nil -} - -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { - if x != nil { - return x.Target - } - return nil -} - -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSnapshot() *ClientMeta_AttestationDataSnapshot { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) GetPropagation() *PropagationV2 { if x != nil { - return x.Snapshot + return x.Propagation } return nil } -type ClientMeta_AdditionalEthV1EventsBlobSidecarData struct { +// AdditionalEthV1EventsPayloadAttestationData contains additional data about +// individual PTC payload attestation messages from the beacon API SSE. +type ClientMeta_AdditionalEthV1EventsPayloadAttestationData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the blob sidecar. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the blob sidecar. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // Propagation contains information about the propagation of the blob - // sidecar. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsBlobSidecarData{} +func (x *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsPayloadAttestationData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8488,13 +8981,13 @@ func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) Reset() { } } -func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsBlobSidecarData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsPayloadAttestationData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8506,48 +8999,46 @@ func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) ProtoReflect() protore return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsBlobSidecarData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsBlobSidecarData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsPayloadAttestationData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsPayloadAttestationData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 46} } -func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) GetPropagation() *PropagationV2 { +func (x *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) GetPropagation() *PropagationV2 { if x != nil { return x.Propagation } return nil } -type ClientMeta_AdditionalEthV1EventsDataColumnSidecarData struct { +// AdditionalEthV1EventsExecutionPayloadBidData contains additional data about +// builder bids from the beacon API SSE. +type ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the data column sidecar. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the data column sidecar. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // Propagation contains information about the propagation of the data column - // sidecar. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) Reset() { - *x = ClientMeta_AdditionalEthV1EventsDataColumnSidecarData{} +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8555,13 +9046,13 @@ func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) Reset() { } } -func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8573,51 +9064,46 @@ func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) ProtoReflect() p return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1EventsDataColumnSidecarData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 47} } -func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) GetPropagation() *PropagationV2 { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) GetPropagation() *PropagationV2 { if x != nil { return x.Propagation } return nil } -type ClientMeta_AdditionalEthV1BeaconBlobSidecarData struct { +// AdditionalEthV1EventsProposerPreferencesData contains additional data about +// proposer preferences from the beacon API SSE. +type ClientMeta_AdditionalEthV1EventsProposerPreferencesData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the blob sidecar. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the blob sidecar. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // DataSize contains the size of the blob sidecar in bytes. - DataSize *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=data_size,proto3" json:"data_size,omitempty"` - // VersionedHash is the versioned hash for the blob sidecar. - VersionedHash string `protobuf:"bytes,4,opt,name=versioned_hash,proto3" json:"versioned_hash,omitempty"` - // DataEmptySize contains the amount of empty bytes of the blob sidecar. - DataEmptySize *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=data_empty_size,proto3" json:"data_empty_size,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) Reset() { - *x = ClientMeta_AdditionalEthV1BeaconBlobSidecarData{} +func (x *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsProposerPreferencesData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8625,13 +9111,13 @@ func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) Reset() { } } -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1BeaconBlobSidecarData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsProposerPreferencesData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8643,76 +9129,47 @@ func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) ProtoReflect() protore return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1BeaconBlobSidecarData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1BeaconBlobSidecarData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsProposerPreferencesData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsProposerPreferencesData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 48} } -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetDataSize() *wrapperspb.UInt64Value { - if x != nil { - return x.DataSize - } - return nil -} - -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetVersionedHash() string { - if x != nil { - return x.VersionedHash - } - return "" -} - -func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetDataEmptySize() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) GetPropagation() *PropagationV2 { if x != nil { - return x.DataEmptySize + return x.Propagation } return nil } -type ClientMeta_AdditionalBeaconP2PAttestationData struct { +// AdditionalEthV1EventsExecutionPayloadGossipData contains additional data +// about execution payload envelopes seen on the gossip mesh from the beacon +// API SSE (analog of block_gossip). +type ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Source contains information for the best currently justified checkpoint. - Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - // Target contains information of the block at the start of the current - // epoch. - Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` - // Slot contains the slot information for the attestation. - Slot *SlotV2 `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` - // Epoch contains the epoch information for the attestation. - Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Propagation contains information about the propagation of the - // attestation. - Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` - // AttestingValidator contains data about the validator that created the - // attestation. Note: only available for unaggregated attestations. - AttestingValidator *AttestingValidatorV2 `protobuf:"bytes,6,opt,name=attesting_validator,proto3" json:"attesting_validator,omitempty"` - // Peer contains information on the peer that sent us the attestation. - Peer *libp2p.Peer `protobuf:"bytes,7,opt,name=peer,proto3" json:"peer,omitempty"` - // Subnet is the subnet that the attestation was sent on. - Subnet *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=subnet,proto3" json:"subnet,omitempty"` - // Validated is if the attestation was validated. - Validated *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=validated,proto3" json:"validated,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) Reset() { - *x = ClientMeta_AdditionalBeaconP2PAttestationData{} +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8720,13 +9177,13 @@ func (x *ClientMeta_AdditionalBeaconP2PAttestationData) Reset() { } } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalBeaconP2PAttestationData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) ProtoMessage() {} -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8738,106 +9195,129 @@ func (x *ClientMeta_AdditionalBeaconP2PAttestationData) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalBeaconP2PAttestationData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalBeaconP2PAttestationData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 49} } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) GetEpoch() *EpochV2 { if x != nil { - return x.Source + return x.Epoch } return nil } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) GetSlot() *SlotV2 { if x != nil { - return x.Target + return x.Slot } return nil } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) GetPropagation() *PropagationV2 { if x != nil { - return x.Slot + return x.Propagation } return nil } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetEpoch() *EpochV2 { - if x != nil { - return x.Epoch - } - return nil +// AdditionalEthV1EventsExecutionPayloadAvailableData contains additional +// data about execution_payload_available signals from the beacon API SSE. +// Fires when the beacon node has confirmed the payload and blobs are +// locally available, ready for PTC vote. +type ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetPropagation() *PropagationV2 { - if x != nil { - return x.Propagation +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetAttestingValidator() *AttestingValidatorV2 { - if x != nil { - return x.AttestingValidator +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetPeer() *libp2p.Peer { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 50} +} + +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) GetEpoch() *EpochV2 { if x != nil { - return x.Peer + return x.Epoch } return nil } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetSubnet() *wrapperspb.UInt32Value { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) GetSlot() *SlotV2 { if x != nil { - return x.Subnet + return x.Slot } return nil } -func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetValidated() *wrapperspb.BoolValue { +func (x *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) GetPropagation() *PropagationV2 { if x != nil { - return x.Validated + return x.Propagation } return nil } -type ClientMeta_AdditionalEthV1ProposerDutyData struct { +// AdditionalBeaconSyntheticPayloadStatusResolvedData contains additional +// data about a fork-choice payload status transition observed from beacon +// node internals (TYSM-instrumented). Fires on every beacon node. +type ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the proposer duty. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the proposer duty. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // StateID is the state ID when the proposer duty was requested. - // This can be used to determine if the proposer duty was canonical - // by checking if the state_id is 'finalized'. - StateId string `protobuf:"bytes,3,opt,name=state_id,proto3" json:"state_id,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalEthV1ProposerDutyData) Reset() { - *x = ClientMeta_AdditionalEthV1ProposerDutyData{} +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) Reset() { + *x = ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[78] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1ProposerDutyData) String() string { +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1ProposerDutyData) ProtoMessage() {} +func (*ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1ProposerDutyData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[78] +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8848,70 +9328,61 @@ func (x *ClientMeta_AdditionalEthV1ProposerDutyData) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1ProposerDutyData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1ProposerDutyData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 50} +// Deprecated: Use ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 51} } -func (x *ClientMeta_AdditionalEthV1ProposerDutyData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1ProposerDutyData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV1ProposerDutyData) GetStateId() string { +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) GetPropagation() *PropagationV2 { if x != nil { - return x.StateId + return x.Propagation } - return "" + return nil } -type ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData struct { +// AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData contains +// additional data about an epoch-boundary builder pending payment +// settle/drop decision observed from beacon node internals. Fires on +// every beacon node, every epoch. +type ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Block contains the information about the block that we are deriving the - // elaborated attestation from. - Block *BlockIdentifier `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` - // PositionInBlock is the position of the attestation in the block. - PositionInBlock *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=position_in_block,proto3" json:"position_in_block,omitempty"` - // Epoch contains the epoch information for the slot of the attestation. - Epoch *EpochV2 `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the slot of the attestation. - Slot *SlotV2 `protobuf:"bytes,4,opt,name=slot,proto3" json:"slot,omitempty"` - // Source contains information for source of the attestation. - Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` - // Target contains information of the block at the start of the current - // epoch. - Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,6,opt,name=target,proto3" json:"target,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Reset() { - *x = ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData{} +func (x *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) Reset() { + *x = ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[79] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) String() string { +func (x *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) ProtoMessage() {} +func (*ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[79] +func (x *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8922,79 +9393,115 @@ func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) ProtoRe return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 51} +// Deprecated: Use ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 52} } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetBlock() *BlockIdentifier { +func (x *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) GetEpoch() *EpochV2 { if x != nil { - return x.Block + return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetPositionInBlock() *wrapperspb.UInt64Value { - if x != nil { - return x.PositionInBlock +// AdditionalBeaconSyntheticPayloadAttestationProcessedData contains +// additional data about a PTC vote that finished full gossip-validation +// and was committed for downstream pipeline use. Observed from beacon +// node internals (TYSM-instrumented). +type ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` +} + +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) Reset() { + *x = ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetEpoch() *EpochV2 { - if x != nil { - return x.Epoch +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetSlot() *SlotV2 { +// Deprecated: Use ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 53} +} + +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) GetEpoch() *EpochV2 { if x != nil { - return x.Slot + return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) GetSlot() *SlotV2 { if x != nil { - return x.Source + return x.Slot } return nil } -func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { +func (x *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) GetPropagation() *PropagationV2 { if x != nil { - return x.Target + return x.Propagation } return nil } -// AdditionalLibP2PTraceAddPeerData: Holds additional data for an add peer event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceAddPeerData struct { +// AdditionalEthV2BeaconBlockPayloadAttestationData contains additional data +// about aggregated PTC payload attestations derived from cannon blocks. +type ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + Block *BlockIdentifier `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + // Position is the 0-based index of this PayloadAttestation within + // block.Body.PayloadAttestations (max MAX_PAYLOAD_ATTESTATIONS=4). + Position *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceAddPeerData{} +func (x *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) Reset() { + *x = ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[80] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) String() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceAddPeerData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[80] +func (x *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9005,44 +9512,52 @@ func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) ProtoReflect() protoreflec return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceAddPeerData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceAddPeerData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 52} +// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 54} } -func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) GetBlock() *BlockIdentifier { if x != nil { - return x.Metadata + return x.Block } return nil } -// AdditionalLibP2PTraceRemovePeerData: Holds additional data for a remove peer event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRemovePeerData struct { +func (x *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) GetPosition() *wrapperspb.UInt32Value { + if x != nil { + return x.Position + } + return nil +} + +// AdditionalEthV2BeaconBlockExecutionPayloadBidData contains additional data +// about the winning execution payload bid derived from cannon blocks. +type ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + Block *BlockIdentifier `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRemovePeerData{} +func (x *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) Reset() { + *x = ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[81] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) String() string { +func (x *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRemovePeerData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[81] +func (x *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9053,44 +9568,53 @@ func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRemovePeerData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRemovePeerData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 53} +// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 55} } -func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) GetBlock() *BlockIdentifier { if x != nil { - return x.Metadata + return x.Block } return nil } -// AdditionalLibP2PTraceRecvRPCData: Holds additional data for a receive RPC event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRecvRPCData struct { +// AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData contains additional +// data about execution payload envelope gossip from libp2p. +type ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` + MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRecvRPCData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[82] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRecvRPCData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[82] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9101,92 +9625,109 @@ func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) ProtoReflect() protoreflec return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRecvRPCData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRecvRPCData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 54} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 56} } -func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetEpoch() *EpochV2 { if x != nil { - return x.Metadata + return x.Epoch } return nil } -// AdditionalLibP2PTraceSendRPCData: Holds additional data for a send RPC event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceSendRPCData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceSendRPCData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil } -func (*ClientMeta_AdditionalLibP2PTraceSendRPCData) ProtoMessage() {} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetMetadata() *libp2p.TraceEventMetadata { + if x != nil { + return x.Metadata + } + return nil +} -func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetTopic() *wrapperspb.StringValue { + if x != nil { + return x.Topic } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceSendRPCData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceSendRPCData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 55} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetMessageSize() *wrapperspb.UInt32Value { + if x != nil { + return x.MessageSize + } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) GetMessageId() *wrapperspb.StringValue { if x != nil { - return x.Metadata + return x.MessageId } return nil } -// AdditionalLibP2PTraceDropRPCData: Holds additional data for a drop RPC event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceDropRPCData struct { +// AdditionalLibP2PTraceGossipSubExecutionPayloadBidData contains additional +// data about builder bid gossip from libp2p. +type ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` + MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceDropRPCData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[84] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceDropRPCData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[84] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9197,77 +9738,94 @@ func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) ProtoReflect() protoreflec return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDropRPCData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceDropRPCData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 56} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 57} } -func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetEpoch() *EpochV2 { if x != nil { - return x.Metadata + return x.Epoch } return nil } -// AdditionalLibP2PTraceRPCMetaControlIHaveData: Holds additional data for a RPC meta control i have event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil } -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) ProtoMessage() {} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetMetadata() *libp2p.TraceEventMetadata { + if x != nil { + return x.Metadata + } + return nil +} -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetTopic() *wrapperspb.StringValue { + if x != nil { + return x.Topic } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 57} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetMessageSize() *wrapperspb.UInt32Value { + if x != nil { + return x.MessageSize + } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) GetMessageId() *wrapperspb.StringValue { if x != nil { - return x.Metadata + return x.MessageId } return nil } -// AdditionalLibP2PTraceRPCMetaControlIWantData: Holds additional data for a RPC meta control i want event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData struct { +// AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData contains additional +// data about PTC attestation gossip from libp2p. +type ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` + MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9275,13 +9833,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9293,29 +9851,94 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 58} } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetEpoch() *EpochV2 { if x != nil { - return x.Metadata + return x.Epoch } return nil } -// AdditionalLibP2PTraceRPCMetaControlIDontWantData: Holds additional data for a RPC meta control i dont want event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData struct { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetMetadata() *libp2p.TraceEventMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetTopic() *wrapperspb.StringValue { + if x != nil { + return x.Topic + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetMessageSize() *wrapperspb.UInt32Value { + if x != nil { + return x.MessageSize + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) GetMessageId() *wrapperspb.StringValue { + if x != nil { + return x.MessageId + } + return nil +} + +// AdditionalLibP2PTraceGossipSubProposerPreferencesData contains additional +// data about proposer preferences gossip from libp2p. +type ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` + MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9323,13 +9946,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9341,29 +9964,92 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) ProtoRefle return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 59} } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceRPCMetaControlGraftData: Holds additional data for a RPC meta control graft event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData struct { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetTopic() *wrapperspb.StringValue { + if x != nil { + return x.Topic + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetMessageSize() *wrapperspb.UInt32Value { + if x != nil { + return x.MessageSize + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) GetMessageId() *wrapperspb.StringValue { + if x != nil { + return x.MessageId + } + return nil +} + +type ClientMeta_AttestationDataSnapshot struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // RequestedAtSlotStartDiffMs is the difference how far in to the slot the + // sentry was when it requested the attestation data snapshot (in + // milliseconds). + RequestedAtSlotStartDiffMs *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=requested_at_slot_start_diff_ms,proto3" json:"requested_at_slot_start_diff_ms,omitempty"` + // RequestDurationMs is the duration of the attestation data snapshot + // request (in milliseconds). + RequestDurationMs *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=request_duration_ms,proto3" json:"request_duration_ms,omitempty"` + // Timestamp is the timestamp of the attestation data snapshot. + Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData{} +func (x *ClientMeta_AttestationDataSnapshot) Reset() { + *x = ClientMeta_AttestationDataSnapshot{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9371,13 +10057,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) String() string { +func (x *ClientMeta_AttestationDataSnapshot) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) ProtoMessage() {} +func (*ClientMeta_AttestationDataSnapshot) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AttestationDataSnapshot) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9389,29 +10075,52 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AttestationDataSnapshot.ProtoReflect.Descriptor instead. +func (*ClientMeta_AttestationDataSnapshot) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 60} } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AttestationDataSnapshot) GetRequestedAtSlotStartDiffMs() *wrapperspb.UInt64Value { if x != nil { - return x.Metadata + return x.RequestedAtSlotStartDiffMs } return nil } -// AdditionalLibP2PTraceRPCMetaControlPruneData: Holds additional data for a RPC meta control prune event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData struct { +func (x *ClientMeta_AttestationDataSnapshot) GetRequestDurationMs() *wrapperspb.UInt64Value { + if x != nil { + return x.RequestDurationMs + } + return nil +} + +func (x *ClientMeta_AttestationDataSnapshot) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +type ClientMeta_AdditionalEthV1ValidatorAttestationDataData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Source contains information for the best currently justified checkpoint. + Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + // Target contains information of the block at the start of the current + // epoch. + Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + // Epoch contains the epoch information for the beacon committee. + Epoch *EpochV2 `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the beacon committee. + Slot *SlotV2 `protobuf:"bytes,4,opt,name=slot,proto3" json:"slot,omitempty"` + // AttestationDataSnapshot is the snapshot of the attestation data + Snapshot *ClientMeta_AttestationDataSnapshot `protobuf:"bytes,5,opt,name=Snapshot,json=snapshot,proto3" json:"Snapshot,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData{} +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) Reset() { + *x = ClientMeta_AdditionalEthV1ValidatorAttestationDataData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9419,13 +10128,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) String() string { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9437,29 +10146,62 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1ValidatorAttestationDataData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 61} } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { if x != nil { - return x.Metadata + return x.Source } return nil } -// AdditionalLibP2PTraceJoinData: Holds additional data for a join event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceJoinData struct { +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { + if x != nil { + return x.Target + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) GetSnapshot() *ClientMeta_AttestationDataSnapshot { + if x != nil { + return x.Snapshot + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsBlobSidecarData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Epoch contains the epoch information for the blob sidecar. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the blob sidecar. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the blob + // sidecar. + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceJoinData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceJoinData{} +func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsBlobSidecarData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9467,13 +10209,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceJoinData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceJoinData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceJoinData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsBlobSidecarData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceJoinData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9485,43 +10227,62 @@ func (x *ClientMeta_AdditionalLibP2PTraceJoinData) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceJoinData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceJoinData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsBlobSidecarData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsBlobSidecarData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 62} } -func (x *ClientMeta_AdditionalLibP2PTraceJoinData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) GetEpoch() *EpochV2 { if x != nil { - return x.Metadata + return x.Epoch } return nil } -// AdditionalLibP2PTraceLeaveData: Holds additional data for a leave event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceLeaveData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` +func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceLeaveData{} - if protoimpl.UnsafeEnabled { +func (x *ClientMeta_AdditionalEthV1EventsBlobSidecarData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil +} + +type ClientMeta_AdditionalEthV1EventsDataColumnSidecarData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Epoch contains the epoch information for the data column sidecar. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the data column sidecar. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Propagation contains information about the propagation of the data column + // sidecar. + Propagation *PropagationV2 `protobuf:"bytes,3,opt,name=propagation,proto3" json:"propagation,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) Reset() { + *x = ClientMeta_AdditionalEthV1EventsDataColumnSidecarData{} + if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) String() string { +func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceLeaveData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9533,29 +10294,51 @@ func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceLeaveData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceLeaveData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1EventsDataColumnSidecarData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 63} } -func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) GetEpoch() *EpochV2 { if x != nil { - return x.Metadata + return x.Epoch } return nil } -// AdditionalLibP2PTraceGraftData: Holds additional data for a graft event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceGraftData struct { +func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil +} + +type ClientMeta_AdditionalEthV1BeaconBlobSidecarData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Epoch contains the epoch information for the blob sidecar. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the blob sidecar. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // DataSize contains the size of the blob sidecar in bytes. + DataSize *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=data_size,proto3" json:"data_size,omitempty"` + // VersionedHash is the versioned hash for the blob sidecar. + VersionedHash string `protobuf:"bytes,4,opt,name=versioned_hash,proto3" json:"versioned_hash,omitempty"` + // DataEmptySize contains the amount of empty bytes of the blob sidecar. + DataEmptySize *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=data_empty_size,proto3" json:"data_empty_size,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGraftData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGraftData{} +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) Reset() { + *x = ClientMeta_AdditionalEthV1BeaconBlobSidecarData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9563,13 +10346,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceGraftData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceGraftData) String() string { +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGraftData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1BeaconBlobSidecarData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGraftData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9581,29 +10364,76 @@ func (x *ClientMeta_AdditionalLibP2PTraceGraftData) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGraftData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGraftData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalEthV1BeaconBlobSidecarData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1BeaconBlobSidecarData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 64} } -func (x *ClientMeta_AdditionalLibP2PTraceGraftData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetEpoch() *EpochV2 { if x != nil { - return x.Metadata + return x.Epoch } return nil } -// AdditionalLibP2PTracePruneData: Holds additional data for a prune event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTracePruneData struct { +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetDataSize() *wrapperspb.UInt64Value { + if x != nil { + return x.DataSize + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetVersionedHash() string { + if x != nil { + return x.VersionedHash + } + return "" +} + +func (x *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) GetDataEmptySize() *wrapperspb.UInt64Value { + if x != nil { + return x.DataEmptySize + } + return nil +} + +type ClientMeta_AdditionalBeaconP2PAttestationData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Source contains information for the best currently justified checkpoint. + Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + // Target contains information of the block at the start of the current + // epoch. + Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + // Slot contains the slot information for the attestation. + Slot *SlotV2 `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` + // Epoch contains the epoch information for the attestation. + Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Propagation contains information about the propagation of the + // attestation. + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // AttestingValidator contains data about the validator that created the + // attestation. Note: only available for unaggregated attestations. + AttestingValidator *AttestingValidatorV2 `protobuf:"bytes,6,opt,name=attesting_validator,proto3" json:"attesting_validator,omitempty"` + // Peer contains information on the peer that sent us the attestation. + Peer *libp2p.Peer `protobuf:"bytes,7,opt,name=peer,proto3" json:"peer,omitempty"` + // Subnet is the subnet that the attestation was sent on. + Subnet *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=subnet,proto3" json:"subnet,omitempty"` + // Validated is if the attestation was validated. + Validated *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=validated,proto3" json:"validated,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTracePruneData) Reset() { - *x = ClientMeta_AdditionalLibP2PTracePruneData{} +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) Reset() { + *x = ClientMeta_AdditionalBeaconP2PAttestationData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9611,13 +10441,13 @@ func (x *ClientMeta_AdditionalLibP2PTracePruneData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTracePruneData) String() string { +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTracePruneData) ProtoMessage() {} +func (*ClientMeta_AdditionalBeaconP2PAttestationData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTracePruneData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9629,92 +10459,106 @@ func (x *ClientMeta_AdditionalLibP2PTracePruneData) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTracePruneData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTracePruneData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalBeaconP2PAttestationData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalBeaconP2PAttestationData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 65} } -func (x *ClientMeta_AdditionalLibP2PTracePruneData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { if x != nil { - return x.Metadata + return x.Source } return nil } -// AdditionalLibP2PTraceDuplicateMessageData: Holds additional data for a duplicate message event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceDuplicateMessageData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { + if x != nil { + return x.Target + } + return nil +} - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceDuplicateMessageData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil } -func (*ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) ProtoMessage() {} +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetAttestingValidator() *AttestingValidatorV2 { + if x != nil { + return x.AttestingValidator + } + return nil +} -func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetPeer() *libp2p.Peer { + if x != nil { + return x.Peer } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDuplicateMessageData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 66} +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetSubnet() *wrapperspb.UInt32Value { + if x != nil { + return x.Subnet + } + return nil } -func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalBeaconP2PAttestationData) GetValidated() *wrapperspb.BoolValue { if x != nil { - return x.Metadata + return x.Validated } return nil } -// AdditionalLibP2PTraceDeliverMessageData: Holds additional data for a deliver message event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceDeliverMessageData struct { +type ClientMeta_AdditionalEthV1ProposerDutyData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Epoch contains the epoch information for the proposer duty. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the proposer duty. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // StateID is the state ID when the proposer duty was requested. + // This can be used to determine if the proposer duty was canonical + // by checking if the state_id is 'finalized'. + StateId string `protobuf:"bytes,3,opt,name=state_id,proto3" json:"state_id,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceDeliverMessageData{} +func (x *ClientMeta_AdditionalEthV1ProposerDutyData) Reset() { + *x = ClientMeta_AdditionalEthV1ProposerDutyData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[95] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) String() string { +func (x *ClientMeta_AdditionalEthV1ProposerDutyData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceDeliverMessageData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1ProposerDutyData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[95] +func (x *ClientMeta_AdditionalEthV1ProposerDutyData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9725,20 +10569,129 @@ func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) ProtoReflect() prot return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDeliverMessageData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceDeliverMessageData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 67} +// Deprecated: Use ClientMeta_AdditionalEthV1ProposerDutyData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1ProposerDutyData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 66} } -func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalEthV1ProposerDutyData) GetEpoch() *EpochV2 { if x != nil { - return x.Metadata + return x.Epoch } return nil } -// AdditionalLibP2PTracePublishMessageData: Holds additional data for a publish message event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTracePublishMessageData struct { +func (x *ClientMeta_AdditionalEthV1ProposerDutyData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV1ProposerDutyData) GetStateId() string { + if x != nil { + return x.StateId + } + return "" +} + +type ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Block contains the information about the block that we are deriving the + // elaborated attestation from. + Block *BlockIdentifier `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + // PositionInBlock is the position of the attestation in the block. + PositionInBlock *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=position_in_block,proto3" json:"position_in_block,omitempty"` + // Epoch contains the epoch information for the slot of the attestation. + Epoch *EpochV2 `protobuf:"bytes,3,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the slot of the attestation. + Slot *SlotV2 `protobuf:"bytes,4,opt,name=slot,proto3" json:"slot,omitempty"` + // Source contains information for source of the attestation. + Source *ClientMeta_AdditionalEthV1AttestationSourceV2Data `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` + // Target contains information of the block at the start of the current + // epoch. + Target *ClientMeta_AdditionalEthV1AttestationTargetV2Data `protobuf:"bytes,6,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Reset() { + *x = ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 67} +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetBlock() *BlockIdentifier { + if x != nil { + return x.Block + } + return nil +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetPositionInBlock() *wrapperspb.UInt64Value { + if x != nil { + return x.PositionInBlock + } + return nil +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch + } + return nil +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetSource() *ClientMeta_AdditionalEthV1AttestationSourceV2Data { + if x != nil { + return x.Source + } + return nil +} + +func (x *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) GetTarget() *ClientMeta_AdditionalEthV1AttestationTargetV2Data { + if x != nil { + return x.Target + } + return nil +} + +// AdditionalLibP2PTraceAddPeerData: Holds additional data for an add peer event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceAddPeerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -9746,8 +10699,8 @@ type ClientMeta_AdditionalLibP2PTracePublishMessageData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) Reset() { - *x = ClientMeta_AdditionalLibP2PTracePublishMessageData{} +func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceAddPeerData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9755,13 +10708,13 @@ func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTracePublishMessageData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceAddPeerData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9773,20 +10726,20 @@ func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) ProtoReflect() prot return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTracePublishMessageData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTracePublishMessageData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceAddPeerData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceAddPeerData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 68} } -func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceAddPeerData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceRejectMessageData: Holds additional data for a reject message event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRejectMessageData struct { +// AdditionalLibP2PTraceRemovePeerData: Holds additional data for a remove peer event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRemovePeerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -9794,8 +10747,8 @@ type ClientMeta_AdditionalLibP2PTraceRejectMessageData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRejectMessageData{} +func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRemovePeerData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9803,13 +10756,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRejectMessageData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRemovePeerData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9821,20 +10774,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRejectMessageData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRejectMessageData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRemovePeerData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRemovePeerData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 69} } -func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceRemovePeerData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceConnectedData: Holds additional data for a connected event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceConnectedData struct { +// AdditionalLibP2PTraceRecvRPCData: Holds additional data for a receive RPC event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRecvRPCData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -9842,8 +10795,8 @@ type ClientMeta_AdditionalLibP2PTraceConnectedData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceConnectedData{} +func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRecvRPCData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9851,13 +10804,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceConnectedData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRecvRPCData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9869,20 +10822,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceConnectedData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceConnectedData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRecvRPCData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRecvRPCData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 70} } -func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceRecvRPCData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceDisconnectedData: Holds additional data for a disconnected event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceDisconnectedData struct { +// AdditionalLibP2PTraceSendRPCData: Holds additional data for a send RPC event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceSendRPCData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -9890,8 +10843,8 @@ type ClientMeta_AdditionalLibP2PTraceDisconnectedData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceDisconnectedData{} +func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceSendRPCData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9899,13 +10852,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceDisconnectedData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceSendRPCData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9917,20 +10870,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) ProtoReflect() protor return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDisconnectedData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceDisconnectedData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceSendRPCData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceSendRPCData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 71} } -func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceSendRPCData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceSyntheticHeartbeatData: Holds additional data for a synthetic heartbeat event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData struct { +// AdditionalLibP2PTraceDropRPCData: Holds additional data for a drop RPC event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceDropRPCData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -9938,8 +10891,8 @@ type ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData{} +func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceDropRPCData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9947,13 +10900,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceDropRPCData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9965,20 +10918,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDropRPCData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceDropRPCData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 72} } -func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceDropRPCData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceHandleMetadataData: Holds additional data for a handle metadata event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceHandleMetadataData struct { +// AdditionalLibP2PTraceRPCMetaControlIHaveData: Holds additional data for a RPC meta control i have event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -9986,8 +10939,8 @@ type ClientMeta_AdditionalLibP2PTraceHandleMetadataData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceHandleMetadataData{} +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9995,13 +10948,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceHandleMetadataData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10013,20 +10966,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) ProtoReflect() prot return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceHandleMetadataData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceHandleMetadataData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 73} } -func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceHandleStatusData: Holds additional data for a handle status event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceHandleStatusData struct { +// AdditionalLibP2PTraceRPCMetaControlIWantData: Holds additional data for a RPC meta control i want event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -10034,8 +10987,8 @@ type ClientMeta_AdditionalLibP2PTraceHandleStatusData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceHandleStatusData{} +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10043,13 +10996,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceHandleStatusData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10061,19 +11014,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) ProtoReflect() protor return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceHandleStatusData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceHandleStatusData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 74} } -func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -type ClientMeta_AdditionalLibP2PTraceIdentifyData struct { +// AdditionalLibP2PTraceRPCMetaControlIDontWantData: Holds additional data for a RPC meta control i dont want event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -10081,22 +11035,22 @@ type ClientMeta_AdditionalLibP2PTraceIdentifyData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceIdentifyData{} - if protoimpl.UnsafeEnabled { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData{} + if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceIdentifyData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10108,37 +11062,29 @@ func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceIdentifyData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceIdentifyData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 75} } -func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceRpcDataColumnCustodyProbeData: Holds additional data for a custody probe event in LibP2P Trace RPC. -type ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData struct { +// AdditionalLibP2PTraceRPCMetaControlGraftData: Holds additional data for a RPC meta control graft event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Epoch contains the epoch information for the probe event - Epoch *EpochV2 `protobuf:"bytes,2,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the probe event. - Slot *SlotV2 `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockEpoch contains the epoch information for the probe event in the wall clock time when the request was sent. - WallclockEpoch *EpochV2 `protobuf:"bytes,4,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // WallclockSlot contains the slot information for the probe event in the wall clock time when the request was sent. - WallclockSlot *SlotV2 `protobuf:"bytes,5,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData{} +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10146,13 +11092,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Reset() } } -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10164,48 +11110,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) ProtoRef return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 76} } -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetEpoch() *EpochV2 { - if x != nil { - return x.Epoch - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetWallclockEpoch() *EpochV2 { - if x != nil { - return x.WallclockEpoch - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetWallclockSlot() *SlotV2 { - if x != nil { - return x.WallclockSlot - } - return nil -} - -// AdditionalLibP2PTraceRPCMetaSubscriptionData: Holds additional data for a RPC meta subscription event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData struct { +// AdditionalLibP2PTraceRPCMetaControlPruneData: Holds additional data for a RPC meta control prune event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -10213,8 +11131,8 @@ type ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData{} +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10222,13 +11140,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10240,20 +11158,20 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 77} } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceRPCMetaMessageData: Holds additional data for a RPC meta message event in LibP2P tracing. -type ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData struct { +// AdditionalLibP2PTraceJoinData: Holds additional data for a join event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceJoinData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -10261,8 +11179,8 @@ type ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData struct { Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData{} +func (x *ClientMeta_AdditionalLibP2PTraceJoinData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceJoinData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10270,13 +11188,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceJoinData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceJoinData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceJoinData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10288,46 +11206,29 @@ func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) ProtoReflect() prot return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceJoinData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceJoinData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 78} } -func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceJoinData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -// AdditionalLibP2PTraceGossipSubBeaconBlockData contains additional data about the gossip sub beacon block event. -type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData struct { +// AdditionalLibP2PTraceLeaveData: Holds additional data for a leave event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceLeaveData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the beacon block. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the beacon block. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockEpoch contains the epoch information for the beacon block in the wall clock time. - WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // WallclockSlot contains the slot information for the beacon block in the wall clock time. - WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Propagation contains information about the propagation of the beacon block. - Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` - // Metadata contains additional trace event metadata. - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Topic is the gossip sub topic the beacon block was received on. - Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` - // MessageSize is the size of the beacon block message in bytes. - MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` - // MessageID is a unique identifier for the beacon block message. - MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData{} +func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceLeaveData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10335,13 +11236,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) Reset() { } } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceLeaveData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10353,85 +11254,29 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) ProtoReflect( return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceLeaveData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceLeaveData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 79} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetEpoch() *EpochV2 { - if x != nil { - return x.Epoch - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetWallclockEpoch() *EpochV2 { - if x != nil { - return x.WallclockEpoch - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetWallclockSlot() *SlotV2 { - if x != nil { - return x.WallclockSlot - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetPropagation() *PropagationV2 { - if x != nil { - return x.Propagation - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetMetadata() *libp2p.TraceEventMetadata { +func (x *ClientMeta_AdditionalLibP2PTraceLeaveData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetTopic() *wrapperspb.StringValue { - if x != nil { - return x.Topic - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetMessageSize() *wrapperspb.UInt32Value { - if x != nil { - return x.MessageSize - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetMessageId() *wrapperspb.StringValue { - if x != nil { - return x.MessageId - } - return nil -} - -type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData struct { +// AdditionalLibP2PTraceGraftData: Holds additional data for a graft event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceGraftData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the source. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData{} +func (x *ClientMeta_AdditionalLibP2PTraceGraftData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGraftData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10439,13 +11284,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) R } } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGraftData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGraftData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceGraftData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10457,29 +11302,29 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) P return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGraftData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGraftData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 80} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGraftData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Epoch + return x.Metadata } return nil } -type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData struct { +// AdditionalLibP2PTracePruneData: Holds additional data for a prune event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTracePruneData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the target. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData{} +func (x *ClientMeta_AdditionalLibP2PTracePruneData) Reset() { + *x = ClientMeta_AdditionalLibP2PTracePruneData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10487,13 +11332,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) R } } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) String() string { +func (x *ClientMeta_AdditionalLibP2PTracePruneData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTracePruneData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTracePruneData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10505,54 +11350,29 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) P return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTracePruneData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTracePruneData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 81} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTracePruneData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Epoch + return x.Metadata } return nil } -type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData struct { - state protoimpl.MessageState +// AdditionalLibP2PTraceDuplicateMessageData: Holds additional data for a duplicate message event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceDuplicateMessageData struct { + state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Source contains information for the best currently justified checkpoint. - Source *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - // Target contains information of the block at the start of the current - // epoch. - Target *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` - // Slot contains the slot information for the attestation. - Slot *SlotV2 `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` - // Epoch contains the epoch information for the attestation. - Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Propagation contains information about the propagation of the - // attestation. - Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` - // AttestingValidator contains data about the validator that created the - // attestation. Note: only available for unaggregated attestations. - AttestingValidator *AttestingValidatorV2 `protobuf:"bytes,6,opt,name=attesting_validator,proto3" json:"attesting_validator,omitempty"` - // WallclockEpoch contains the epoch information for the attestation on the wall clock when the attestation was received. - WallclockEpoch *EpochV2 `protobuf:"bytes,7,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // WallclockSlot contains the slot information for the attestation on the wall clock when the attestation was received. - WallclockSlot *SlotV2 `protobuf:"bytes,8,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Metadata contains additional trace event metadata. - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Topic is the gossip sub topic the beacon block was received on. - Topic *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=topic,proto3" json:"topic,omitempty"` - // MessageSize is the size of the beacon block message in bytes. - MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,11,opt,name=message_size,proto3" json:"message_size,omitempty"` - // MessageID is a unique identifier for the beacon block message. - MessageId *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=message_id,proto3" json:"message_id,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData{} +func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceDuplicateMessageData{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10560,13 +11380,13 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Reset() } } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) ProtoReflect() protoreflect.Message { +func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10578,139 +11398,140 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) ProtoRe return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Descriptor() ([]byte, []int) { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDuplicateMessageData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) Descriptor() ([]byte, []int) { return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 82} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetSource() *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData { +func (x *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Source + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetTarget() *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData { - if x != nil { - return x.Target - } - return nil +// AdditionalLibP2PTraceDeliverMessageData: Holds additional data for a deliver message event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceDeliverMessageData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot +func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceDeliverMessageData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetEpoch() *EpochV2 { - if x != nil { - return x.Epoch - } - return nil +func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetPropagation() *PropagationV2 { - if x != nil { - return x.Propagation +func (*ClientMeta_AdditionalLibP2PTraceDeliverMessageData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[111] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetAttestingValidator() *AttestingValidatorV2 { - if x != nil { - return x.AttestingValidator - } - return nil +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDeliverMessageData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceDeliverMessageData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 83} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetWallclockEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.WallclockEpoch + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetWallclockSlot() *SlotV2 { - if x != nil { - return x.WallclockSlot - } - return nil +// AdditionalLibP2PTracePublishMessageData: Holds additional data for a publish message event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTracePublishMessageData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetMetadata() *libp2p.TraceEventMetadata { - if x != nil { - return x.Metadata +func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) Reset() { + *x = ClientMeta_AdditionalLibP2PTracePublishMessageData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetTopic() *wrapperspb.StringValue { - if x != nil { - return x.Topic - } - return nil +func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetMessageSize() *wrapperspb.UInt32Value { - if x != nil { - return x.MessageSize +func (*ClientMeta_AdditionalLibP2PTracePublishMessageData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[112] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetMessageId() *wrapperspb.StringValue { +// Deprecated: Use ClientMeta_AdditionalLibP2PTracePublishMessageData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTracePublishMessageData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 84} +} + +func (x *ClientMeta_AdditionalLibP2PTracePublishMessageData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.MessageId + return x.Metadata } return nil } -type ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData struct { +// AdditionalLibP2PTraceRejectMessageData: Holds additional data for a reject message event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRejectMessageData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the aggregate and proof. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the aggregate and proof. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockEpoch contains the epoch information for the aggregate and proof in the wall clock time. - WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // WallclockSlot contains the slot information for the aggregate and proof in the wall clock time. - WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Propagation contains information about the propagation of the aggregate and proof. - Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` - // AggregatorIndex contains the index of the validator who created this aggregate. - AggregatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=aggregator_index,proto3" json:"aggregator_index,omitempty"` - // Metadata contains additional trace event metadata. - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Topic is the gossip sub topic the aggregate and proof was received on. - Topic *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=topic,proto3" json:"topic,omitempty"` - // MessageSize is the size of the aggregate and proof message in bytes. - MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,9,opt,name=message_size,proto3" json:"message_size,omitempty"` - // MessageID is a unique identifier for the aggregate and proof message. - MessageId *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=message_id,proto3" json:"message_id,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData{} +func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRejectMessageData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[111] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRejectMessageData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[111] +func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10721,123 +11542,140 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) ProtoRe return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 83} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRejectMessageData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRejectMessageData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 85} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceRejectMessageData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Epoch + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot - } - return nil +// AdditionalLibP2PTraceConnectedData: Holds additional data for a connected event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceConnectedData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetWallclockEpoch() *EpochV2 { - if x != nil { - return x.WallclockEpoch +func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceConnectedData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetWallclockSlot() *SlotV2 { - if x != nil { - return x.WallclockSlot +func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientMeta_AdditionalLibP2PTraceConnectedData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[114] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetPropagation() *PropagationV2 { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceConnectedData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceConnectedData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 86} +} + +func (x *ClientMeta_AdditionalLibP2PTraceConnectedData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Propagation + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetAggregatorIndex() *wrapperspb.UInt64Value { - if x != nil { - return x.AggregatorIndex - } - return nil +// AdditionalLibP2PTraceDisconnectedData: Holds additional data for a disconnected event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceDisconnectedData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetMetadata() *libp2p.TraceEventMetadata { - if x != nil { - return x.Metadata +func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceDisconnectedData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetTopic() *wrapperspb.StringValue { - if x != nil { - return x.Topic - } - return nil +func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetMessageSize() *wrapperspb.UInt32Value { - if x != nil { - return x.MessageSize +func (*ClientMeta_AdditionalLibP2PTraceDisconnectedData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[115] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetMessageId() *wrapperspb.StringValue { +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceDisconnectedData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceDisconnectedData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 87} +} + +func (x *ClientMeta_AdditionalLibP2PTraceDisconnectedData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.MessageId + return x.Metadata } return nil } -type ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData struct { +// AdditionalLibP2PTraceSyntheticHeartbeatData: Holds additional data for a synthetic heartbeat event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the blob sidecar. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the blob sidecar. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockEpoch contains the epoch information for the blob sidecar in the wall clock time. - WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // WallclockSlot contains the slot information for the blob sidecar in the wall clock time. - WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Propagation contains information about the propagation of the blob sidecar. - Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` - // Metadata contains additional trace event metadata. - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Topic is the gossip sub topic the blob sidecar was received on. - Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` - // MessageSize is the size of the blob sidecar message in bytes. - MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` - // MessageID is a unique identifier for the blob sidecar message. - MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData{} +func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[112] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[112] +func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10848,116 +11686,92 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) ProtoReflect( return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 84} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 88} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Epoch + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot - } - return nil -} +// AdditionalLibP2PTraceHandleMetadataData: Holds additional data for a handle metadata event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceHandleMetadataData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetWallclockEpoch() *EpochV2 { - if x != nil { - return x.WallclockEpoch - } - return nil + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetWallclockSlot() *SlotV2 { - if x != nil { - return x.WallclockSlot +func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceHandleMetadataData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetPropagation() *PropagationV2 { - if x != nil { - return x.Propagation - } - return nil +func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetMetadata() *libp2p.TraceEventMetadata { - if x != nil { - return x.Metadata - } - return nil -} +func (*ClientMeta_AdditionalLibP2PTraceHandleMetadataData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetTopic() *wrapperspb.StringValue { - if x != nil { - return x.Topic +func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[117] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetMessageSize() *wrapperspb.UInt32Value { - if x != nil { - return x.MessageSize - } - return nil +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceHandleMetadataData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceHandleMetadataData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 89} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetMessageId() *wrapperspb.StringValue { +func (x *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.MessageId + return x.Metadata } return nil } -type ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData struct { +// AdditionalLibP2PTraceHandleStatusData: Holds additional data for a handle status event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceHandleStatusData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the data column sidecar. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the data column sidecar. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockEpoch contains the epoch information for the data column sidecar in the wall clock time. - WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // WallclockSlot contains the slot information for the data column sidecar in the wall clock time. - WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Propagation contains information about the propagation of the data column sidecar. - Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` - // Metadata contains additional trace event metadata. - Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Topic is the gossip sub topic the data column sidecar was received on. - Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` - // MessageSize is the size of the data column sidecar message in bytes. - MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` - // MessageID is a unique identifier for the data column sidecar message. - MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Reset() { - *x = ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData{} +func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceHandleStatusData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[113] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceHandleStatusData) ProtoMessage() {} -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[113] +func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10968,100 +11782,99 @@ func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) ProtoRe return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 85} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceHandleStatusData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceHandleStatusData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 90} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceHandleStatusData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Epoch + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot - } - return nil +type ClientMeta_AdditionalLibP2PTraceIdentifyData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetWallclockEpoch() *EpochV2 { - if x != nil { - return x.WallclockEpoch +func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceIdentifyData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetWallclockSlot() *SlotV2 { - if x != nil { - return x.WallclockSlot - } - return nil +func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetPropagation() *PropagationV2 { - if x != nil { - return x.Propagation +func (*ClientMeta_AdditionalLibP2PTraceIdentifyData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[119] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetMetadata() *libp2p.TraceEventMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetTopic() *wrapperspb.StringValue { - if x != nil { - return x.Topic - } - return nil -} - -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetMessageSize() *wrapperspb.UInt32Value { - if x != nil { - return x.MessageSize - } - return nil +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceIdentifyData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceIdentifyData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 91} } -func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetMessageId() *wrapperspb.StringValue { +func (x *ClientMeta_AdditionalLibP2PTraceIdentifyData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.MessageId + return x.Metadata } return nil } -// AdditionalEthV1ValidatorsData contains additional data about the eth v1 validators. -type ClientMeta_AdditionalEthV1ValidatorsData struct { +// AdditionalLibP2PTraceRpcDataColumnCustodyProbeData: Holds additional data for a custody probe event in LibP2P Trace RPC. +type ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Epoch contains the epoch information for the probe event + Epoch *EpochV2 `protobuf:"bytes,2,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the probe event. + Slot *SlotV2 `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` + // WallclockEpoch contains the epoch information for the probe event in the wall clock time when the request was sent. + WallclockEpoch *EpochV2 `protobuf:"bytes,4,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // WallclockSlot contains the slot information for the probe event in the wall clock time when the request was sent. + WallclockSlot *SlotV2 `protobuf:"bytes,5,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` } -func (x *ClientMeta_AdditionalEthV1ValidatorsData) Reset() { - *x = ClientMeta_AdditionalEthV1ValidatorsData{} +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[114] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1ValidatorsData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1ValidatorsData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1ValidatorsData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[114] +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11072,57 +11885,72 @@ func (x *ClientMeta_AdditionalEthV1ValidatorsData) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1ValidatorsData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1ValidatorsData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 86} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 92} } -func (x *ClientMeta_AdditionalEthV1ValidatorsData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetMetadata() *libp2p.TraceEventMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -// AdditionalMevRelayBidTraceBuilderBlockSubmissionData contains additional data about the mev relay bid trace event. -type ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData struct { +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot + } + return nil +} + +// AdditionalLibP2PTraceRPCMetaSubscriptionData: Holds additional data for a RPC meta subscription event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Relay is the relay that the bid trace is from. - Relay *mevrelay.Relay `protobuf:"bytes,1,opt,name=relay,proto3" json:"relay,omitempty"` - // Slot is the slot the bid trace is for. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockSlot contains the slot information of when the bid trace was requested. - WallclockSlot *SlotV2 `protobuf:"bytes,3,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Epoch is the epoch the bid trace is for. - Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` - // WallclockEpoch contains the epoch information of when the bid trace was requested. - WallclockEpoch *EpochV2 `protobuf:"bytes,5,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // RequestedAtSlotTime is the time in the slot when the bid trace was requested. - RequestedAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=requested_at_slot_time,proto3" json:"requested_at_slot_time,omitempty"` - // ResponseAtSlotTime is the time in the slot when the bid trace was responded to. - ResponseAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=response_at_slot_time,proto3" json:"response_at_slot_time,omitempty"` + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Reset() { - *x = ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData{} +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[115] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) ProtoMessage() {} -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[115] +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11133,99 +11961,109 @@ func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) ProtoR return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 87} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 93} } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetRelay() *mevrelay.Relay { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.Relay + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot - } - return nil +// AdditionalLibP2PTraceRPCMetaMessageData: Holds additional data for a RPC meta message event in LibP2P tracing. +type ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetWallclockSlot() *SlotV2 { - if x != nil { - return x.WallclockSlot +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetEpoch() *EpochV2 { - if x != nil { - return x.Epoch - } - return nil +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetWallclockEpoch() *EpochV2 { - if x != nil { - return x.WallclockEpoch +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) ProtoMessage() {} + +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[122] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetRequestedAtSlotTime() *wrapperspb.UInt64Value { - if x != nil { - return x.RequestedAtSlotTime - } - return nil +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 94} } -func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetResponseAtSlotTime() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.ResponseAtSlotTime + return x.Metadata } return nil } -// AdditionalMevRelayPayloadDeliveredData contains additional data about the proposer payload delivered event. -type ClientMeta_AdditionalMevRelayPayloadDeliveredData struct { +// AdditionalLibP2PTraceGossipSubBeaconBlockData contains additional data about the gossip sub beacon block event. +type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Relay is the relay that delivered the payload. - Relay *mevrelay.Relay `protobuf:"bytes,1,opt,name=relay,proto3" json:"relay,omitempty"` - // Slot is the slot the payload was delivered for. + // Epoch contains the epoch information for the beacon block. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the beacon block. Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockSlot contains the slot information of when the payload was delivered. - WallclockSlot *SlotV2 `protobuf:"bytes,3,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Epoch is the epoch the payload was delivered for. - Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` - // WallclockEpoch contains the epoch information of when the payload was delivered. - WallclockEpoch *EpochV2 `protobuf:"bytes,5,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // RequestedAtSlotTime is the time in the slot when the payload was requested. - RequestedAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=requested_at_slot_time,proto3" json:"requested_at_slot_time,omitempty"` - // ResponseAtSlotTime is the time in the slot when the payload was delivered. - ResponseAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=response_at_slot_time,proto3" json:"response_at_slot_time,omitempty"` + // WallclockEpoch contains the epoch information for the beacon block in the wall clock time. + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // WallclockSlot contains the slot information for the beacon block in the wall clock time. + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Propagation contains information about the propagation of the beacon block. + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // Metadata contains additional trace event metadata. + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Topic is the gossip sub topic the beacon block was received on. + Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` + // MessageSize is the size of the beacon block message in bytes. + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` + // MessageID is a unique identifier for the beacon block message. + MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) Reset() { - *x = ClientMeta_AdditionalMevRelayPayloadDeliveredData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[116] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalMevRelayPayloadDeliveredData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) ProtoMessage() {} -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[116] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11236,111 +12074,100 @@ func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalMevRelayPayloadDeliveredData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalMevRelayPayloadDeliveredData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 88} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 95} } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetRelay() *mevrelay.Relay { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetEpoch() *EpochV2 { if x != nil { - return x.Relay + return x.Epoch } return nil } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetWallclockSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetWallclockEpoch() *EpochV2 { if x != nil { - return x.WallclockSlot + return x.WallclockEpoch } return nil } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetWallclockSlot() *SlotV2 { if x != nil { - return x.Epoch + return x.WallclockSlot } return nil } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetWallclockEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetPropagation() *PropagationV2 { if x != nil { - return x.WallclockEpoch + return x.Propagation } return nil } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetRequestedAtSlotTime() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.RequestedAtSlotTime + return x.Metadata } return nil } -func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetResponseAtSlotTime() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetTopic() *wrapperspb.StringValue { if x != nil { - return x.ResponseAtSlotTime + return x.Topic } return nil } -// AdditionalEthV3ValidatorBlockData contains additional data about the eth v3 validator block event. -type ClientMeta_AdditionalEthV3ValidatorBlockData struct { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetMessageSize() *wrapperspb.UInt32Value { + if x != nil { + return x.MessageSize + } + return nil +} + +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) GetMessageId() *wrapperspb.StringValue { + if x != nil { + return x.MessageId + } + return nil +} + +type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the block. + // Epoch contains the epoch information for the source. Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the block. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // Version contains information about the version of the block. - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - // TransactionsCount contains the number of transactions in the block - TransactionsCount *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=transactions_count,proto3" json:"transactions_count,omitempty"` - // TransactionsTotalBytes contains the total bytes size of transactions - TransactionsTotalBytes *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=transactions_total_bytes,proto3" json:"transactions_total_bytes,omitempty"` - // CompressedTotalBytesCompressed contains the total bytes size of - // transactions with snappy compression - TransactionsTotalBytesCompressed *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=transactions_total_bytes_compressed,proto3" json:"transactions_total_bytes_compressed,omitempty"` - // TotalBytes contains the total bytes size of block - TotalBytes *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=total_bytes,proto3" json:"total_bytes,omitempty"` - // TotalBytesCompressed contains the total bytes size of block with snappy - // compression - TotalBytesCompressed *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=total_bytes_compressed,proto3" json:"total_bytes_compressed,omitempty"` - // ExecutionValue contains the total execution payload value, in Wei. - ExecutionValue string `protobuf:"bytes,9,opt,name=execution_value,proto3" json:"execution_value,omitempty"` - // ConsensusValue represents the rewards paid to the proposer for this block, in Wei. - ConsensusValue string `protobuf:"bytes,10,opt,name=consensus_value,proto3" json:"consensus_value,omitempty"` - // RequestDurationMs is the duration of the produce block request (in milliseconds). - RequestDurationMs *wrapperspb.UInt64Value `protobuf:"bytes,11,opt,name=request_duration_ms,proto3" json:"request_duration_ms,omitempty"` - // RequestedAt is the time the call was made to produce the block. - RequestedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=requested_at,proto3" json:"requested_at,omitempty"` } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) Reset() { - *x = ClientMeta_AdditionalEthV3ValidatorBlockData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[117] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV3ValidatorBlockData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[117] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11351,132 +12178,117 @@ func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV3ValidatorBlockData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV3ValidatorBlockData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 89} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 96} } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetSlot() *SlotV2 { - if x != nil { - return x.Slot - } - return nil -} - -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTransactionsCount() *wrapperspb.UInt64Value { - if x != nil { - return x.TransactionsCount - } - return nil -} - -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTransactionsTotalBytes() *wrapperspb.UInt64Value { - if x != nil { - return x.TransactionsTotalBytes - } - return nil -} +type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTransactionsTotalBytesCompressed() *wrapperspb.UInt64Value { - if x != nil { - return x.TransactionsTotalBytesCompressed - } - return nil + // Epoch contains the epoch information for the target. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTotalBytes() *wrapperspb.UInt64Value { - if x != nil { - return x.TotalBytes +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTotalBytesCompressed() *wrapperspb.UInt64Value { - if x != nil { - return x.TotalBytesCompressed - } - return nil +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetExecutionValue() string { - if x != nil { - return x.ExecutionValue - } - return "" -} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetConsensusValue() string { - if x != nil { - return x.ConsensusValue +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[125] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetRequestDurationMs() *wrapperspb.UInt64Value { - if x != nil { - return x.RequestDurationMs - } - return nil +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 97} } -func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetRequestedAt() *timestamppb.Timestamp { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) GetEpoch() *EpochV2 { if x != nil { - return x.RequestedAt + return x.Epoch } return nil } -// AdditionalMevRelayValidatorRegistrationData contains additional data about the mev relay validator registration event. -type ClientMeta_AdditionalMevRelayValidatorRegistrationData struct { +type ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Relay is the relay that received the validator registration. - Relay *mevrelay.Relay `protobuf:"bytes,1,opt,name=relay,proto3" json:"relay,omitempty"` - // Slot is the slot the validator registration was received for. This is derived from the validator registration `timestamp` field. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` - // WallclockSlot contains the slot information of when the validator registration was received from the relay. - WallclockSlot *SlotV2 `protobuf:"bytes,3,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` - // Epoch is the epoch the validator registration was received for. This is derived from the validator registration `timestamp` field. + // Source contains information for the best currently justified checkpoint. + Source *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + // Target contains information of the block at the start of the current + // epoch. + Target *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + // Slot contains the slot information for the attestation. + Slot *SlotV2 `protobuf:"bytes,3,opt,name=slot,proto3" json:"slot,omitempty"` + // Epoch contains the epoch information for the attestation. Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` - // WallclockEpoch contains the epoch information of when the validator registration was requested from the relay. - WallclockEpoch *EpochV2 `protobuf:"bytes,5,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` - // ValidatorIndex is the index of the validator that was registered. - ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=validator_index,proto3" json:"validator_index,omitempty"` + // Propagation contains information about the propagation of the + // attestation. + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // AttestingValidator contains data about the validator that created the + // attestation. Note: only available for unaggregated attestations. + AttestingValidator *AttestingValidatorV2 `protobuf:"bytes,6,opt,name=attesting_validator,proto3" json:"attesting_validator,omitempty"` + // WallclockEpoch contains the epoch information for the attestation on the wall clock when the attestation was received. + WallclockEpoch *EpochV2 `protobuf:"bytes,7,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // WallclockSlot contains the slot information for the attestation on the wall clock when the attestation was received. + WallclockSlot *SlotV2 `protobuf:"bytes,8,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Metadata contains additional trace event metadata. + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Topic is the gossip sub topic the beacon block was received on. + Topic *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=topic,proto3" json:"topic,omitempty"` + // MessageSize is the size of the beacon block message in bytes. + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,11,opt,name=message_size,proto3" json:"message_size,omitempty"` + // MessageID is a unique identifier for the beacon block message. + MessageId *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) Reset() { - *x = ClientMeta_AdditionalMevRelayValidatorRegistrationData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[118] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalMevRelayValidatorRegistrationData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) ProtoMessage() {} -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[118] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11487,150 +12299,139 @@ func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) ProtoReflect() return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalMevRelayValidatorRegistrationData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalMevRelayValidatorRegistrationData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 90} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 98} } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetRelay() *mevrelay.Relay { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetSource() *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData { if x != nil { - return x.Relay + return x.Source } return nil } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetTarget() *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData { if x != nil { - return x.Slot + return x.Target } return nil } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetWallclockSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetSlot() *SlotV2 { if x != nil { - return x.WallclockSlot + return x.Slot } return nil } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetWallclockEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetPropagation() *PropagationV2 { if x != nil { - return x.WallclockEpoch + return x.Propagation } return nil } -func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetValidatorIndex() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetAttestingValidator() *AttestingValidatorV2 { if x != nil { - return x.ValidatorIndex + return x.AttestingValidator } return nil } -// AdditionalNodeRecordConsensusData contains additional data about the node record consensus event. -type ClientMeta_AdditionalNodeRecordConsensusData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil +} - // FinalizedEpoch is the epoch the node record consensus was received for. - FinalizedEpoch *EpochV2 `protobuf:"bytes,2,opt,name=finalized_epoch,json=finalizedEpoch,proto3" json:"finalized_epoch,omitempty"` - // HeadSlot is the slot the node record consensus was received for. - HeadSlot *SlotV2 `protobuf:"bytes,3,opt,name=head_slot,json=headSlot,proto3" json:"head_slot,omitempty"` - // HeadEpoch is the epoch the node record consensus was received for. - HeadEpoch *EpochV2 `protobuf:"bytes,4,opt,name=head_epoch,json=headEpoch,proto3" json:"head_epoch,omitempty"` -} - -func (x *ClientMeta_AdditionalNodeRecordConsensusData) Reset() { - *x = ClientMeta_AdditionalNodeRecordConsensusData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot } + return nil } -func (x *ClientMeta_AdditionalNodeRecordConsensusData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientMeta_AdditionalNodeRecordConsensusData) ProtoMessage() {} - -func (x *ClientMeta_AdditionalNodeRecordConsensusData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetMetadata() *libp2p.TraceEventMetadata { + if x != nil { + return x.Metadata } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientMeta_AdditionalNodeRecordConsensusData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalNodeRecordConsensusData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 91} + return nil } -func (x *ClientMeta_AdditionalNodeRecordConsensusData) GetFinalizedEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetTopic() *wrapperspb.StringValue { if x != nil { - return x.FinalizedEpoch + return x.Topic } return nil } -func (x *ClientMeta_AdditionalNodeRecordConsensusData) GetHeadSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetMessageSize() *wrapperspb.UInt32Value { if x != nil { - return x.HeadSlot + return x.MessageSize } return nil } -func (x *ClientMeta_AdditionalNodeRecordConsensusData) GetHeadEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) GetMessageId() *wrapperspb.StringValue { if x != nil { - return x.HeadEpoch + return x.MessageId } return nil } -// AdditionalConsensusEngineAPINewPayloadData contains additional metadata about the -// engine_newPayload call event. -type ClientMeta_AdditionalConsensusEngineAPINewPayloadData struct { +type ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the slot. + // Epoch contains the epoch information for the aggregate and proof. Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information. + // Slot contains the slot information for the aggregate and proof. Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // WallclockEpoch contains the epoch information for the aggregate and proof in the wall clock time. + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // WallclockSlot contains the slot information for the aggregate and proof in the wall clock time. + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Propagation contains information about the propagation of the aggregate and proof. + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // AggregatorIndex contains the index of the validator who created this aggregate. + AggregatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=aggregator_index,proto3" json:"aggregator_index,omitempty"` + // Metadata contains additional trace event metadata. + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Topic is the gossip sub topic the aggregate and proof was received on. + Topic *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=topic,proto3" json:"topic,omitempty"` + // MessageSize is the size of the aggregate and proof message in bytes. + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,9,opt,name=message_size,proto3" json:"message_size,omitempty"` + // MessageID is a unique identifier for the aggregate and proof message. + MessageId *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) Reset() { - *x = ClientMeta_AdditionalConsensusEngineAPINewPayloadData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[120] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalConsensusEngineAPINewPayloadData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) ProtoMessage() {} -func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[120] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11641,114 +12442,123 @@ func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) ProtoReflect() p return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalConsensusEngineAPINewPayloadData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalConsensusEngineAPINewPayloadData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 92} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 99} } -func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -// AdditionalConsensusEngineAPIGetBlobsData contains additional metadata about the -// engine_getBlobs call event. -type ClientMeta_AdditionalConsensusEngineAPIGetBlobsData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Epoch contains the epoch information for the slot. - Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information. - Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil } -func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) Reset() { - *x = ClientMeta_AdditionalConsensusEngineAPIGetBlobsData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot } + return nil } -func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation + } + return nil } -func (*ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) ProtoMessage() {} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetAggregatorIndex() *wrapperspb.UInt64Value { + if x != nil { + return x.AggregatorIndex + } + return nil +} -func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[121] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetMetadata() *libp2p.TraceEventMetadata { + if x != nil { + return x.Metadata } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ClientMeta_AdditionalConsensusEngineAPIGetBlobsData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 93} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetTopic() *wrapperspb.StringValue { + if x != nil { + return x.Topic + } + return nil } -func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetMessageSize() *wrapperspb.UInt32Value { if x != nil { - return x.Epoch + return x.MessageSize } return nil } -func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) GetMessageId() *wrapperspb.StringValue { if x != nil { - return x.Slot + return x.MessageId } return nil } -// AdditionalEthV1BeaconBlobData contains additional metadata about the -// beacon blob event derived from block's blob_kzg_commitments. -type ClientMeta_AdditionalEthV1BeaconBlobData struct { +type ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Epoch contains the epoch information for the blob. + // Epoch contains the epoch information for the blob sidecar. Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Slot contains the slot information for the blob. + // Slot contains the slot information for the blob sidecar. Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // WallclockEpoch contains the epoch information for the blob sidecar in the wall clock time. + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // WallclockSlot contains the slot information for the blob sidecar in the wall clock time. + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Propagation contains information about the propagation of the blob sidecar. + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // Metadata contains additional trace event metadata. + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Topic is the gossip sub topic the blob sidecar was received on. + Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` + // MessageSize is the size of the blob sidecar message in bytes. + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` + // MessageID is a unique identifier for the blob sidecar message. + MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_AdditionalEthV1BeaconBlobData) Reset() { - *x = ClientMeta_AdditionalEthV1BeaconBlobData{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[122] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_AdditionalEthV1BeaconBlobData) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_AdditionalEthV1BeaconBlobData) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) ProtoMessage() {} -func (x *ClientMeta_AdditionalEthV1BeaconBlobData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[122] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11759,118 +12569,116 @@ func (x *ClientMeta_AdditionalEthV1BeaconBlobData) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_AdditionalEthV1BeaconBlobData.ProtoReflect.Descriptor instead. -func (*ClientMeta_AdditionalEthV1BeaconBlobData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 94} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 100} } -func (x *ClientMeta_AdditionalEthV1BeaconBlobData) GetEpoch() *EpochV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetEpoch() *EpochV2 { if x != nil { return x.Epoch } return nil } -func (x *ClientMeta_AdditionalEthV1BeaconBlobData) GetSlot() *SlotV2 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetSlot() *SlotV2 { if x != nil { return x.Slot } return nil } -type ClientMeta_Ethereum_Network struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil +} - // Name is the name of the network. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // ID is the network ID of the network. - Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot + } + return nil } -func (x *ClientMeta_Ethereum_Network) Reset() { - *x = ClientMeta_Ethereum_Network{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetPropagation() *PropagationV2 { + if x != nil { + return x.Propagation } + return nil } -func (x *ClientMeta_Ethereum_Network) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetMetadata() *libp2p.TraceEventMetadata { + if x != nil { + return x.Metadata + } + return nil } -func (*ClientMeta_Ethereum_Network) ProtoMessage() {} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetTopic() *wrapperspb.StringValue { + if x != nil { + return x.Topic + } + return nil +} -func (x *ClientMeta_Ethereum_Network) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientMeta_Ethereum_Network.ProtoReflect.Descriptor instead. -func (*ClientMeta_Ethereum_Network) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 0, 0} -} - -func (x *ClientMeta_Ethereum_Network) GetName() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetMessageSize() *wrapperspb.UInt32Value { if x != nil { - return x.Name + return x.MessageSize } - return "" + return nil } -func (x *ClientMeta_Ethereum_Network) GetId() uint64 { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) GetMessageId() *wrapperspb.StringValue { if x != nil { - return x.Id + return x.MessageId } - return 0 + return nil } -type ClientMeta_Ethereum_Execution struct { +type ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // ForkID is the fork ID of the execution client. - ForkId *ForkID `protobuf:"bytes,1,opt,name=fork_id,proto3" json:"fork_id,omitempty"` - // Implementation is the name of the execution client (e.g., "Geth", "Besu", "Nethermind"). - Implementation string `protobuf:"bytes,2,opt,name=implementation,proto3" json:"implementation,omitempty"` - // Version is the full version string of the execution client. - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - // VersionMajor is the major version number. - VersionMajor string `protobuf:"bytes,4,opt,name=version_major,proto3" json:"version_major,omitempty"` - // VersionMinor is the minor version number. - VersionMinor string `protobuf:"bytes,5,opt,name=version_minor,proto3" json:"version_minor,omitempty"` - // VersionPatch is the patch version number. - VersionPatch string `protobuf:"bytes,6,opt,name=version_patch,proto3" json:"version_patch,omitempty"` + // Epoch contains the epoch information for the data column sidecar. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the data column sidecar. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // WallclockEpoch contains the epoch information for the data column sidecar in the wall clock time. + WallclockEpoch *EpochV2 `protobuf:"bytes,3,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // WallclockSlot contains the slot information for the data column sidecar in the wall clock time. + WallclockSlot *SlotV2 `protobuf:"bytes,4,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Propagation contains information about the propagation of the data column sidecar. + Propagation *PropagationV2 `protobuf:"bytes,5,opt,name=propagation,proto3" json:"propagation,omitempty"` + // Metadata contains additional trace event metadata. + Metadata *libp2p.TraceEventMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Topic is the gossip sub topic the data column sidecar was received on. + Topic *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=topic,proto3" json:"topic,omitempty"` + // MessageSize is the size of the data column sidecar message in bytes. + MessageSize *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=message_size,proto3" json:"message_size,omitempty"` + // MessageID is a unique identifier for the data column sidecar message. + MessageId *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=message_id,proto3" json:"message_id,omitempty"` } -func (x *ClientMeta_Ethereum_Execution) Reset() { - *x = ClientMeta_Ethereum_Execution{} +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Reset() { + *x = ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[124] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClientMeta_Ethereum_Execution) String() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClientMeta_Ethereum_Execution) ProtoMessage() {} +func (*ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) ProtoMessage() {} -func (x *ClientMeta_Ethereum_Execution) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[124] +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11881,136 +12689,100 @@ func (x *ClientMeta_Ethereum_Execution) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ClientMeta_Ethereum_Execution.ProtoReflect.Descriptor instead. -func (*ClientMeta_Ethereum_Execution) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 0, 1} +// Deprecated: Use ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 101} } -func (x *ClientMeta_Ethereum_Execution) GetForkId() *ForkID { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetEpoch() *EpochV2 { if x != nil { - return x.ForkId + return x.Epoch } return nil } -func (x *ClientMeta_Ethereum_Execution) GetImplementation() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetSlot() *SlotV2 { if x != nil { - return x.Implementation + return x.Slot } - return "" + return nil } -func (x *ClientMeta_Ethereum_Execution) GetVersion() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetWallclockEpoch() *EpochV2 { if x != nil { - return x.Version + return x.WallclockEpoch } - return "" + return nil } -func (x *ClientMeta_Ethereum_Execution) GetVersionMajor() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetWallclockSlot() *SlotV2 { if x != nil { - return x.VersionMajor + return x.WallclockSlot } - return "" + return nil } -func (x *ClientMeta_Ethereum_Execution) GetVersionMinor() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetPropagation() *PropagationV2 { if x != nil { - return x.VersionMinor + return x.Propagation } - return "" + return nil } -func (x *ClientMeta_Ethereum_Execution) GetVersionPatch() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetMetadata() *libp2p.TraceEventMetadata { if x != nil { - return x.VersionPatch - } - return "" -} - -type ClientMeta_Ethereum_Consensus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Implementation is the name of the consensus client. - Implementation string `protobuf:"bytes,1,opt,name=implementation,proto3" json:"implementation,omitempty"` - // Version is the version of the consensus client. - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` -} - -func (x *ClientMeta_Ethereum_Consensus) Reset() { - *x = ClientMeta_Ethereum_Consensus{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + return x.Metadata } + return nil } -func (x *ClientMeta_Ethereum_Consensus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientMeta_Ethereum_Consensus) ProtoMessage() {} - -func (x *ClientMeta_Ethereum_Consensus) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetTopic() *wrapperspb.StringValue { + if x != nil { + return x.Topic } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientMeta_Ethereum_Consensus.ProtoReflect.Descriptor instead. -func (*ClientMeta_Ethereum_Consensus) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 0, 2} + return nil } -func (x *ClientMeta_Ethereum_Consensus) GetImplementation() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetMessageSize() *wrapperspb.UInt32Value { if x != nil { - return x.Implementation + return x.MessageSize } - return "" + return nil } -func (x *ClientMeta_Ethereum_Consensus) GetVersion() string { +func (x *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) GetMessageId() *wrapperspb.StringValue { if x != nil { - return x.Version + return x.MessageId } - return "" + return nil } -type ServerMeta_Event struct { +// AdditionalEthV1ValidatorsData contains additional data about the eth v1 validators. +type ClientMeta_AdditionalEthV1ValidatorsData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // / DateTime is the date and time of the event as seen by the server. - ReceivedDateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=received_date_time,proto3" json:"received_date_time,omitempty"` + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` } -func (x *ServerMeta_Event) Reset() { - *x = ServerMeta_Event{} +func (x *ClientMeta_AdditionalEthV1ValidatorsData) Reset() { + *x = ClientMeta_AdditionalEthV1ValidatorsData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[126] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_Event) String() string { +func (x *ClientMeta_AdditionalEthV1ValidatorsData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_Event) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1ValidatorsData) ProtoMessage() {} -func (x *ServerMeta_Event) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[126] +func (x *ClientMeta_AdditionalEthV1ValidatorsData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12021,64 +12793,57 @@ func (x *ServerMeta_Event) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_Event.ProtoReflect.Descriptor instead. -func (*ServerMeta_Event) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 0} +// Deprecated: Use ClientMeta_AdditionalEthV1ValidatorsData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1ValidatorsData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 102} } -func (x *ServerMeta_Event) GetReceivedDateTime() *timestamppb.Timestamp { +func (x *ClientMeta_AdditionalEthV1ValidatorsData) GetEpoch() *EpochV2 { if x != nil { - return x.ReceivedDateTime + return x.Epoch } return nil } -type ServerMeta_Geo struct { +// AdditionalMevRelayBidTraceBuilderBlockSubmissionData contains additional data about the mev relay bid trace event. +type ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // City is the city of the client as far as the server is concerned. - City string `protobuf:"bytes,1,opt,name=City,json=city,proto3" json:"City,omitempty"` - // Country is the country of the client as far as the server is concerned. - Country string `protobuf:"bytes,2,opt,name=Country,json=country,proto3" json:"Country,omitempty"` - // CountryCode is the country code of the client as far as the server is - // concerned. - CountryCode string `protobuf:"bytes,3,opt,name=CountryCode,json=country_code,proto3" json:"CountryCode,omitempty"` - // ContinentCode is the continent code of the client as far as the server - // is concerned. - ContinentCode string `protobuf:"bytes,4,opt,name=ContinentCode,json=continent_code,proto3" json:"ContinentCode,omitempty"` - // Latitude is the latitude of the client as far as the server is - // concerned. - Latitude float64 `protobuf:"fixed64,5,opt,name=Latitude,json=latitude,proto3" json:"Latitude,omitempty"` - // Longitude is the longitude of the client as far as the server is - // concerned. - Longitude float64 `protobuf:"fixed64,6,opt,name=Longitude,json=longitude,proto3" json:"Longitude,omitempty"` - // AutonomousSystemNumber is the autonomous system number of the client as - // far as the server is concerned. - AutonomousSystemNumber uint32 `protobuf:"varint,7,opt,name=AutonomousSystemNumber,json=autonomous_system_number,proto3" json:"AutonomousSystemNumber,omitempty"` - // AutonomousSystemOrganization is the autonomous system organization of - // the client as far as the server is concerned. - AutonomousSystemOrganization string `protobuf:"bytes,8,opt,name=AutonomousSystemOrganization,json=autonomous_system_organization,proto3" json:"AutonomousSystemOrganization,omitempty"` + // Relay is the relay that the bid trace is from. + Relay *mevrelay.Relay `protobuf:"bytes,1,opt,name=relay,proto3" json:"relay,omitempty"` + // Slot is the slot the bid trace is for. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // WallclockSlot contains the slot information of when the bid trace was requested. + WallclockSlot *SlotV2 `protobuf:"bytes,3,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Epoch is the epoch the bid trace is for. + Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` + // WallclockEpoch contains the epoch information of when the bid trace was requested. + WallclockEpoch *EpochV2 `protobuf:"bytes,5,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // RequestedAtSlotTime is the time in the slot when the bid trace was requested. + RequestedAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=requested_at_slot_time,proto3" json:"requested_at_slot_time,omitempty"` + // ResponseAtSlotTime is the time in the slot when the bid trace was responded to. + ResponseAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=response_at_slot_time,proto3" json:"response_at_slot_time,omitempty"` } -func (x *ServerMeta_Geo) Reset() { - *x = ServerMeta_Geo{} +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Reset() { + *x = ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[127] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_Geo) String() string { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_Geo) ProtoMessage() {} +func (*ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) ProtoMessage() {} -func (x *ServerMeta_Geo) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[127] +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12089,102 +12854,99 @@ func (x *ServerMeta_Geo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_Geo.ProtoReflect.Descriptor instead. -func (*ServerMeta_Geo) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 1} +// Deprecated: Use ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 103} } -func (x *ServerMeta_Geo) GetCity() string { - if x != nil { - return x.City - } - return "" -} - -func (x *ServerMeta_Geo) GetCountry() string { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetRelay() *mevrelay.Relay { if x != nil { - return x.Country + return x.Relay } - return "" + return nil } -func (x *ServerMeta_Geo) GetCountryCode() string { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetSlot() *SlotV2 { if x != nil { - return x.CountryCode + return x.Slot } - return "" + return nil } -func (x *ServerMeta_Geo) GetContinentCode() string { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetWallclockSlot() *SlotV2 { if x != nil { - return x.ContinentCode + return x.WallclockSlot } - return "" + return nil } -func (x *ServerMeta_Geo) GetLatitude() float64 { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetEpoch() *EpochV2 { if x != nil { - return x.Latitude + return x.Epoch } - return 0 + return nil } -func (x *ServerMeta_Geo) GetLongitude() float64 { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetWallclockEpoch() *EpochV2 { if x != nil { - return x.Longitude + return x.WallclockEpoch } - return 0 + return nil } -func (x *ServerMeta_Geo) GetAutonomousSystemNumber() uint32 { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetRequestedAtSlotTime() *wrapperspb.UInt64Value { if x != nil { - return x.AutonomousSystemNumber + return x.RequestedAtSlotTime } - return 0 + return nil } -func (x *ServerMeta_Geo) GetAutonomousSystemOrganization() string { +func (x *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) GetResponseAtSlotTime() *wrapperspb.UInt64Value { if x != nil { - return x.AutonomousSystemOrganization + return x.ResponseAtSlotTime } - return "" + return nil } -type ServerMeta_Client struct { +// AdditionalMevRelayPayloadDeliveredData contains additional data about the proposer payload delivered event. +type ClientMeta_AdditionalMevRelayPayloadDeliveredData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // IP is the ip of the client as far as the server is concerned. - IP string `protobuf:"bytes,1,opt,name=IP,json=ip,proto3" json:"IP,omitempty"` - // Geo contains geo information about the client as far as the server is - // concerned. - Geo *ServerMeta_Geo `protobuf:"bytes,2,opt,name=geo,proto3" json:"geo,omitempty"` - // Group contains the group name of the client as far as the server is - // concerned. - Group string `protobuf:"bytes,3,opt,name=Group,json=group,proto3" json:"Group,omitempty"` - // User contains the user name of the client as far as the server is - // concerned. - User string `protobuf:"bytes,4,opt,name=User,json=user,proto3" json:"User,omitempty"` + // Relay is the relay that delivered the payload. + Relay *mevrelay.Relay `protobuf:"bytes,1,opt,name=relay,proto3" json:"relay,omitempty"` + // Slot is the slot the payload was delivered for. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // WallclockSlot contains the slot information of when the payload was delivered. + WallclockSlot *SlotV2 `protobuf:"bytes,3,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Epoch is the epoch the payload was delivered for. + Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` + // WallclockEpoch contains the epoch information of when the payload was delivered. + WallclockEpoch *EpochV2 `protobuf:"bytes,5,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // RequestedAtSlotTime is the time in the slot when the payload was requested. + RequestedAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=requested_at_slot_time,proto3" json:"requested_at_slot_time,omitempty"` + // ResponseAtSlotTime is the time in the slot when the payload was delivered. + ResponseAtSlotTime *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=response_at_slot_time,proto3" json:"response_at_slot_time,omitempty"` } -func (x *ServerMeta_Client) Reset() { - *x = ServerMeta_Client{} +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) Reset() { + *x = ClientMeta_AdditionalMevRelayPayloadDeliveredData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[128] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_Client) String() string { +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_Client) ProtoMessage() {} +func (*ClientMeta_AdditionalMevRelayPayloadDeliveredData) ProtoMessage() {} -func (x *ServerMeta_Client) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[128] +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12195,112 +12957,111 @@ func (x *ServerMeta_Client) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_Client.ProtoReflect.Descriptor instead. -func (*ServerMeta_Client) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 2} +// Deprecated: Use ClientMeta_AdditionalMevRelayPayloadDeliveredData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalMevRelayPayloadDeliveredData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 104} } -func (x *ServerMeta_Client) GetIP() string { +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetRelay() *mevrelay.Relay { if x != nil { - return x.IP + return x.Relay } - return "" + return nil } -func (x *ServerMeta_Client) GetGeo() *ServerMeta_Geo { +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetSlot() *SlotV2 { if x != nil { - return x.Geo + return x.Slot } return nil } -func (x *ServerMeta_Client) GetGroup() string { +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetWallclockSlot() *SlotV2 { if x != nil { - return x.Group + return x.WallclockSlot } - return "" + return nil } -func (x *ServerMeta_Client) GetUser() string { +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetEpoch() *EpochV2 { if x != nil { - return x.User + return x.Epoch } - return "" -} - -type ServerMeta_Peer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Geo contains geo information about the peer - Geo *ServerMeta_Geo `protobuf:"bytes,1,opt,name=geo,proto3" json:"geo,omitempty"` + return nil } -func (x *ServerMeta_Peer) Reset() { - *x = ServerMeta_Peer{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch } + return nil } -func (x *ServerMeta_Peer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ServerMeta_Peer) ProtoMessage() {} - -func (x *ServerMeta_Peer) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[129] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetRequestedAtSlotTime() *wrapperspb.UInt64Value { + if x != nil { + return x.RequestedAtSlotTime } - return mi.MessageOf(x) -} - -// Deprecated: Use ServerMeta_Peer.ProtoReflect.Descriptor instead. -func (*ServerMeta_Peer) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 3} + return nil } -func (x *ServerMeta_Peer) GetGeo() *ServerMeta_Geo { +func (x *ClientMeta_AdditionalMevRelayPayloadDeliveredData) GetResponseAtSlotTime() *wrapperspb.UInt64Value { if x != nil { - return x.Geo + return x.ResponseAtSlotTime } return nil } -type ServerMeta_AdditionalBeaconP2PAttestationData struct { +// AdditionalEthV3ValidatorBlockData contains additional data about the eth v3 validator block event. +type ClientMeta_AdditionalEthV3ValidatorBlockData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` + // Epoch contains the epoch information for the block. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the block. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // Version contains information about the version of the block. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // TransactionsCount contains the number of transactions in the block + TransactionsCount *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=transactions_count,proto3" json:"transactions_count,omitempty"` + // TransactionsTotalBytes contains the total bytes size of transactions + TransactionsTotalBytes *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=transactions_total_bytes,proto3" json:"transactions_total_bytes,omitempty"` + // CompressedTotalBytesCompressed contains the total bytes size of + // transactions with snappy compression + TransactionsTotalBytesCompressed *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=transactions_total_bytes_compressed,proto3" json:"transactions_total_bytes_compressed,omitempty"` + // TotalBytes contains the total bytes size of block + TotalBytes *wrapperspb.UInt64Value `protobuf:"bytes,7,opt,name=total_bytes,proto3" json:"total_bytes,omitempty"` + // TotalBytesCompressed contains the total bytes size of block with snappy + // compression + TotalBytesCompressed *wrapperspb.UInt64Value `protobuf:"bytes,8,opt,name=total_bytes_compressed,proto3" json:"total_bytes_compressed,omitempty"` + // ExecutionValue contains the total execution payload value, in Wei. + ExecutionValue string `protobuf:"bytes,9,opt,name=execution_value,proto3" json:"execution_value,omitempty"` + // ConsensusValue represents the rewards paid to the proposer for this block, in Wei. + ConsensusValue string `protobuf:"bytes,10,opt,name=consensus_value,proto3" json:"consensus_value,omitempty"` + // RequestDurationMs is the duration of the produce block request (in milliseconds). + RequestDurationMs *wrapperspb.UInt64Value `protobuf:"bytes,11,opt,name=request_duration_ms,proto3" json:"request_duration_ms,omitempty"` + // RequestedAt is the time the call was made to produce the block. + RequestedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=requested_at,proto3" json:"requested_at,omitempty"` } -func (x *ServerMeta_AdditionalBeaconP2PAttestationData) Reset() { - *x = ServerMeta_AdditionalBeaconP2PAttestationData{} +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) Reset() { + *x = ClientMeta_AdditionalEthV3ValidatorBlockData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[130] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_AdditionalBeaconP2PAttestationData) String() string { +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_AdditionalBeaconP2PAttestationData) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV3ValidatorBlockData) ProtoMessage() {} -func (x *ServerMeta_AdditionalBeaconP2PAttestationData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[130] +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12311,90 +13072,132 @@ func (x *ServerMeta_AdditionalBeaconP2PAttestationData) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_AdditionalBeaconP2PAttestationData.ProtoReflect.Descriptor instead. -func (*ServerMeta_AdditionalBeaconP2PAttestationData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 4} +// Deprecated: Use ClientMeta_AdditionalEthV3ValidatorBlockData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV3ValidatorBlockData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 105} } -func (x *ServerMeta_AdditionalBeaconP2PAttestationData) GetPeer() *ServerMeta_Peer { +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetEpoch() *EpochV2 { if x != nil { - return x.Peer + return x.Epoch } return nil } -type ServerMeta_AdditionalLibp2PTraceConnectedData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil } -func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) Reset() { - *x = ServerMeta_AdditionalLibp2PTraceConnectedData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetVersion() string { + if x != nil { + return x.Version } + return "" } -func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTransactionsCount() *wrapperspb.UInt64Value { + if x != nil { + return x.TransactionsCount + } + return nil } -func (*ServerMeta_AdditionalLibp2PTraceConnectedData) ProtoMessage() {} +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTransactionsTotalBytes() *wrapperspb.UInt64Value { + if x != nil { + return x.TransactionsTotalBytes + } + return nil +} -func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[131] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTransactionsTotalBytesCompressed() *wrapperspb.UInt64Value { + if x != nil { + return x.TransactionsTotalBytesCompressed } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ServerMeta_AdditionalLibp2PTraceConnectedData.ProtoReflect.Descriptor instead. -func (*ServerMeta_AdditionalLibp2PTraceConnectedData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 5} +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTotalBytes() *wrapperspb.UInt64Value { + if x != nil { + return x.TotalBytes + } + return nil } -func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) GetPeer() *ServerMeta_Peer { +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetTotalBytesCompressed() *wrapperspb.UInt64Value { if x != nil { - return x.Peer + return x.TotalBytesCompressed } return nil } -type ServerMeta_AdditionalLibp2PTraceDisconnectedData struct { +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetExecutionValue() string { + if x != nil { + return x.ExecutionValue + } + return "" +} + +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetConsensusValue() string { + if x != nil { + return x.ConsensusValue + } + return "" +} + +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetRequestDurationMs() *wrapperspb.UInt64Value { + if x != nil { + return x.RequestDurationMs + } + return nil +} + +func (x *ClientMeta_AdditionalEthV3ValidatorBlockData) GetRequestedAt() *timestamppb.Timestamp { + if x != nil { + return x.RequestedAt + } + return nil +} + +// AdditionalMevRelayValidatorRegistrationData contains additional data about the mev relay validator registration event. +type ClientMeta_AdditionalMevRelayValidatorRegistrationData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` + // Relay is the relay that received the validator registration. + Relay *mevrelay.Relay `protobuf:"bytes,1,opt,name=relay,proto3" json:"relay,omitempty"` + // Slot is the slot the validator registration was received for. This is derived from the validator registration `timestamp` field. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` + // WallclockSlot contains the slot information of when the validator registration was received from the relay. + WallclockSlot *SlotV2 `protobuf:"bytes,3,opt,name=wallclock_slot,proto3" json:"wallclock_slot,omitempty"` + // Epoch is the epoch the validator registration was received for. This is derived from the validator registration `timestamp` field. + Epoch *EpochV2 `protobuf:"bytes,4,opt,name=epoch,proto3" json:"epoch,omitempty"` + // WallclockEpoch contains the epoch information of when the validator registration was requested from the relay. + WallclockEpoch *EpochV2 `protobuf:"bytes,5,opt,name=wallclock_epoch,proto3" json:"wallclock_epoch,omitempty"` + // ValidatorIndex is the index of the validator that was registered. + ValidatorIndex *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=validator_index,proto3" json:"validator_index,omitempty"` } -func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) Reset() { - *x = ServerMeta_AdditionalLibp2PTraceDisconnectedData{} +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) Reset() { + *x = ClientMeta_AdditionalMevRelayValidatorRegistrationData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[132] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) String() string { +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_AdditionalLibp2PTraceDisconnectedData) ProtoMessage() {} +func (*ClientMeta_AdditionalMevRelayValidatorRegistrationData) ProtoMessage() {} -func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[132] +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12405,90 +13208,84 @@ func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) ProtoReflect() protor return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_AdditionalLibp2PTraceDisconnectedData.ProtoReflect.Descriptor instead. -func (*ServerMeta_AdditionalLibp2PTraceDisconnectedData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 6} +// Deprecated: Use ClientMeta_AdditionalMevRelayValidatorRegistrationData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalMevRelayValidatorRegistrationData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 106} } -func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) GetPeer() *ServerMeta_Peer { +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetRelay() *mevrelay.Relay { if x != nil { - return x.Peer + return x.Relay } return nil } -type ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` -} - -func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Reset() { - *x = ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot } + return nil } -func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetWallclockSlot() *SlotV2 { + if x != nil { + return x.WallclockSlot + } + return nil } -func (*ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoMessage() {} - -func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetEpoch() *EpochV2 { + if x != nil { + return x.Epoch } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData.ProtoReflect.Descriptor instead. -func (*ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 7} +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetWallclockEpoch() *EpochV2 { + if x != nil { + return x.WallclockEpoch + } + return nil } -func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) GetPeer() *ServerMeta_Peer { +func (x *ClientMeta_AdditionalMevRelayValidatorRegistrationData) GetValidatorIndex() *wrapperspb.UInt64Value { if x != nil { - return x.Peer + return x.ValidatorIndex } return nil } -type ServerMeta_AdditionalLibp2PTraceIdentifyData struct { +// AdditionalNodeRecordConsensusData contains additional data about the node record consensus event. +type ClientMeta_AdditionalNodeRecordConsensusData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` + // FinalizedEpoch is the epoch the node record consensus was received for. + FinalizedEpoch *EpochV2 `protobuf:"bytes,2,opt,name=finalized_epoch,json=finalizedEpoch,proto3" json:"finalized_epoch,omitempty"` + // HeadSlot is the slot the node record consensus was received for. + HeadSlot *SlotV2 `protobuf:"bytes,3,opt,name=head_slot,json=headSlot,proto3" json:"head_slot,omitempty"` + // HeadEpoch is the epoch the node record consensus was received for. + HeadEpoch *EpochV2 `protobuf:"bytes,4,opt,name=head_epoch,json=headEpoch,proto3" json:"head_epoch,omitempty"` } -func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) Reset() { - *x = ServerMeta_AdditionalLibp2PTraceIdentifyData{} +func (x *ClientMeta_AdditionalNodeRecordConsensusData) Reset() { + *x = ClientMeta_AdditionalNodeRecordConsensusData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[134] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) String() string { +func (x *ClientMeta_AdditionalNodeRecordConsensusData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_AdditionalLibp2PTraceIdentifyData) ProtoMessage() {} +func (*ClientMeta_AdditionalNodeRecordConsensusData) ProtoMessage() {} -func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[134] +func (x *ClientMeta_AdditionalNodeRecordConsensusData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12499,43 +13296,62 @@ func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_AdditionalLibp2PTraceIdentifyData.ProtoReflect.Descriptor instead. -func (*ServerMeta_AdditionalLibp2PTraceIdentifyData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 8} +// Deprecated: Use ClientMeta_AdditionalNodeRecordConsensusData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalNodeRecordConsensusData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 107} } -func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) GetPeer() *ServerMeta_Peer { +func (x *ClientMeta_AdditionalNodeRecordConsensusData) GetFinalizedEpoch() *EpochV2 { if x != nil { - return x.Peer + return x.FinalizedEpoch } return nil } -type ServerMeta_AdditionalNodeRecordConsensusData struct { +func (x *ClientMeta_AdditionalNodeRecordConsensusData) GetHeadSlot() *SlotV2 { + if x != nil { + return x.HeadSlot + } + return nil +} + +func (x *ClientMeta_AdditionalNodeRecordConsensusData) GetHeadEpoch() *EpochV2 { + if x != nil { + return x.HeadEpoch + } + return nil +} + +// AdditionalConsensusEngineAPINewPayloadData contains additional metadata about the +// engine_newPayload call event. +type ClientMeta_AdditionalConsensusEngineAPINewPayloadData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Geo *ServerMeta_Geo `protobuf:"bytes,1,opt,name=geo,proto3" json:"geo,omitempty"` + // Epoch contains the epoch information for the slot. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` } -func (x *ServerMeta_AdditionalNodeRecordConsensusData) Reset() { - *x = ServerMeta_AdditionalNodeRecordConsensusData{} +func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) Reset() { + *x = ClientMeta_AdditionalConsensusEngineAPINewPayloadData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[135] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_AdditionalNodeRecordConsensusData) String() string { +func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_AdditionalNodeRecordConsensusData) ProtoMessage() {} +func (*ClientMeta_AdditionalConsensusEngineAPINewPayloadData) ProtoMessage() {} -func (x *ServerMeta_AdditionalNodeRecordConsensusData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[135] +func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12546,43 +13362,55 @@ func (x *ServerMeta_AdditionalNodeRecordConsensusData) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_AdditionalNodeRecordConsensusData.ProtoReflect.Descriptor instead. -func (*ServerMeta_AdditionalNodeRecordConsensusData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 9} +// Deprecated: Use ClientMeta_AdditionalConsensusEngineAPINewPayloadData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalConsensusEngineAPINewPayloadData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 108} } -func (x *ServerMeta_AdditionalNodeRecordConsensusData) GetGeo() *ServerMeta_Geo { +func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) GetEpoch() *EpochV2 { if x != nil { - return x.Geo + return x.Epoch } return nil } -type ServerMeta_AdditionalNodeRecordExecutionData struct { +func (x *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +// AdditionalConsensusEngineAPIGetBlobsData contains additional metadata about the +// engine_getBlobs call event. +type ClientMeta_AdditionalConsensusEngineAPIGetBlobsData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Geo *ServerMeta_Geo `protobuf:"bytes,1,opt,name=geo,proto3" json:"geo,omitempty"` + // Epoch contains the epoch information for the slot. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` } -func (x *ServerMeta_AdditionalNodeRecordExecutionData) Reset() { - *x = ServerMeta_AdditionalNodeRecordExecutionData{} +func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) Reset() { + *x = ClientMeta_AdditionalConsensusEngineAPIGetBlobsData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[136] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ServerMeta_AdditionalNodeRecordExecutionData) String() string { +func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ServerMeta_AdditionalNodeRecordExecutionData) ProtoMessage() {} +func (*ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) ProtoMessage() {} -func (x *ServerMeta_AdditionalNodeRecordExecutionData) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[136] +func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12593,51 +13421,55 @@ func (x *ServerMeta_AdditionalNodeRecordExecutionData) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use ServerMeta_AdditionalNodeRecordExecutionData.ProtoReflect.Descriptor instead. -func (*ServerMeta_AdditionalNodeRecordExecutionData) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 10} +// Deprecated: Use ClientMeta_AdditionalConsensusEngineAPIGetBlobsData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 109} } -func (x *ServerMeta_AdditionalNodeRecordExecutionData) GetGeo() *ServerMeta_Geo { +func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) GetEpoch() *EpochV2 { if x != nil { - return x.Geo + return x.Epoch } return nil } -// StateReads contains state read statistics. -type ExecutionBlockMetrics_StateReads struct { +func (x *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) GetSlot() *SlotV2 { + if x != nil { + return x.Slot + } + return nil +} + +// AdditionalEthV1BeaconBlobData contains additional metadata about the +// beacon blob event derived from block's blob_kzg_commitments. +type ClientMeta_AdditionalEthV1BeaconBlobData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Accounts is the number of account reads. - Accounts *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=accounts,proto3" json:"accounts,omitempty"` - // StorageSlots is the number of storage slot reads. - StorageSlots *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=storage_slots,proto3" json:"storage_slots,omitempty"` - // Code is the number of code reads. - Code *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` - // CodeBytes is the total bytes of code read. - CodeBytes *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=code_bytes,proto3" json:"code_bytes,omitempty"` + // Epoch contains the epoch information for the blob. + Epoch *EpochV2 `protobuf:"bytes,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Slot contains the slot information for the blob. + Slot *SlotV2 `protobuf:"bytes,2,opt,name=slot,proto3" json:"slot,omitempty"` } -func (x *ExecutionBlockMetrics_StateReads) Reset() { - *x = ExecutionBlockMetrics_StateReads{} +func (x *ClientMeta_AdditionalEthV1BeaconBlobData) Reset() { + *x = ClientMeta_AdditionalEthV1BeaconBlobData{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[137] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExecutionBlockMetrics_StateReads) String() string { +func (x *ClientMeta_AdditionalEthV1BeaconBlobData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecutionBlockMetrics_StateReads) ProtoMessage() {} +func (*ClientMeta_AdditionalEthV1BeaconBlobData) ProtoMessage() {} -func (x *ExecutionBlockMetrics_StateReads) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[137] +func (x *ClientMeta_AdditionalEthV1BeaconBlobData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12648,76 +13480,53 @@ func (x *ExecutionBlockMetrics_StateReads) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExecutionBlockMetrics_StateReads.ProtoReflect.Descriptor instead. -func (*ExecutionBlockMetrics_StateReads) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 0} -} - -func (x *ExecutionBlockMetrics_StateReads) GetAccounts() *wrapperspb.UInt64Value { - if x != nil { - return x.Accounts - } - return nil -} - -func (x *ExecutionBlockMetrics_StateReads) GetStorageSlots() *wrapperspb.UInt64Value { - if x != nil { - return x.StorageSlots - } - return nil +// Deprecated: Use ClientMeta_AdditionalEthV1BeaconBlobData.ProtoReflect.Descriptor instead. +func (*ClientMeta_AdditionalEthV1BeaconBlobData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 110} } -func (x *ExecutionBlockMetrics_StateReads) GetCode() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV1BeaconBlobData) GetEpoch() *EpochV2 { if x != nil { - return x.Code + return x.Epoch } return nil } -func (x *ExecutionBlockMetrics_StateReads) GetCodeBytes() *wrapperspb.UInt64Value { +func (x *ClientMeta_AdditionalEthV1BeaconBlobData) GetSlot() *SlotV2 { if x != nil { - return x.CodeBytes + return x.Slot } return nil } -// StateWrites contains state write statistics. -type ExecutionBlockMetrics_StateWrites struct { +type ClientMeta_Ethereum_Network struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Accounts is the number of account writes. - Accounts *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=accounts,proto3" json:"accounts,omitempty"` - // AccountsDeleted is the number of accounts deleted. - AccountsDeleted *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=accounts_deleted,proto3" json:"accounts_deleted,omitempty"` - // StorageSlots is the number of storage slot writes. - StorageSlots *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=storage_slots,proto3" json:"storage_slots,omitempty"` - // StorageSlotsDeleted is the number of storage slots deleted. - StorageSlotsDeleted *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=storage_slots_deleted,proto3" json:"storage_slots_deleted,omitempty"` - // Code is the number of code writes. - Code *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"` - // CodeBytes is the total bytes of code written. - CodeBytes *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=code_bytes,proto3" json:"code_bytes,omitempty"` + // Name is the name of the network. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // ID is the network ID of the network. + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` } -func (x *ExecutionBlockMetrics_StateWrites) Reset() { - *x = ExecutionBlockMetrics_StateWrites{} +func (x *ClientMeta_Ethereum_Network) Reset() { + *x = ClientMeta_Ethereum_Network{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[138] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExecutionBlockMetrics_StateWrites) String() string { +func (x *ClientMeta_Ethereum_Network) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecutionBlockMetrics_StateWrites) ProtoMessage() {} +func (*ClientMeta_Ethereum_Network) ProtoMessage() {} -func (x *ExecutionBlockMetrics_StateWrites) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[138] +func (x *ClientMeta_Ethereum_Network) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12728,84 +13537,61 @@ func (x *ExecutionBlockMetrics_StateWrites) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use ExecutionBlockMetrics_StateWrites.ProtoReflect.Descriptor instead. -func (*ExecutionBlockMetrics_StateWrites) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 1} -} - -func (x *ExecutionBlockMetrics_StateWrites) GetAccounts() *wrapperspb.UInt64Value { - if x != nil { - return x.Accounts - } - return nil -} - -func (x *ExecutionBlockMetrics_StateWrites) GetAccountsDeleted() *wrapperspb.UInt64Value { - if x != nil { - return x.AccountsDeleted - } - return nil -} - -func (x *ExecutionBlockMetrics_StateWrites) GetStorageSlots() *wrapperspb.UInt64Value { - if x != nil { - return x.StorageSlots - } - return nil -} - -func (x *ExecutionBlockMetrics_StateWrites) GetStorageSlotsDeleted() *wrapperspb.UInt64Value { - if x != nil { - return x.StorageSlotsDeleted - } - return nil +// Deprecated: Use ClientMeta_Ethereum_Network.ProtoReflect.Descriptor instead. +func (*ClientMeta_Ethereum_Network) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 0, 0} } -func (x *ExecutionBlockMetrics_StateWrites) GetCode() *wrapperspb.UInt64Value { +func (x *ClientMeta_Ethereum_Network) GetName() string { if x != nil { - return x.Code + return x.Name } - return nil + return "" } -func (x *ExecutionBlockMetrics_StateWrites) GetCodeBytes() *wrapperspb.UInt64Value { +func (x *ClientMeta_Ethereum_Network) GetId() uint64 { if x != nil { - return x.CodeBytes + return x.Id } - return nil + return 0 } -// CacheEntry contains cache hit/miss statistics. -type ExecutionBlockMetrics_CacheEntry struct { +type ClientMeta_Ethereum_Execution struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Hits is the number of cache hits. - Hits *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=hits,proto3" json:"hits,omitempty"` - // Misses is the number of cache misses. - Misses *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=misses,proto3" json:"misses,omitempty"` - // HitRate is the cache hit rate as a percentage. - HitRate *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=hit_rate,proto3" json:"hit_rate,omitempty"` + // ForkID is the fork ID of the execution client. + ForkId *ForkID `protobuf:"bytes,1,opt,name=fork_id,proto3" json:"fork_id,omitempty"` + // Implementation is the name of the execution client (e.g., "Geth", "Besu", "Nethermind"). + Implementation string `protobuf:"bytes,2,opt,name=implementation,proto3" json:"implementation,omitempty"` + // Version is the full version string of the execution client. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // VersionMajor is the major version number. + VersionMajor string `protobuf:"bytes,4,opt,name=version_major,proto3" json:"version_major,omitempty"` + // VersionMinor is the minor version number. + VersionMinor string `protobuf:"bytes,5,opt,name=version_minor,proto3" json:"version_minor,omitempty"` + // VersionPatch is the patch version number. + VersionPatch string `protobuf:"bytes,6,opt,name=version_patch,proto3" json:"version_patch,omitempty"` } -func (x *ExecutionBlockMetrics_CacheEntry) Reset() { - *x = ExecutionBlockMetrics_CacheEntry{} +func (x *ClientMeta_Ethereum_Execution) Reset() { + *x = ClientMeta_Ethereum_Execution{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[139] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExecutionBlockMetrics_CacheEntry) String() string { +func (x *ClientMeta_Ethereum_Execution) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecutionBlockMetrics_CacheEntry) ProtoMessage() {} +func (*ClientMeta_Ethereum_Execution) ProtoMessage() {} -func (x *ExecutionBlockMetrics_CacheEntry) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[139] +func (x *ClientMeta_Ethereum_Execution) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12816,67 +13602,81 @@ func (x *ExecutionBlockMetrics_CacheEntry) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExecutionBlockMetrics_CacheEntry.ProtoReflect.Descriptor instead. -func (*ExecutionBlockMetrics_CacheEntry) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 2} +// Deprecated: Use ClientMeta_Ethereum_Execution.ProtoReflect.Descriptor instead. +func (*ClientMeta_Ethereum_Execution) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 0, 1} } -func (x *ExecutionBlockMetrics_CacheEntry) GetHits() *wrapperspb.Int64Value { +func (x *ClientMeta_Ethereum_Execution) GetForkId() *ForkID { if x != nil { - return x.Hits + return x.ForkId } return nil } -func (x *ExecutionBlockMetrics_CacheEntry) GetMisses() *wrapperspb.Int64Value { +func (x *ClientMeta_Ethereum_Execution) GetImplementation() string { if x != nil { - return x.Misses + return x.Implementation } - return nil + return "" } -func (x *ExecutionBlockMetrics_CacheEntry) GetHitRate() *wrapperspb.DoubleValue { +func (x *ClientMeta_Ethereum_Execution) GetVersion() string { if x != nil { - return x.HitRate + return x.Version } - return nil + return "" } -// CodeCacheEntry extends CacheEntry with byte-level statistics. -type ExecutionBlockMetrics_CodeCacheEntry struct { +func (x *ClientMeta_Ethereum_Execution) GetVersionMajor() string { + if x != nil { + return x.VersionMajor + } + return "" +} + +func (x *ClientMeta_Ethereum_Execution) GetVersionMinor() string { + if x != nil { + return x.VersionMinor + } + return "" +} + +func (x *ClientMeta_Ethereum_Execution) GetVersionPatch() string { + if x != nil { + return x.VersionPatch + } + return "" +} + +type ClientMeta_Ethereum_Consensus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Hits is the number of cache hits. - Hits *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=hits,proto3" json:"hits,omitempty"` - // Misses is the number of cache misses. - Misses *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=misses,proto3" json:"misses,omitempty"` - // HitRate is the cache hit rate as a percentage. - HitRate *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=hit_rate,proto3" json:"hit_rate,omitempty"` - // HitBytes is the total bytes of cache hits. - HitBytes *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=hit_bytes,proto3" json:"hit_bytes,omitempty"` - // MissBytes is the total bytes of cache misses. - MissBytes *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=miss_bytes,proto3" json:"miss_bytes,omitempty"` + // Implementation is the name of the consensus client. + Implementation string `protobuf:"bytes,1,opt,name=implementation,proto3" json:"implementation,omitempty"` + // Version is the version of the consensus client. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` } -func (x *ExecutionBlockMetrics_CodeCacheEntry) Reset() { - *x = ExecutionBlockMetrics_CodeCacheEntry{} +func (x *ClientMeta_Ethereum_Consensus) Reset() { + *x = ClientMeta_Ethereum_Consensus{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[140] + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExecutionBlockMetrics_CodeCacheEntry) String() string { +func (x *ClientMeta_Ethereum_Consensus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecutionBlockMetrics_CodeCacheEntry) ProtoMessage() {} +func (*ClientMeta_Ethereum_Consensus) ProtoMessage() {} -func (x *ExecutionBlockMetrics_CodeCacheEntry) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[140] +func (x *ClientMeta_Ethereum_Consensus) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12887,9 +13687,930 @@ func (x *ExecutionBlockMetrics_CodeCacheEntry) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use ExecutionBlockMetrics_CodeCacheEntry.ProtoReflect.Descriptor instead. -func (*ExecutionBlockMetrics_CodeCacheEntry) Descriptor() ([]byte, []int) { - return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 3} +// Deprecated: Use ClientMeta_Ethereum_Consensus.ProtoReflect.Descriptor instead. +func (*ClientMeta_Ethereum_Consensus) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{22, 0, 2} +} + +func (x *ClientMeta_Ethereum_Consensus) GetImplementation() string { + if x != nil { + return x.Implementation + } + return "" +} + +func (x *ClientMeta_Ethereum_Consensus) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type ServerMeta_Event struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // / DateTime is the date and time of the event as seen by the server. + ReceivedDateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=received_date_time,proto3" json:"received_date_time,omitempty"` +} + +func (x *ServerMeta_Event) Reset() { + *x = ServerMeta_Event{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_Event) ProtoMessage() {} + +func (x *ServerMeta_Event) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[142] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_Event.ProtoReflect.Descriptor instead. +func (*ServerMeta_Event) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 0} +} + +func (x *ServerMeta_Event) GetReceivedDateTime() *timestamppb.Timestamp { + if x != nil { + return x.ReceivedDateTime + } + return nil +} + +type ServerMeta_Geo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // City is the city of the client as far as the server is concerned. + City string `protobuf:"bytes,1,opt,name=City,json=city,proto3" json:"City,omitempty"` + // Country is the country of the client as far as the server is concerned. + Country string `protobuf:"bytes,2,opt,name=Country,json=country,proto3" json:"Country,omitempty"` + // CountryCode is the country code of the client as far as the server is + // concerned. + CountryCode string `protobuf:"bytes,3,opt,name=CountryCode,json=country_code,proto3" json:"CountryCode,omitempty"` + // ContinentCode is the continent code of the client as far as the server + // is concerned. + ContinentCode string `protobuf:"bytes,4,opt,name=ContinentCode,json=continent_code,proto3" json:"ContinentCode,omitempty"` + // Latitude is the latitude of the client as far as the server is + // concerned. + Latitude float64 `protobuf:"fixed64,5,opt,name=Latitude,json=latitude,proto3" json:"Latitude,omitempty"` + // Longitude is the longitude of the client as far as the server is + // concerned. + Longitude float64 `protobuf:"fixed64,6,opt,name=Longitude,json=longitude,proto3" json:"Longitude,omitempty"` + // AutonomousSystemNumber is the autonomous system number of the client as + // far as the server is concerned. + AutonomousSystemNumber uint32 `protobuf:"varint,7,opt,name=AutonomousSystemNumber,json=autonomous_system_number,proto3" json:"AutonomousSystemNumber,omitempty"` + // AutonomousSystemOrganization is the autonomous system organization of + // the client as far as the server is concerned. + AutonomousSystemOrganization string `protobuf:"bytes,8,opt,name=AutonomousSystemOrganization,json=autonomous_system_organization,proto3" json:"AutonomousSystemOrganization,omitempty"` +} + +func (x *ServerMeta_Geo) Reset() { + *x = ServerMeta_Geo{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_Geo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_Geo) ProtoMessage() {} + +func (x *ServerMeta_Geo) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[143] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_Geo.ProtoReflect.Descriptor instead. +func (*ServerMeta_Geo) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 1} +} + +func (x *ServerMeta_Geo) GetCity() string { + if x != nil { + return x.City + } + return "" +} + +func (x *ServerMeta_Geo) GetCountry() string { + if x != nil { + return x.Country + } + return "" +} + +func (x *ServerMeta_Geo) GetCountryCode() string { + if x != nil { + return x.CountryCode + } + return "" +} + +func (x *ServerMeta_Geo) GetContinentCode() string { + if x != nil { + return x.ContinentCode + } + return "" +} + +func (x *ServerMeta_Geo) GetLatitude() float64 { + if x != nil { + return x.Latitude + } + return 0 +} + +func (x *ServerMeta_Geo) GetLongitude() float64 { + if x != nil { + return x.Longitude + } + return 0 +} + +func (x *ServerMeta_Geo) GetAutonomousSystemNumber() uint32 { + if x != nil { + return x.AutonomousSystemNumber + } + return 0 +} + +func (x *ServerMeta_Geo) GetAutonomousSystemOrganization() string { + if x != nil { + return x.AutonomousSystemOrganization + } + return "" +} + +type ServerMeta_Client struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // IP is the ip of the client as far as the server is concerned. + IP string `protobuf:"bytes,1,opt,name=IP,json=ip,proto3" json:"IP,omitempty"` + // Geo contains geo information about the client as far as the server is + // concerned. + Geo *ServerMeta_Geo `protobuf:"bytes,2,opt,name=geo,proto3" json:"geo,omitempty"` + // Group contains the group name of the client as far as the server is + // concerned. + Group string `protobuf:"bytes,3,opt,name=Group,json=group,proto3" json:"Group,omitempty"` + // User contains the user name of the client as far as the server is + // concerned. + User string `protobuf:"bytes,4,opt,name=User,json=user,proto3" json:"User,omitempty"` +} + +func (x *ServerMeta_Client) Reset() { + *x = ServerMeta_Client{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_Client) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_Client) ProtoMessage() {} + +func (x *ServerMeta_Client) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[144] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_Client.ProtoReflect.Descriptor instead. +func (*ServerMeta_Client) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 2} +} + +func (x *ServerMeta_Client) GetIP() string { + if x != nil { + return x.IP + } + return "" +} + +func (x *ServerMeta_Client) GetGeo() *ServerMeta_Geo { + if x != nil { + return x.Geo + } + return nil +} + +func (x *ServerMeta_Client) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (x *ServerMeta_Client) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +type ServerMeta_Peer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Geo contains geo information about the peer + Geo *ServerMeta_Geo `protobuf:"bytes,1,opt,name=geo,proto3" json:"geo,omitempty"` +} + +func (x *ServerMeta_Peer) Reset() { + *x = ServerMeta_Peer{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_Peer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_Peer) ProtoMessage() {} + +func (x *ServerMeta_Peer) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[145] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_Peer.ProtoReflect.Descriptor instead. +func (*ServerMeta_Peer) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 3} +} + +func (x *ServerMeta_Peer) GetGeo() *ServerMeta_Geo { + if x != nil { + return x.Geo + } + return nil +} + +type ServerMeta_AdditionalBeaconP2PAttestationData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` +} + +func (x *ServerMeta_AdditionalBeaconP2PAttestationData) Reset() { + *x = ServerMeta_AdditionalBeaconP2PAttestationData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_AdditionalBeaconP2PAttestationData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_AdditionalBeaconP2PAttestationData) ProtoMessage() {} + +func (x *ServerMeta_AdditionalBeaconP2PAttestationData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[146] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_AdditionalBeaconP2PAttestationData.ProtoReflect.Descriptor instead. +func (*ServerMeta_AdditionalBeaconP2PAttestationData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 4} +} + +func (x *ServerMeta_AdditionalBeaconP2PAttestationData) GetPeer() *ServerMeta_Peer { + if x != nil { + return x.Peer + } + return nil +} + +type ServerMeta_AdditionalLibp2PTraceConnectedData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` +} + +func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) Reset() { + *x = ServerMeta_AdditionalLibp2PTraceConnectedData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_AdditionalLibp2PTraceConnectedData) ProtoMessage() {} + +func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[147] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_AdditionalLibp2PTraceConnectedData.ProtoReflect.Descriptor instead. +func (*ServerMeta_AdditionalLibp2PTraceConnectedData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 5} +} + +func (x *ServerMeta_AdditionalLibp2PTraceConnectedData) GetPeer() *ServerMeta_Peer { + if x != nil { + return x.Peer + } + return nil +} + +type ServerMeta_AdditionalLibp2PTraceDisconnectedData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` +} + +func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) Reset() { + *x = ServerMeta_AdditionalLibp2PTraceDisconnectedData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_AdditionalLibp2PTraceDisconnectedData) ProtoMessage() {} + +func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[148] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_AdditionalLibp2PTraceDisconnectedData.ProtoReflect.Descriptor instead. +func (*ServerMeta_AdditionalLibp2PTraceDisconnectedData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 6} +} + +func (x *ServerMeta_AdditionalLibp2PTraceDisconnectedData) GetPeer() *ServerMeta_Peer { + if x != nil { + return x.Peer + } + return nil +} + +type ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` +} + +func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Reset() { + *x = ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoMessage() {} + +func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[149] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData.ProtoReflect.Descriptor instead. +func (*ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 7} +} + +func (x *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) GetPeer() *ServerMeta_Peer { + if x != nil { + return x.Peer + } + return nil +} + +type ServerMeta_AdditionalLibp2PTraceIdentifyData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Peer *ServerMeta_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` +} + +func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) Reset() { + *x = ServerMeta_AdditionalLibp2PTraceIdentifyData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_AdditionalLibp2PTraceIdentifyData) ProtoMessage() {} + +func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[150] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_AdditionalLibp2PTraceIdentifyData.ProtoReflect.Descriptor instead. +func (*ServerMeta_AdditionalLibp2PTraceIdentifyData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 8} +} + +func (x *ServerMeta_AdditionalLibp2PTraceIdentifyData) GetPeer() *ServerMeta_Peer { + if x != nil { + return x.Peer + } + return nil +} + +type ServerMeta_AdditionalNodeRecordConsensusData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Geo *ServerMeta_Geo `protobuf:"bytes,1,opt,name=geo,proto3" json:"geo,omitempty"` +} + +func (x *ServerMeta_AdditionalNodeRecordConsensusData) Reset() { + *x = ServerMeta_AdditionalNodeRecordConsensusData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_AdditionalNodeRecordConsensusData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_AdditionalNodeRecordConsensusData) ProtoMessage() {} + +func (x *ServerMeta_AdditionalNodeRecordConsensusData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[151] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_AdditionalNodeRecordConsensusData.ProtoReflect.Descriptor instead. +func (*ServerMeta_AdditionalNodeRecordConsensusData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 9} +} + +func (x *ServerMeta_AdditionalNodeRecordConsensusData) GetGeo() *ServerMeta_Geo { + if x != nil { + return x.Geo + } + return nil +} + +type ServerMeta_AdditionalNodeRecordExecutionData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Geo *ServerMeta_Geo `protobuf:"bytes,1,opt,name=geo,proto3" json:"geo,omitempty"` +} + +func (x *ServerMeta_AdditionalNodeRecordExecutionData) Reset() { + *x = ServerMeta_AdditionalNodeRecordExecutionData{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServerMeta_AdditionalNodeRecordExecutionData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerMeta_AdditionalNodeRecordExecutionData) ProtoMessage() {} + +func (x *ServerMeta_AdditionalNodeRecordExecutionData) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[152] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerMeta_AdditionalNodeRecordExecutionData.ProtoReflect.Descriptor instead. +func (*ServerMeta_AdditionalNodeRecordExecutionData) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{23, 10} +} + +func (x *ServerMeta_AdditionalNodeRecordExecutionData) GetGeo() *ServerMeta_Geo { + if x != nil { + return x.Geo + } + return nil +} + +// StateReads contains state read statistics. +type ExecutionBlockMetrics_StateReads struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Accounts is the number of account reads. + Accounts *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=accounts,proto3" json:"accounts,omitempty"` + // StorageSlots is the number of storage slot reads. + StorageSlots *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=storage_slots,proto3" json:"storage_slots,omitempty"` + // Code is the number of code reads. + Code *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + // CodeBytes is the total bytes of code read. + CodeBytes *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=code_bytes,proto3" json:"code_bytes,omitempty"` +} + +func (x *ExecutionBlockMetrics_StateReads) Reset() { + *x = ExecutionBlockMetrics_StateReads{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionBlockMetrics_StateReads) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionBlockMetrics_StateReads) ProtoMessage() {} + +func (x *ExecutionBlockMetrics_StateReads) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[153] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionBlockMetrics_StateReads.ProtoReflect.Descriptor instead. +func (*ExecutionBlockMetrics_StateReads) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 0} +} + +func (x *ExecutionBlockMetrics_StateReads) GetAccounts() *wrapperspb.UInt64Value { + if x != nil { + return x.Accounts + } + return nil +} + +func (x *ExecutionBlockMetrics_StateReads) GetStorageSlots() *wrapperspb.UInt64Value { + if x != nil { + return x.StorageSlots + } + return nil +} + +func (x *ExecutionBlockMetrics_StateReads) GetCode() *wrapperspb.UInt64Value { + if x != nil { + return x.Code + } + return nil +} + +func (x *ExecutionBlockMetrics_StateReads) GetCodeBytes() *wrapperspb.UInt64Value { + if x != nil { + return x.CodeBytes + } + return nil +} + +// StateWrites contains state write statistics. +type ExecutionBlockMetrics_StateWrites struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Accounts is the number of account writes. + Accounts *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=accounts,proto3" json:"accounts,omitempty"` + // AccountsDeleted is the number of accounts deleted. + AccountsDeleted *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=accounts_deleted,proto3" json:"accounts_deleted,omitempty"` + // StorageSlots is the number of storage slot writes. + StorageSlots *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=storage_slots,proto3" json:"storage_slots,omitempty"` + // StorageSlotsDeleted is the number of storage slots deleted. + StorageSlotsDeleted *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=storage_slots_deleted,proto3" json:"storage_slots_deleted,omitempty"` + // Code is the number of code writes. + Code *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"` + // CodeBytes is the total bytes of code written. + CodeBytes *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=code_bytes,proto3" json:"code_bytes,omitempty"` +} + +func (x *ExecutionBlockMetrics_StateWrites) Reset() { + *x = ExecutionBlockMetrics_StateWrites{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionBlockMetrics_StateWrites) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionBlockMetrics_StateWrites) ProtoMessage() {} + +func (x *ExecutionBlockMetrics_StateWrites) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[154] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionBlockMetrics_StateWrites.ProtoReflect.Descriptor instead. +func (*ExecutionBlockMetrics_StateWrites) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 1} +} + +func (x *ExecutionBlockMetrics_StateWrites) GetAccounts() *wrapperspb.UInt64Value { + if x != nil { + return x.Accounts + } + return nil +} + +func (x *ExecutionBlockMetrics_StateWrites) GetAccountsDeleted() *wrapperspb.UInt64Value { + if x != nil { + return x.AccountsDeleted + } + return nil +} + +func (x *ExecutionBlockMetrics_StateWrites) GetStorageSlots() *wrapperspb.UInt64Value { + if x != nil { + return x.StorageSlots + } + return nil +} + +func (x *ExecutionBlockMetrics_StateWrites) GetStorageSlotsDeleted() *wrapperspb.UInt64Value { + if x != nil { + return x.StorageSlotsDeleted + } + return nil +} + +func (x *ExecutionBlockMetrics_StateWrites) GetCode() *wrapperspb.UInt64Value { + if x != nil { + return x.Code + } + return nil +} + +func (x *ExecutionBlockMetrics_StateWrites) GetCodeBytes() *wrapperspb.UInt64Value { + if x != nil { + return x.CodeBytes + } + return nil +} + +// CacheEntry contains cache hit/miss statistics. +type ExecutionBlockMetrics_CacheEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hits is the number of cache hits. + Hits *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=hits,proto3" json:"hits,omitempty"` + // Misses is the number of cache misses. + Misses *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=misses,proto3" json:"misses,omitempty"` + // HitRate is the cache hit rate as a percentage. + HitRate *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=hit_rate,proto3" json:"hit_rate,omitempty"` +} + +func (x *ExecutionBlockMetrics_CacheEntry) Reset() { + *x = ExecutionBlockMetrics_CacheEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionBlockMetrics_CacheEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionBlockMetrics_CacheEntry) ProtoMessage() {} + +func (x *ExecutionBlockMetrics_CacheEntry) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[155] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionBlockMetrics_CacheEntry.ProtoReflect.Descriptor instead. +func (*ExecutionBlockMetrics_CacheEntry) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 2} +} + +func (x *ExecutionBlockMetrics_CacheEntry) GetHits() *wrapperspb.Int64Value { + if x != nil { + return x.Hits + } + return nil +} + +func (x *ExecutionBlockMetrics_CacheEntry) GetMisses() *wrapperspb.Int64Value { + if x != nil { + return x.Misses + } + return nil +} + +func (x *ExecutionBlockMetrics_CacheEntry) GetHitRate() *wrapperspb.DoubleValue { + if x != nil { + return x.HitRate + } + return nil +} + +// CodeCacheEntry extends CacheEntry with byte-level statistics. +type ExecutionBlockMetrics_CodeCacheEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hits is the number of cache hits. + Hits *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=hits,proto3" json:"hits,omitempty"` + // Misses is the number of cache misses. + Misses *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=misses,proto3" json:"misses,omitempty"` + // HitRate is the cache hit rate as a percentage. + HitRate *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=hit_rate,proto3" json:"hit_rate,omitempty"` + // HitBytes is the total bytes of cache hits. + HitBytes *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=hit_bytes,proto3" json:"hit_bytes,omitempty"` + // MissBytes is the total bytes of cache misses. + MissBytes *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=miss_bytes,proto3" json:"miss_bytes,omitempty"` +} + +func (x *ExecutionBlockMetrics_CodeCacheEntry) Reset() { + *x = ExecutionBlockMetrics_CodeCacheEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutionBlockMetrics_CodeCacheEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutionBlockMetrics_CodeCacheEntry) ProtoMessage() {} + +func (x *ExecutionBlockMetrics_CodeCacheEntry) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_xatu_event_ingester_proto_msgTypes[156] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutionBlockMetrics_CodeCacheEntry.ProtoReflect.Descriptor instead. +func (*ExecutionBlockMetrics_CodeCacheEntry) Descriptor() ([]byte, []int) { + return file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP(), []int{26, 3} } func (x *ExecutionBlockMetrics_CodeCacheEntry) GetHits() *wrapperspb.Int64Value { @@ -12962,246 +14683,211 @@ var file_pkg_proto_xatu_event_ingester_proto_rawDesc = []byte{ 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x70, 0x6b, 0x67, + 0x69, 0x74, 0x74, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x70, 0x6b, 0x67, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2c, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, + 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x31, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, + 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x32, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, + 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, + 0x74, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, + 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x2f, 0x62, 0x69, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2f, - 0x62, 0x69, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2f, 0x72, - 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2f, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x70, - 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2f, 0x70, 0x65, 0x65, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, - 0x62, 0x2f, 0x65, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x6b, 0x67, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x24, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x6f, 0x64, - 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, - 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5e, 0x0a, 0x14, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x69, - 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x65, 0x0a, 0x05, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, - 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x07, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x12, - 0x34, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x70, 0x6b, 0x67, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x70, 0x6b, 0x67, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2f, 0x70, 0x65, + 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, + 0x75, 0x62, 0x2f, 0x65, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x6b, + 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x6f, + 0x64, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2c, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5e, 0x0a, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x64, 0x0a, 0x04, 0x53, - 0x6c, 0x6f, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x22, 0x84, 0x01, 0x0a, 0x06, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x12, 0x34, 0x0a, 0x06, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6b, - 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x37, 0x0a, 0x0b, 0x50, 0x72, - 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, - 0x69, 0x66, 0x66, 0x22, 0x57, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x73, 0x6c, 0x6f, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x22, 0x54, 0x0a, 0x12, - 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x0f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, - 0x12, 0x2f, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, - 0x12, 0x32, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x52, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, - 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x12, - 0x31, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, - 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, - 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x52, 0x05, 0x61, 0x66, - 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, - 0x56, 0x32, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x0a, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, - 0x57, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x53, 0x79, 0x6e, - 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, - 0x0a, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, - 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, - 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x56, 0x0a, 0x17, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, - 0x12, 0x4e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, - 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x82, 0x04, 0x0a, 0x12, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, - 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, - 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x13, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, - 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, - 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x22, 0xf0, - 0x06, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x3e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x65, 0x0a, + 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, + 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x07, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, + 0x12, 0x34, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x64, 0x0a, 0x04, + 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, - 0x3e, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, - 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, - 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x38, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, - 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x06, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x12, 0x34, 0x0a, + 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x6c, 0x6f, - 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, - 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xbc, 0x04, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x06, 0x46, 0x6f, 0x72, + 0x6b, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x37, 0x0a, 0x0b, 0x50, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6c, + 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x64, 0x69, 0x66, 0x66, 0x22, 0x57, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x73, 0x6c, + 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x22, 0x54, 0x0a, + 0x12, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x0f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, + 0x67, 0x12, 0x2f, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x52, 0x05, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, + 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, + 0x12, 0x31, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x52, 0x06, 0x62, 0x65, 0x66, + 0x6f, 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x52, 0x05, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, + 0x67, 0x56, 0x32, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x0a, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x22, 0x57, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x52, 0x0e, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x53, 0x79, + 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x30, 0x0a, 0x13, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x62, 0x69, 0x74, + 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x18, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x56, 0x0a, + 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, + 0x64, 0x12, 0x4e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x82, 0x04, 0x0a, 0x12, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x2c, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x30, 0x0a, + 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x36, 0x0a, + 0x16, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x65, 0x6e, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x22, + 0xf0, 0x06, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, @@ -13218,1038 +14904,1198 @@ var file_pkg_proto_xatu_event_ingester_proto_rawDesc = []byte{ 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x12, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0xd3, 0x05, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2a, - 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x38, - 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, - 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, - 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, + 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x38, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x26, - 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x04, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x62, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, - 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3e, - 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x46, - 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x63, + 0x52, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x6c, + 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x62, 0x6c, + 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2a, + 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0xbc, 0x04, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, + 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x73, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, + 0x74, 0x12, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x52, - 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, + 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x73, 0x22, 0xe6, 0xf4, 0x01, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x74, - 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, - 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x52, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, - 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, - 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6b, 0x0a, 0x12, 0x65, 0x74, - 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, - 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, - 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x88, 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, - 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, - 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0xd3, 0x05, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x2a, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x09, 0x67, 0x61, 0x73, + 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x3c, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x04, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x6f, 0x62, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x3e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, + 0x3e, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, + 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x52, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x62, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x65, 0x73, 0x22, 0xa7, 0xaa, 0x02, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x65, + 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x52, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, + 0x75, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6b, 0x0a, 0x12, 0x65, + 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, + 0x65, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, - 0x49, 0x54, 0x12, 0x9a, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, + 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x88, 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, + 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, - 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x12, - 0x7f, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x6f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, + 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, + 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, - 0x12, 0x9f, 0x01, 0x0a, 0x24, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x2f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, - 0x4f, 0x46, 0x12, 0x65, 0x0a, 0x13, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, - 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x13, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, - 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x7c, 0x0a, 0x18, 0x65, 0x74, 0x68, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, + 0x58, 0x49, 0x54, 0x12, 0x9a, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, + 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, + 0x12, 0x7f, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x52, 0x65, 0x6f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, + 0x47, 0x12, 0x9f, 0x01, 0x0a, 0x24, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x2f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, + 0x4f, 0x4f, 0x46, 0x12, 0x65, 0x0a, 0x13, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, + 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x13, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6e, 0x0a, 0x13, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x7c, 0x0a, 0x18, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, + 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x12, 0x8d, 0x01, 0x0a, 0x1e, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, - 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x12, 0x8d, 0x01, 0x0a, 0x1e, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x29, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, + 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x7a, 0x0a, 0x17, 0x65, 0x74, 0x68, 0x5f, + 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, + 0x54, 0x54, 0x45, 0x45, 0x12, 0x97, 0x01, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, - 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, - 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x7a, 0x0a, 0x17, 0x65, 0x74, 0x68, 0x5f, 0x76, - 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, + 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x12, 0x88, + 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x12, 0x73, 0x0a, 0x15, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, + 0x76, 0x32, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, - 0x54, 0x45, 0x45, 0x12, 0x97, 0x01, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, - 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x12, 0x88, 0x01, - 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, - 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x48, 0x65, 0x61, 0x64, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x12, 0x76, + 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x90, 0x01, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, + 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, + 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x5f, 0x56, 0x32, 0x12, 0xa2, 0x01, 0x0a, 0x25, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x76, 0x32, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, + 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x32, 0x12, 0x87, + 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x12, 0x73, 0x0a, 0x15, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x76, - 0x32, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, - 0x65, 0x61, 0x64, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x12, 0x76, 0x0a, - 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, - 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, - 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x90, 0x01, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, - 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, + 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x12, 0xa7, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, + 0x66, 0x5f, 0x76, 0x32, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x32, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, + 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, + 0x56, 0x32, 0x12, 0x6d, 0x0a, 0x16, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, + 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x4d, 0x45, 0x4d, 0x50, 0x4f, + 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, + 0x32, 0x12, 0x76, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x20, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x84, 0x01, 0x0a, 0x1b, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x32, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, - 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, - 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, - 0x5f, 0x45, 0x58, 0x49, 0x54, 0x5f, 0x56, 0x32, 0x12, 0xa2, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x76, 0x32, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, + 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, + 0x12, 0x95, 0x01, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, + 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, + 0x72, 0x67, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, + 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, + 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x12, 0xa2, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, + 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, - 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x32, 0x12, 0x87, 0x01, - 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, 0x1d, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x45, + 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, 0xa2, 0x01, + 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, + 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, + 0x4e, 0x47, 0x12, 0x99, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, + 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x6c, 0x75, + 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, 0x85, + 0x01, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, + 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, - 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x12, 0xa7, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, - 0x5f, 0x76, 0x32, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, - 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x32, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x56, - 0x32, 0x12, 0x6d, 0x0a, 0x16, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, - 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, - 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, - 0x12, 0x76, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x84, 0x01, 0x0a, 0x1b, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x32, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, - 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, - 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, 0x12, - 0x95, 0x01, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, - 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, - 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, - 0x67, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, - 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, - 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x12, 0xa2, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, - 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, - 0x54, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, 0xa2, 0x01, 0x0a, - 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x78, + 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x44, + 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x12, 0xb2, 0x01, 0x0a, 0x2b, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, + 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, - 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, - 0x47, 0x12, 0x99, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, - 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x6c, 0x75, 0x6e, - 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, - 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, 0x85, 0x01, - 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x26, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x26, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, - 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x44, 0x45, - 0x50, 0x4f, 0x53, 0x49, 0x54, 0x12, 0xb2, 0x01, 0x0a, 0x2b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, - 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x6c, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x48, 0x00, 0x52, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x12, 0xae, 0x01, 0x0a, 0x29, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x43, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x8e, 0x01, 0x0a, + 0x1e, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x18, + 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, - 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x12, 0xae, 0x01, 0x0a, 0x29, 0x65, - 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, + 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x12, 0x82, 0x01, + 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x2a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, + 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x25, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, + 0x41, 0x52, 0x12, 0x82, 0x01, 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, + 0x72, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, + 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x6d, 0x0a, 0x16, 0x62, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x32, 0x50, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x71, 0x0a, 0x14, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, + 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x18, 0x2e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x44, 0x75, + 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, + 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x12, 0xb1, 0x01, 0x0a, 0x2a, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x65, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x8e, 0x01, 0x0a, 0x1e, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x18, 0x29, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x12, 0x82, 0x01, 0x0a, - 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, - 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x2a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, - 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, - 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x25, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, - 0x52, 0x12, 0x82, 0x01, 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, - 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, - 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x6d, 0x0a, 0x16, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, 0x61, 0x62, 0x6f, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x35, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, + 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x69, 0x0a, + 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, + 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, + 0x41, 0x44, 0x44, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x12, 0x72, 0x0a, 0x18, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, + 0x70, 0x65, 0x65, 0x72, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x18, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x12, 0x69, 0x0a, 0x15, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, + 0x76, 0x5f, 0x72, 0x70, 0x63, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x76, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, + 0x45, 0x43, 0x56, 0x5f, 0x52, 0x50, 0x43, 0x12, 0x69, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, + 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x70, 0x63, + 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x32, 0x50, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x71, 0x0a, 0x14, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, - 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x18, 0x2e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x45, 0x74, 0x68, 0x56, 0x31, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x44, 0x75, 0x74, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, - 0x53, 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x12, 0xb1, 0x01, 0x0a, 0x2a, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x65, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, + 0x6e, 0x64, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, + 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, + 0x50, 0x43, 0x12, 0x5e, 0x0a, 0x11, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x6c, 0x61, 0x62, 0x6f, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x35, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, - 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x69, 0x0a, 0x15, - 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, - 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x11, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4a, 0x4f, + 0x49, 0x4e, 0x12, 0x6d, 0x0a, 0x16, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x35, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, + 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, + 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x12, 0x77, 0x0a, 0x19, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x36, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1a, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, + 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, + 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, + 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x12, 0x78, 0x0a, 0x1a, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, + 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x12, 0x92, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, + 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x39, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, + 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, + 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0xa4, 0x01, 0x0a, 0x29, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, + 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x29, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x12, 0x92, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, 0x6c, 0x6f, 0x62, + 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, + 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, + 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, + 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, + 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x70, 0x0a, 0x11, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x12, 0xab, 0x01, 0x0a, 0x2c, 0x6d, 0x65, 0x76, 0x5f, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x69, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x75, + 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x42, 0x69, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, + 0x41, 0x59, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x42, 0x55, 0x49, + 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, + 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x12, 0x84, 0x01, 0x0a, 0x1b, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x12, 0x72, 0x0a, 0x18, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, - 0x65, 0x65, 0x72, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x18, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x12, 0x69, 0x0a, 0x15, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x76, - 0x5f, 0x72, 0x70, 0x63, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x52, 0x65, 0x63, 0x76, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, - 0x43, 0x56, 0x5f, 0x52, 0x50, 0x43, 0x12, 0x69, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x70, 0x63, 0x18, - 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x6e, - 0x64, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x50, - 0x43, 0x12, 0x5e, 0x0a, 0x11, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x78, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, + 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x12, 0x77, 0x0a, 0x16, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x11, - 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4a, 0x4f, 0x49, - 0x4e, 0x12, 0x6d, 0x0a, 0x16, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x35, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x33, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x33, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x20, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x12, 0x82, 0x01, 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, + 0x70, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x12, 0x69, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, + 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x70, 0x63, + 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x72, + 0x6f, 0x70, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, + 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, + 0x50, 0x43, 0x12, 0x61, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, + 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, + 0x4c, 0x45, 0x41, 0x56, 0x45, 0x12, 0x61, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, - 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x12, 0x77, 0x0a, 0x19, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x36, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1a, 0x4c, - 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, - 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, - 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, - 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x12, 0x78, 0x0a, 0x1a, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, 0x61, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x47, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, 0x72, 0x75, 0x6e, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, 0x12, 0x84, 0x01, 0x0a, 0x1e, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x48, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x75, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x1e, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x12, 0x7b, 0x0a, 0x1b, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x1b, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, + 0x91, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x5f, 0x69, 0x68, 0x61, 0x76, 0x65, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x12, 0x92, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x39, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x49, 0x48, 0x61, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, + 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x48, + 0x41, 0x56, 0x45, 0x12, 0x91, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x77, 0x61, 0x6e, 0x74, 0x18, 0x4d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, - 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, - 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0xa4, 0x01, 0x0a, 0x29, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, - 0x73, 0x75, 0x62, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, + 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, + 0x4c, 0x5f, 0x49, 0x57, 0x41, 0x4e, 0x54, 0x12, 0x9d, 0x01, 0x0a, 0x27, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x6f, 0x6e, 0x74, 0x77, + 0x61, 0x6e, 0x74, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, + 0x44, 0x6f, 0x6e, 0x74, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, + 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x44, + 0x4f, 0x4e, 0x54, 0x57, 0x41, 0x4e, 0x54, 0x12, 0x91, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, + 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, + 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x47, 0x72, 0x61, 0x66, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, 0x91, 0x01, 0x0a, 0x23, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x72, + 0x75, 0x6e, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, + 0x72, 0x75, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, + 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, 0x12, + 0x8f, 0x01, 0x0a, 0x22, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x29, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, - 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, - 0x92, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, - 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, + 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x22, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, + 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1d, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x12, 0x6a, 0x0a, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, 0x53, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, + 0x73, 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, + 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, + 0x12, 0xa6, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, + 0x54, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, + 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, + 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, + 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x5f, + 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x96, 0x01, 0x0a, 0x21, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, + 0x55, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, + 0x41, 0x52, 0x12, 0xa6, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, + 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, + 0x72, 0x18, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, + 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, + 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, + 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, + 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x8a, 0x01, 0x0a, 0x20, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, + 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, + 0x18, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, + 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, + 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x12, 0xa5, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, + 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x64, + 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x6c, - 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, - 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, - 0x45, 0x43, 0x41, 0x52, 0x12, 0x70, 0x0a, 0x11, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x12, 0xab, 0x01, 0x0a, 0x2c, 0x6d, 0x65, 0x76, 0x5f, 0x72, - 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x69, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x42, 0x69, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, - 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, - 0x59, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, - 0x44, 0x45, 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x12, 0x84, 0x01, 0x0a, 0x1b, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x65, 0x64, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x24, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, - 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, - 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x12, 0x77, 0x0a, 0x16, 0x65, - 0x74, 0x68, 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, + 0x4d, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x44, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x45, + 0x12, 0x89, 0x01, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x33, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x33, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, - 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x20, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x12, 0x82, 0x01, 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, - 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, + 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x53, + 0x45, 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x12, 0x83, 0x01, 0x0a, + 0x1e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, + 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x41, 0x50, 0x49, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x1e, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, + 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, + 0x42, 0x53, 0x12, 0x6b, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x12, + 0x88, 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x12, 0x69, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x70, 0x63, 0x18, - 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, + 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x43, + 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x99, 0x01, 0x0a, 0x22, 0x65, + 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, + 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x12, 0x6a, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, + 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x18, + 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x72, 0x6f, - 0x70, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x50, - 0x43, 0x12, 0x61, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4c, - 0x45, 0x41, 0x56, 0x45, 0x12, 0x61, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, - 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, 0x61, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x47, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, 0x72, 0x75, 0x6e, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, 0x12, 0x84, 0x01, 0x0a, 0x1e, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x48, 0x20, + 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, + 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, + 0x46, 0x59, 0x12, 0x91, 0x01, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x46, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, + 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x90, 0x01, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x60, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x12, 0x91, 0x01, 0x0a, 0x1f, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x1e, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, - 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x12, 0x7e, 0x0a, 0x1c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x12, 0x7b, 0x0a, 0x1b, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x1b, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x91, - 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x5f, 0x69, 0x68, 0x61, 0x76, 0x65, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x49, 0x48, 0x61, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x4c, - 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, - 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x48, 0x41, - 0x56, 0x45, 0x12, 0x91, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x77, 0x61, 0x6e, 0x74, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, - 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, - 0x5f, 0x49, 0x57, 0x41, 0x4e, 0x54, 0x12, 0x9d, 0x01, 0x0a, 0x27, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x6f, 0x6e, 0x74, 0x77, 0x61, - 0x6e, 0x74, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x44, - 0x6f, 0x6e, 0x74, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x4c, - 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, - 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x4f, - 0x4e, 0x54, 0x57, 0x41, 0x4e, 0x54, 0x12, 0x91, 0x01, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, 0x4f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, - 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x47, 0x72, 0x61, 0x66, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, 0x91, 0x01, 0x0a, 0x23, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x72, 0x75, - 0x6e, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x72, - 0x75, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, - 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, 0x12, 0x8f, - 0x01, 0x0a, 0x22, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x22, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, - 0x45, 0x54, 0x41, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, - 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, + 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x12, 0x97, 0x01, + 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x53, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x9c, 0x01, 0x0a, 0x23, 0x65, 0x74, 0x68, 0x5f, + 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, + 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, + 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x12, 0x9a, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x64, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x44, 0x61, + 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x50, + 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, + 0x43, 0x45, 0x53, 0x12, 0xa8, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x32, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0xad, + 0x01, 0x0a, 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, 0x66, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x12, 0xbb, + 0x01, 0x0a, 0x31, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x31, 0x4c, 0x49, 0x42, 0x50, 0x32, + 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, + 0x42, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x4e, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x45, 0x12, 0xac, 0x01, 0x0a, + 0x2c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, + 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, 0x68, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, + 0x70, 0x53, 0x75, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2c, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, + 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x12, 0xbe, 0x01, 0x0a, 0x32, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, + 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x1d, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, - 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x12, 0x6a, 0x0a, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, 0x53, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, - 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x12, - 0xa6, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x54, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, - 0x69, 0x70, 0x53, 0x75, 0x62, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6e, - 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, + 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x32, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, + 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0xaa, 0x01, 0x0a, + 0x2b, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, + 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x6a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, + 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, + 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2b, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, - 0x50, 0x53, 0x55, 0x42, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x5f, 0x41, - 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x96, 0x01, 0x0a, 0x21, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x55, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, - 0x52, 0x12, 0xa6, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, - 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, - 0x18, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, - 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, - 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, - 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, - 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x74, - 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, - 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, - 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, - 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x12, 0xa5, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, - 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, - 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x52, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, - 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x44, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x12, - 0x89, 0x01, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x78, 0x61, 0x74, + 0x50, 0x53, 0x55, 0x42, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x52, + 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x12, 0xa5, 0x01, 0x0a, 0x26, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67, 0x6f, + 0x73, 0x73, 0x69, 0x70, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, - 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x12, 0x83, 0x01, 0x0a, 0x1e, - 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x5a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x41, 0x50, 0x49, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x1e, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, - 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, - 0x53, 0x12, 0x6b, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x12, 0x88, - 0x01, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, - 0x5c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x31, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, + 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, + 0x50, 0x12, 0xae, 0x01, 0x0a, 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, - 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x99, 0x01, 0x0a, 0x22, 0x65, 0x74, - 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, 0x52, - 0x45, 0x47, 0x41, 0x54, 0x45, 0x12, 0x6a, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x18, 0x5e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, + 0x4c, 0x45, 0x12, 0xa1, 0x01, 0x0a, 0x28, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, + 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, + 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, + 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x28, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x50, + 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, + 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x12, 0xc1, 0x01, 0x0a, 0x33, 0x62, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x6e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, - 0x59, 0x12, 0x91, 0x01, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x46, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xb5, 0x04, 0x0a, 0x08, - 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, - 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, - 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, - 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, - 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, - 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x1a, 0x2d, 0x0a, 0x07, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x1a, 0xe7, 0x01, 0x0a, 0x09, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6b, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, - 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, - 0x6a, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x24, - 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, - 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, - 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x26, 0x41, 0x64, 0x64, + 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x33, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, + 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x12, 0xb3, 0x01, 0x0a, 0x2e, 0x62, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x6f, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, + 0x52, 0x2e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, + 0x49, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x45, 0x44, + 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x3f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xb5, 0x04, 0x0a, 0x08, 0x45, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x75, 0x6d, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x12, 0x41, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, + 0x6d, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x1a, 0x2d, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x69, 0x64, 0x1a, 0xe7, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x46, 0x6f, 0x72, 0x6b, + 0x49, 0x44, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x69, + 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, + 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, + 0x6a, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x1a, + 0x4d, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, + 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, - 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x49, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, + 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x1a, 0x49, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x1a, 0x88, 0x03, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, - 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x0b, - 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x4a, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x96, 0x03, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4d, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, + 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x88, 0x03, + 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, - 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x56, - 0x32, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x97, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x48, 0x65, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, - 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, - 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x9f, 0x01, 0x0a, 0x1f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x64, 0x56, 0x32, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, - 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, - 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0x98, 0x01, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, - 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, - 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa0, 0x01, - 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, - 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, - 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0xa4, 0x01, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, - 0x6f, 0x73, 0x73, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, - 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, - 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x98, 0x02, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x46, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, - 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x13, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x96, 0x03, 0x0a, 0x26, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, + 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x35, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, - 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, - 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x1a, 0x4b, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, - 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, - 0xbe, 0x01, 0x0a, 0x28, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, - 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, - 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, - 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x52, 0x13, 0x61, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x1a, 0x97, 0x01, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9f, 0x01, 0x0a, 0x1f, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x64, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, - 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, - 0x1a, 0x51, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, - 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, + 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x98, 0x01, + 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x1a, 0x55, 0x0a, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, - 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x9d, 0x01, 0x0a, 0x23, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, - 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa5, 0x01, 0x0a, 0x25, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, + 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa0, 0x01, 0x0a, 0x20, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, + 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa4, 0x01, 0x0a, 0x24, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, @@ -14258,369 +16104,463 @@ var file_pkg_proto_xatu_event_ingester_proto_rawDesc = []byte{ 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0xb3, 0x01, 0x0a, 0x39, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, - 0x6c, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbb, 0x01, 0x0a, 0x3b, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, - 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, - 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, - 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9f, 0x01, 0x0a, 0x2d, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x6e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa3, 0x01, 0x0a, 0x2f, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, - 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x70, 0x0a, 0x0c, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xad, - 0x02, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x31, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, - 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, - 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xef, - 0x02, 0x0a, 0x14, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x12, 0x33, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0d, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x0c, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x6f, 0x6e, 0x1a, 0x98, 0x02, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x61, 0x73, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, + 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, + 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, + 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x4b, 0x0a, + 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, + 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0xbe, 0x01, 0x0a, 0x28, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, + 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x0f, + 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, + 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x1a, 0x51, 0x0a, 0x2c, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x55, + 0x0a, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x9d, 0x01, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x33, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa5, 0x01, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, - 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x66, - 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, - 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, + 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xb3, 0x01, + 0x0a, 0x39, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x33, + 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0xbb, 0x01, 0x0a, 0x3b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, + 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, + 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x9f, 0x01, 0x0a, 0x2d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x6e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, + 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0xa3, 0x01, 0x0a, 0x2f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, + 0x66, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x70, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xad, 0x02, 0x0a, 0x12, 0x46, 0x6f, + 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x12, 0x31, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, + 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, - 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x1a, 0x65, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, - 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0x69, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, - 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x41, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x1a, 0xa1, 0x01, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, - 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x61, - 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, - 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, - 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x1a, 0xa7, 0x01, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, - 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x56, 0x32, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x06, 0x62, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, - 0x1a, 0x87, 0x01, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, - 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, - 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0xa1, 0x01, 0x0a, 0x26, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x52, 0x0a, 0x15, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0xae, - 0x01, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x79, 0x6e, - 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, - 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x52, 0x0a, 0x15, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, - 0xf2, 0x01, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, - 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, - 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, - 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, - 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, - 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x1a, 0x9a, 0x05, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, - 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x74, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x30, 0x0a, + 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, + 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xef, 0x02, 0x0a, 0x14, 0x46, 0x6f, + 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x56, 0x32, 0x12, 0x33, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0c, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x66, 0x0a, 0x1f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, - 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x61, 0x73, - 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x67, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x67, - 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x38, 0x0a, - 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x62, - 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x62, 0x5f, - 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, - 0x63, 0x61, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, - 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, - 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, - 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x1a, 0x89, 0x02, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, - 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8d, 0x05, - 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, + 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, + 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x65, 0x0a, 0x22, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x1a, 0x69, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x08, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, + 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa1, 0x01, + 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, + 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x06, 0x62, 0x65, 0x66, + 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x06, + 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x1a, 0xa7, 0x01, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x4f, 0x72, 0x67, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x3d, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x3b, + 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x56, 0x32, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x1a, 0x87, 0x01, 0x0a, 0x22, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, - 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x58, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, + 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0xa1, 0x01, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, + 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x52, 0x0a, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0xae, 0x01, 0x0a, 0x2b, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, + 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x52, 0x0a, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0xf2, 0x01, 0x0a, 0x20, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, + 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x1a, + 0x9a, 0x05, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, + 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, + 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x32, + 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x6e, + 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x67, 0x61, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x70, 0x5f, + 0x63, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x74, + 0x69, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x61, 0x73, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x38, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, + 0x5f, 0x67, 0x61, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, + 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x6c, + 0x6f, 0x62, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x12, 0x20, + 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x0f, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, + 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, + 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x6c, + 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x3a, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, + 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x18, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, + 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x1a, 0x89, 0x02, 0x0a, + 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x21, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x2e, 0x0a, 0x12, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x18, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x18, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8d, 0x05, 0x0a, 0x20, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, + 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x4c, + 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x18, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x23, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0b, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x16, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x65, 0x52, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x64, 0x12, 0x3a, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x77, - 0x68, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x18, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x77, - 0x68, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0x5d, 0x0a, - 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x5d, 0x0a, 0x2e, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, - 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x5a, 0x0a, 0x2b, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, - 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x18, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0x5d, 0x0a, 0x2e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x54, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x5d, 0x0a, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x61, 0x0a, - 0x32, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, - 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x4c, 0x53, 0x54, 0x6f, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x1a, 0xd5, 0x02, 0x0a, 0x32, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, - 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2e, 0x0a, 0x12, - 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, - 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x18, - 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, - 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x1a, 0x57, 0x0a, 0x28, 0x41, 0x64, 0x64, 0x69, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, + 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x5a, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x1a, 0x54, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x61, 0x0a, 0x32, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x1a, 0x8b, 0x02, 0x0a, 0x17, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x66, 0x0a, - 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, - 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, - 0xdc, 0x02, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, - 0x68, 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, + 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0xd5, 0x02, 0x0a, 0x32, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, + 0x4a, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, + 0x72, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x1a, 0x57, 0x0a, 0x28, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0xb7, 0x01, 0x0a, + 0x28, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, + 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, + 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x1a, 0xa9, 0x01, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, + 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0xab, 0x01, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, + 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0xac, 0x01, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, - 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa4, - 0x01, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, - 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, - 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0xac, 0x01, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, + 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, + 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xaf, + 0x01, 0x0a, 0x2f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, + 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, + 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0xb2, 0x01, 0x0a, 0x32, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, @@ -14628,1753 +16568,2180 @@ var file_pkg_proto_xatu_event_ingester_proto_rawDesc = []byte{ 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xaa, 0x01, 0x0a, 0x2a, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, - 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, - 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xb2, 0x01, 0x0a, 0x32, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, + 0x74, 0x69, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x63, 0x0a, 0x3c, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, + 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, + 0xb8, 0x01, 0x0a, 0x38, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x99, 0x01, 0x0a, 0x30, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x38, 0x0a, 0x08, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x60, 0x0a, 0x31, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x9a, 0x04, 0x0a, 0x3a, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, + 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, + 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, + 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, + 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x95, 0x04, 0x0a, 0x35, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, + 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, + 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, + 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, + 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, + 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, + 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, + 0x3c, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x9b, 0x04, + 0x0a, 0x3b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, + 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, + 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, + 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, + 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x95, 0x04, 0x0a, 0x35, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x50, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, + 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, + 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0x99, 0x02, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x62, - 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x26, - 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, - 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x46, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x1a, 0xa9, - 0x04, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x50, 0x32, 0x50, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, - 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x35, - 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x52, 0x13, - 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, - 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x12, 0x38, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x84, 0x01, 0x0a, 0x1f, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x50, 0x72, - 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x44, 0x75, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, - 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x69, - 0x64, 0x1a, 0x97, 0x03, 0x0a, 0x33, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x45, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, - 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x1a, 0x8b, 0x02, 0x0a, 0x17, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, + 0x66, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, + 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x64, 0x69, 0x66, 0x66, 0x5f, 0x6d, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x1a, 0xdc, 0x02, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x45, 0x74, 0x68, 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, + 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x1a, 0xa4, 0x01, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, + 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, + 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xaa, 0x01, 0x0a, 0x2a, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, + 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, + 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x99, 0x02, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, + 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x26, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x46, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, - 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, - 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x5f, 0x0a, 0x20, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x62, 0x0a, 0x23, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x1a, 0x5f, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, - 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x76, 0x52, 0x50, 0x43, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, - 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x1a, 0x5f, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, - 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x50, - 0x43, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x1a, 0xa9, 0x04, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x32, 0x50, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x32, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, + 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, + 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x32, + 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, + 0x70, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x06, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x84, 0x01, 0x0a, + 0x1f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, + 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x44, 0x75, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, + 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x69, 0x64, 0x1a, 0x97, 0x03, 0x0a, 0x33, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x32, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x45, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x05, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, + 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, + 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x5f, 0x0a, + 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, + 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, + 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x62, + 0x0a, 0x23, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, + 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, + 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5f, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, + 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x76, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x1a, 0x6b, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, - 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x48, 0x61, 0x76, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x1a, 0x5f, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x64, + 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5f, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x72, 0x6f, + 0x70, 0x52, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6b, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, + 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x48, 0x61, 0x76, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, + 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x6b, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, + 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x6f, 0x0a, 0x30, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, + 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x44, 0x6f, 0x6e, 0x74, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6b, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x47, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6f, 0x0a, - 0x30, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6b, 0x0a, + 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x44, 0x6f, 0x6e, 0x74, 0x57, 0x61, 0x6e, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6b, - 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, - 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x47, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6b, 0x0a, 0x2c, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, - 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5c, 0x0a, 0x1d, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5c, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5d, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x65, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5d, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x47, 0x72, 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5d, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4c, - 0x65, 0x61, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5d, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x72, - 0x61, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x1a, 0x5d, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, 0x72, 0x75, - 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x1a, 0x68, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x75, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x66, 0x0a, - 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, - 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, + 0x72, 0x75, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x66, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x65, 0x0a, - 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, - 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x1a, 0x61, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x68, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x75, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x66, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, + 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x64, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x66, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6a, 0x0a, - 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, - 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x48, - 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x65, 0x0a, 0x26, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, + 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x61, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x66, 0x0a, 0x27, 0x41, 0x64, 0x64, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x64, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, - 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x1a, 0x64, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, - 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x60, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, + 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x6a, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, + 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, + 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x66, 0x0a, 0x27, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x1a, 0x64, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xa7, 0x02, 0x0a, 0x32, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x52, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, - 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, - 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, - 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, - 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, - 0x6c, 0x6f, 0x74, 0x1a, 0x6b, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, - 0x65, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x1a, 0x66, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, - 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74, 0x61, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x8d, 0x04, 0x0a, 0x2d, 0x41, 0x64, 0x64, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x60, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, - 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, - 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, - 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xa7, 0x02, 0x0a, 0x32, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, - 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, - 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, - 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x60, 0x0a, 0x39, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x60, 0x0a, 0x39, 0x41, 0x64, + 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, + 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, + 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, + 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x1a, 0x6b, 0x0a, 0x2c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, + 0x43, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, + 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x66, 0x0a, 0x27, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x50, 0x43, 0x4d, 0x65, + 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x8d, 0x04, 0x0a, 0x2d, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, + 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, + 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, + 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, + 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x60, 0x0a, 0x39, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, - 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, - 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0xa9, 0x06, 0x0a, - 0x33, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, - 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, - 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, - 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x41, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x04, - 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, - 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, - 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x74, - 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x41, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x56, 0x32, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, - 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, - 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, - 0x6c, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0xdd, 0x04, 0x0a, 0x33, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, - 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, - 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, - 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, - 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x8d, 0x04, 0x0a, 0x2d, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x6c, 0x6f, 0x62, 0x53, - 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, - 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, - 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, - 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, - 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, - 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, - 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x93, 0x04, 0x0a, 0x33, 0x41, 0x64, 0x64, + 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x60, 0x0a, 0x39, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0xa9, + 0x06, 0x0a, 0x33, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, + 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, + 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, + 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x41, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, - 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x44, 0x61, 0x74, 0x61, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x65, 0x61, 0x63, 0x6f, + 0x6e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x20, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, - 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, - 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, - 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, - 0x70, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, - 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x44, - 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, - 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x1a, 0xc2, 0x03, 0x0a, 0x34, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x69, 0x64, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, - 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, - 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, - 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x77, - 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, - 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, - 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, - 0x54, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, - 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x5f, - 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0xb4, 0x03, 0x0a, 0x26, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, - 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x37, 0x0a, - 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, - 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x15, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x1a, 0x96, 0x06, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, - 0x74, 0x68, 0x56, 0x33, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, - 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, - 0x6e, 0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x23, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, - 0x3e, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, - 0x54, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, - 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, - 0x73, 0x75, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x1a, 0xd7, 0x02, 0x0a, 0x2b, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, - 0x72, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, - 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, - 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, - 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, - 0x63, 0x68, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, - 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x46, 0x0a, 0x0f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x1a, 0xb4, 0x01, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, - 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x0f, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, + 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x56, 0x32, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, + 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0xdd, 0x04, 0x0a, 0x33, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, + 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, + 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, - 0x32, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x29, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, + 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x48, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x8d, 0x04, 0x0a, 0x2d, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x42, 0x6c, 0x6f, + 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, + 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, + 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, - 0x56, 0x32, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x0a, - 0x68, 0x65, 0x61, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, + 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x1a, 0x93, 0x04, 0x0a, 0x33, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, + 0x72, 0x61, 0x63, 0x65, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x53, 0x75, 0x62, 0x44, 0x61, 0x74, + 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, + 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, + 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, + 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x56, 0x32, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, + 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, + 0x1a, 0x44, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x74, + 0x68, 0x56, 0x31, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, - 0x09, 0x68, 0x65, 0x61, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x73, 0x0a, 0x2a, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, - 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0xc2, 0x03, 0x0a, 0x34, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x69, 0x64, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x2a, 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x34, 0x0a, + 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, + 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, + 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, + 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x54, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, + 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0xb4, 0x03, 0x0a, 0x26, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x05, 0x72, 0x65, 0x6c, + 0x61, 0x79, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, + 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, + 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x52, + 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x1a, 0x96, 0x06, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x45, 0x74, 0x68, 0x56, 0x33, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x1a, - 0x71, 0x0a, 0x28, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x47, - 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, - 0x6f, 0x74, 0x1a, 0x66, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x12, 0x6e, 0x0a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x23, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x12, 0x3e, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x12, 0x54, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, + 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x13, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x1a, 0xd7, 0x02, 0x0a, 0x2b, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x76, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x05, 0x72, + 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x52, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, + 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x77, 0x61, 0x6c, + 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, + 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x12, + 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x0f, 0x77, 0x61, + 0x6c, 0x6c, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x46, 0x0a, + 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0xb4, 0x01, 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, + 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x0f, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x56, 0x32, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, + 0x6f, 0x74, 0x56, 0x32, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x2c, + 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, - 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, - 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x89, 0x10, 0x0a, - 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x6d, 0x0a, 0x16, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, 0x32, 0x50, - 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x16, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, - 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6d, 0x0a, 0x16, 0x4c, 0x49, 0x42, - 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, - 0x54, 0x45, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x70, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, - 0x52, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, 0x76, 0x0a, 0x19, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x45, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x78, 0x61, + 0x32, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x73, 0x0a, 0x2a, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, + 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x65, 0x77, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, + 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x1a, 0x71, 0x0a, 0x28, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, + 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, + 0x49, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, + 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, + 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, + 0x73, 0x6c, 0x6f, 0x74, 0x1a, 0x66, 0x0a, 0x1d, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x74, 0x68, 0x56, 0x31, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, + 0x62, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x56, 0x32, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x53, 0x6c, 0x6f, 0x74, 0x56, 0x32, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x42, 0x10, 0x0a, 0x0e, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x89, + 0x10, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2c, 0x0a, + 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x6d, 0x0a, 0x16, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x50, + 0x32, 0x50, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x16, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, + 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6d, 0x0a, 0x16, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x45, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x70, 0x32, 0x50, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x19, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x12, 0x6a, 0x0a, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, - 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, - 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x12, 0x6a, 0x0a, 0x15, - 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x45, 0x58, 0x45, 0x43, - 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x45, - 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x4c, 0x49, 0x42, - 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, - 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x18, 0x2a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x74, 0x68, - 0x65, 0x74, 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x20, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x52, - 0x54, 0x42, 0x45, 0x41, 0x54, 0x12, 0x6a, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x59, 0x18, 0x2b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x62, 0x70, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, - 0x59, 0x1a, 0x53, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0xb7, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x6f, 0x12, 0x12, - 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, - 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0b, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, - 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, - 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, - 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, - 0x12, 0x38, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x1c, 0x41, 0x75, - 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x1e, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x6a, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x50, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x65, - 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x03, 0x67, - 0x65, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x2e, 0x0a, 0x04, - 0x50, 0x65, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, - 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x03, 0x67, 0x65, 0x6f, 0x1a, 0x4f, 0x0a, 0x22, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x50, 0x32, 0x50, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, - 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x1a, 0x4f, 0x0a, - 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x70, 0x32, - 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, - 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x1a, 0x52, - 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x70, - 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, - 0x65, 0x72, 0x1a, 0x58, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x74, 0x68, - 0x65, 0x74, 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x1a, 0x4e, 0x0a, 0x21, + 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, 0x76, 0x0a, 0x19, 0x4c, 0x49, + 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x70, 0x32, 0x50, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x1a, 0x4b, 0x0a, 0x21, + 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x19, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x45, 0x44, 0x12, 0x6a, 0x0a, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, + 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, + 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x12, 0x6a, + 0x0a, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x45, 0x58, + 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, - 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x03, 0x67, 0x65, 0x6f, 0x1a, 0x4b, 0x0a, 0x21, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, - 0x0a, 0x03, 0x67, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, - 0x6f, 0x52, 0x03, 0x67, 0x65, 0x6f, 0x42, 0x10, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x04, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x28, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x22, 0xe6, 0x1c, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x24, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xec, - 0x1b, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x22, 0x0a, - 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, - 0x01, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, - 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x10, 0x02, 0x12, 0x31, 0x0a, 0x2d, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, - 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x21, - 0x0a, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x10, - 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, - 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, 0x05, 0x12, 0x28, - 0x0a, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, - 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x33, 0x0a, 0x2f, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x07, 0x12, 0x17, 0x0a, - 0x13, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, - 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, - 0x45, 0x10, 0x0a, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, - 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, - 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, - 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x0c, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0d, 0x12, 0x25, 0x0a, 0x21, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, - 0x32, 0x10, 0x0e, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x63, 0x6f, 0x72, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, + 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, + 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x18, + 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, + 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x20, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, + 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x12, 0x6a, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, + 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x59, + 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x70, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, + 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, + 0x49, 0x46, 0x59, 0x1a, 0x53, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x12, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0xb7, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x6f, + 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x21, + 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x74, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, + 0x64, 0x65, 0x12, 0x38, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x73, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x1c, + 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x1e, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x6f, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x73, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0x6a, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x50, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x03, + 0x67, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6f, 0x52, + 0x03, 0x67, 0x65, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x73, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x2e, + 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x65, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x03, 0x67, 0x65, 0x6f, 0x1a, 0x4f, + 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x50, 0x32, 0x50, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x1a, + 0x4f, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, + 0x70, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, + 0x1a, 0x52, 0x0a, 0x25, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, + 0x62, 0x70, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, + 0x70, 0x65, 0x65, 0x72, 0x1a, 0x58, 0x0a, 0x2b, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x50, 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, + 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x1a, 0x4e, + 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x70, + 0x32, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x1a, 0x4b, + 0x0a, 0x21, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, + 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6f, 0x52, 0x03, 0x67, 0x65, 0x6f, 0x1a, 0x4b, 0x0a, 0x21, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x26, 0x0a, 0x03, 0x67, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x47, 0x65, 0x6f, 0x52, 0x03, 0x67, 0x65, 0x6f, 0x42, 0x10, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x04, 0x4d, 0x65, + 0x74, 0x61, 0x12, 0x28, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x06, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0xaf, 0x23, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x24, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0xb5, 0x22, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, + 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, - 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x10, 0x0f, - 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, - 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, - 0x54, 0x5f, 0x56, 0x32, 0x10, 0x10, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x10, 0x11, 0x12, 0x2e, 0x0a, 0x2a, + 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x10, 0x02, 0x12, 0x31, 0x0a, + 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, + 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x03, + 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, + 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, 0x05, + 0x12, 0x28, 0x0a, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, + 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x33, 0x0a, 0x2f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x07, 0x12, + 0x17, 0x0a, 0x13, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, - 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x5f, 0x56, 0x32, 0x10, 0x12, 0x12, 0x2b, 0x0a, 0x27, + 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, + 0x49, 0x43, 0x45, 0x10, 0x0a, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, + 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, + 0x52, 0x47, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x0c, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x10, 0x13, 0x12, 0x36, 0x0a, 0x32, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x56, 0x32, 0x10, - 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x10, 0x15, 0x12, 0x25, 0x0a, - 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x56, 0x32, 0x10, 0x16, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, - 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, 0x10, 0x17, - 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, - 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, - 0x10, 0x18, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x4c, - 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x19, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, - 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x1a, 0x12, 0x31, - 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, - 0x1b, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x10, 0x1c, 0x12, 0x3a, 0x0a, - 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x1d, 0x12, 0x38, 0x0a, 0x34, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, - 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x1e, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0d, 0x12, 0x25, + 0x0a, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x56, 0x32, 0x10, 0x0e, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, + 0x10, 0x0f, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, + 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, + 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x32, 0x10, 0x10, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x10, 0x11, 0x12, 0x2e, + 0x0a, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, + 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x5f, 0x56, 0x32, 0x10, 0x12, 0x12, 0x2b, + 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x10, 0x13, 0x12, 0x36, 0x0a, 0x32, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x56, + 0x32, 0x10, 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x10, 0x15, 0x12, + 0x25, 0x0a, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x56, 0x32, 0x10, 0x16, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, + 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, + 0x10, 0x17, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, + 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, + 0x56, 0x32, 0x10, 0x18, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x45, 0x52, 0x5f, + 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x19, 0x12, 0x34, 0x0a, 0x30, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x4f, + 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x1a, + 0x12, 0x31, 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, + 0x54, 0x10, 0x1b, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, - 0x10, 0x1f, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, - 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x20, 0x12, 0x29, 0x0a, - 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, - 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x22, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x23, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, - 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x10, 0x24, 0x12, 0x39, 0x0a, 0x35, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, 0x41, 0x42, - 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x25, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x26, - 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, - 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x27, 0x12, - 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x41, 0x44, 0x44, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x10, 0x28, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, - 0x45, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x10, 0x29, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x52, 0x50, - 0x43, 0x10, 0x2a, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x50, 0x43, 0x10, 0x2b, 0x12, 0x19, - 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, - 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x50, 0x43, 0x10, 0x2c, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x49, 0x42, - 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x2d, - 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, - 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x2e, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, - 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x2f, 0x12, 0x1e, 0x0a, 0x1a, - 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, - 0x44, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x30, 0x12, 0x27, 0x0a, 0x23, - 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, - 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x10, 0x31, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x32, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, - 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x33, 0x12, 0x27, 0x0a, - 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, - 0x54, 0x4f, 0x52, 0x53, 0x10, 0x34, 0x12, 0x30, 0x0a, 0x2c, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, - 0x4c, 0x41, 0x59, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x42, 0x55, - 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x35, 0x12, 0x28, 0x0a, 0x24, 0x4d, 0x45, 0x56, 0x5f, - 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, - 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, - 0x10, 0x36, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x33, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, - 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x37, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x45, 0x56, - 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, - 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x38, 0x12, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x10, 0x1c, 0x12, + 0x3a, 0x0a, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x1d, 0x12, 0x38, 0x0a, 0x34, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, + 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x1e, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, + 0x41, 0x4c, 0x10, 0x1f, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, + 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x20, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x10, 0x39, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, - 0x10, 0x3a, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, - 0x43, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x10, 0x3b, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, - 0x10, 0x3c, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, - 0x43, 0x45, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x10, 0x3d, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x3e, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, - 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x40, 0x12, 0x27, 0x0a, 0x23, 0x4c, - 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, - 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x48, 0x41, - 0x56, 0x45, 0x10, 0x41, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x57, 0x41, 0x4e, 0x54, 0x10, 0x42, 0x12, 0x2b, 0x0a, - 0x27, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, + 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x22, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x23, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, + 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x10, 0x24, 0x12, 0x39, 0x0a, 0x35, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, + 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x25, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, + 0x10, 0x26, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, + 0x27, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x10, 0x28, 0x12, 0x1c, 0x0a, 0x18, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4d, + 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x10, 0x29, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, + 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, + 0x52, 0x50, 0x43, 0x10, 0x2a, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x50, 0x43, 0x10, 0x2b, + 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x50, 0x43, 0x10, 0x2c, 0x12, 0x15, 0x0a, 0x11, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, + 0x10, 0x2d, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x2e, 0x12, 0x20, 0x0a, 0x1c, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, + 0x44, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x2f, 0x12, 0x1e, + 0x0a, 0x1a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, + 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x30, 0x12, 0x27, + 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, + 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x31, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x49, 0x42, 0x50, 0x32, + 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, + 0x42, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x32, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, + 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x33, 0x12, + 0x27, 0x0a, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x10, 0x34, 0x12, 0x30, 0x0a, 0x2c, 0x4d, 0x45, 0x56, 0x5f, + 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, + 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x55, + 0x42, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x35, 0x12, 0x28, 0x0a, 0x24, 0x4d, 0x45, + 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, + 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, + 0x45, 0x44, 0x10, 0x36, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x33, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, + 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x37, 0x12, 0x24, 0x0a, 0x20, 0x4d, + 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, + 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x38, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x10, 0x39, 0x12, 0x16, 0x0a, 0x12, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x41, + 0x56, 0x45, 0x10, 0x3a, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x10, 0x3b, 0x12, 0x16, 0x0a, 0x12, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x55, + 0x4e, 0x45, 0x10, 0x3c, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x3d, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, 0x42, 0x50, + 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x3e, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, + 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x53, 0x48, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1b, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x40, 0x12, 0x27, 0x0a, + 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, - 0x44, 0x4f, 0x4e, 0x54, 0x57, 0x41, 0x4e, 0x54, 0x10, 0x43, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, - 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x47, 0x52, 0x41, 0x46, - 0x54, 0x10, 0x44, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x45, 0x12, 0x26, 0x0a, 0x22, + 0x48, 0x41, 0x56, 0x45, 0x10, 0x41, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x57, 0x41, 0x4e, 0x54, 0x10, 0x42, 0x12, + 0x2b, 0x0a, 0x27, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, + 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, + 0x5f, 0x49, 0x44, 0x4f, 0x4e, 0x54, 0x57, 0x41, 0x4e, 0x54, 0x10, 0x43, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, - 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x46, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x47, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, - 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, - 0x10, 0x48, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, - 0x44, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x49, 0x12, 0x2e, 0x0a, - 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, - 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, - 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x4a, 0x12, 0x30, 0x0a, - 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, - 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x4b, 0x12, + 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x47, 0x52, + 0x41, 0x46, 0x54, 0x10, 0x44, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x45, 0x12, 0x26, + 0x0a, 0x22, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, + 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x46, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x47, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x4f, 0x44, + 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, + 0x55, 0x53, 0x10, 0x48, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, + 0x4f, 0x52, 0x44, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x49, 0x12, 0x2e, 0x0a, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, - 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, 0x4c, 0x12, - 0x24, 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, - 0x45, 0x41, 0x54, 0x10, 0x4d, 0x12, 0x2e, 0x0a, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, - 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x44, 0x59, 0x5f, 0x50, 0x52, - 0x4f, 0x42, 0x45, 0x10, 0x4e, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x4f, 0x12, - 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, - 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, - 0x4f, 0x41, 0x44, 0x10, 0x50, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, - 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x47, 0x45, - 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x53, 0x10, 0x51, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x45, - 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x4e, 0x45, - 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x52, 0x12, 0x1e, 0x0a, 0x1a, 0x45, + 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, + 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x4a, 0x12, + 0x30, 0x0a, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, + 0x4b, 0x12, 0x2e, 0x0a, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x10, + 0x4c, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x52, + 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x4d, 0x12, 0x2e, 0x0a, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, + 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x44, 0x59, 0x5f, + 0x50, 0x52, 0x4f, 0x42, 0x45, 0x10, 0x4e, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x45, 0x43, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, + 0x4f, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, + 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, + 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x50, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x53, 0x45, + 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x53, 0x10, 0x51, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, - 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x53, 0x10, 0x53, 0x12, 0x21, 0x0a, 0x1d, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x54, 0x12, 0x2b, - 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x55, 0x12, 0x31, 0x0a, 0x2d, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, - 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, - 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x56, 0x12, 0x1b, - 0x0a, 0x17, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x53, 0x10, 0x57, 0x12, 0x19, 0x0a, 0x15, 0x4c, - 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x46, 0x59, 0x10, 0x58, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x53, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x59, 0x22, 0x04, 0x08, 0x21, 0x10, 0x21, 0x2a, 0x1f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x43, - 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x22, 0xf9, 0x10, - 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x40, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x38, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x74, - 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x78, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x52, 0x12, 0x1e, 0x0a, + 0x1a, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, + 0x45, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x53, 0x10, 0x53, 0x12, 0x21, 0x0a, + 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x54, + 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, + 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, + 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x10, 0x55, 0x12, 0x31, 0x0a, + 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x56, + 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x53, 0x10, 0x57, 0x12, 0x19, 0x0a, + 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, + 0x45, 0x4e, 0x54, 0x49, 0x46, 0x59, 0x10, 0x58, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, + 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x59, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x5a, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, + 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x5b, 0x12, 0x30, 0x0a, 0x2c, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, + 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x5c, 0x12, 0x32, 0x0a, 0x2e, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x10, 0x5d, 0x12, 0x31, + 0x0a, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, + 0x53, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, + 0x5e, 0x12, 0x35, 0x0a, 0x31, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, + 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x10, 0x65, 0x12, 0x38, 0x0a, 0x34, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, + 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, + 0x10, 0x66, 0x12, 0x36, 0x0a, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, + 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, + 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x5f, 0x12, 0x38, 0x0a, 0x34, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, + 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, + 0x49, 0x44, 0x10, 0x60, 0x12, 0x35, 0x0a, 0x31, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x45, + 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x45, 0x4e, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x45, 0x10, 0x61, 0x12, 0x30, 0x0a, 0x2c, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, + 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x10, 0x62, 0x12, 0x36, 0x0a, + 0x32, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, + 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x10, 0x63, 0x12, 0x2f, 0x0a, 0x2b, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, + 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, + 0x4e, 0x43, 0x45, 0x53, 0x10, 0x64, 0x12, 0x2c, 0x0a, 0x28, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, + 0x45, 0x44, 0x10, 0x67, 0x12, 0x37, 0x0a, 0x33, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, + 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, + 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x68, 0x12, 0x32, 0x0a, + 0x2e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, + 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x45, 0x44, 0x10, + 0x69, 0x22, 0x04, 0x08, 0x21, 0x10, 0x21, 0x2a, 0x1f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x50, 0x52, + 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, + 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x22, 0xf9, 0x10, 0x0a, 0x15, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x08, + 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x12, - 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x67, 0x61, + 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x40, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x67, 0x61, 0x73, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x61, 0x64, 0x73, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, - 0x73, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x73, + 0x12, 0x40, 0x0a, 0x0c, 0x6d, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x67, 0x61, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, + 0x65, 0x63, 0x12, 0x48, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, - 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4c, - 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x12, 0x4c, 0x0a, 0x0d, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x6f, - 0x64, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x73, 0x52, + 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x4b, 0x0a, 0x0c, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, 0x52, 0x0c, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, - 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x1a, 0xfa, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x61, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, - 0x42, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, - 0x6f, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x1a, 0xfa, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x73, + 0x12, 0x38, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x30, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x99, + 0x03, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x38, + 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x1a, 0x99, 0x03, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x15, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a, - 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x15, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, - 0x30, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6f, + 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x0a, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x0a, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x04, 0x68, 0x69, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x68, 0x69, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x69, + 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, + 0x38, 0x0a, 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x1a, 0xa8, 0x02, 0x0a, 0x0e, 0x43, 0x6f, + 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x04, + 0x68, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x68, 0x69, 0x74, 0x73, 0x12, 0x33, 0x0a, + 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, - 0xac, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2f, - 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x68, 0x69, 0x74, 0x73, 0x12, - 0x33, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6d, 0x69, - 0x73, 0x73, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x1a, 0xa8, - 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x2f, 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, + 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x09, + 0x68, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x68, 0x69, - 0x74, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x12, 0x39, 0x0a, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0a, - 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, - 0x69, 0x73, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0xdc, 0x48, 0x0a, 0x0e, 0x44, 0x65, - 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x05, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x1e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, - 0x67, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, - 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, - 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x5a, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x02, - 0x18, 0x01, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x6b, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x6f, 0x72, 0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, - 0x47, 0x12, 0x86, 0x01, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, - 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x12, 0x57, 0x0a, 0x12, 0x65, 0x74, - 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, - 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x42, 0x02, - 0x18, 0x01, 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, - 0x45, 0x41, 0x44, 0x12, 0x74, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, - 0x78, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, - 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, - 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, - 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, - 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x65, 0x74, - 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, - 0x6f, 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x2f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, - 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x36, 0x0a, 0x13, 0x6d, 0x65, 0x6d, 0x70, 0x6f, - 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x13, 0x4d, 0x45, 0x4d, 0x50, - 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, - 0x5a, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x5e, 0x0a, 0x12, 0x65, - 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, - 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x12, 0x6d, 0x0a, 0x18, 0x65, - 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, - 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, - 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x5d, 0x0a, 0x17, 0x65, 0x74, - 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x65, 0x48, 0x00, 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x79, 0x0a, 0x21, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x31, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, - 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x12, 0x6b, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, - 0x32, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x21, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, - 0x32, 0x12, 0x6f, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, - 0x32, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, - 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, - 0x56, 0x32, 0x12, 0x8a, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x48, 0x00, 0x52, 0x30, 0x42, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x68, 0x69, + 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x22, 0xf8, 0x5a, 0x0a, 0x0e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6d, 0x65, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x67, 0x0a, 0x19, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, - 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x32, 0x12, - 0x5b, 0x0a, 0x15, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x76, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x56, 0x32, 0x48, 0x00, 0x52, 0x20, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x12, 0x78, 0x0a, 0x1f, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, - 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, - 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, - 0x58, 0x49, 0x54, 0x5f, 0x56, 0x32, 0x12, 0x8f, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, 0x5f, 0x76, - 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, - 0x76, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x56, 0x32, 0x48, 0x00, 0x52, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, - 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x56, 0x32, 0x12, 0x38, 0x0a, 0x16, 0x6d, 0x65, 0x6d, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x76, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x4d, 0x45, 0x4d, 0x50, - 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x56, 0x32, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, - 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, - 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, - 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, - 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x56, 0x32, 0x12, 0x62, 0x0a, 0x15, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, - 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x32, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, 0x26, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, - 0x49, 0x43, 0x45, 0x5f, 0x56, 0x32, 0x12, 0x71, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, - 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, - 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, - 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, - 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x12, 0x82, 0x01, 0x0a, 0x25, 0x65, 0x74, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x12, 0x5a, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, + 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, + 0x6b, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, + 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x24, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, + 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x86, 0x01, 0x0a, + 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, + 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, + 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x12, 0x57, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, + 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x12, 0x74, + 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, + 0x79, 0x45, 0x78, 0x69, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, + 0x45, 0x58, 0x49, 0x54, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x42, 0x02, 0x18, 0x01, 0x48, + 0x00, 0x52, 0x2f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, + 0x4f, 0x46, 0x12, 0x36, 0x0a, 0x13, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x13, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x5a, 0x0a, 0x13, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, - 0x45, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, 0x82, - 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, - 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x32, 0x48, - 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, - 0x49, 0x4e, 0x47, 0x12, 0x7f, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, - 0x74, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, - 0x74, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, - 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, - 0x45, 0x58, 0x49, 0x54, 0x12, 0x65, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, - 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x56, - 0x32, 0x48, 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x12, 0x98, 0x01, 0x0a, 0x2b, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, 0x36, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, - 0x4c, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x12, 0x83, 0x01, 0x0a, 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, - 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x1e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6e, 0x0a, 0x1e, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x18, 0x21, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, 0x48, - 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x12, 0x6a, 0x0a, 0x1a, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, - 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, - 0x00, 0x52, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, - 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x42, - 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x6b, 0x0a, 0x20, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x24, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, 0x00, 0x52, 0x25, - 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, - 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x54, 0x0a, 0x16, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, - 0x70, 0x32, 0x70, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x5e, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, + 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x02, 0x18, 0x01, 0x48, + 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, + 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x12, 0x6d, 0x0a, 0x18, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, + 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, + 0x72, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x6f, 0x72, 0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, + 0x42, 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, + 0x52, 0x45, 0x4f, 0x52, 0x47, 0x12, 0x5d, 0x0a, 0x17, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, + 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x48, 0x00, + 0x52, 0x22, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, + 0x54, 0x54, 0x45, 0x45, 0x12, 0x79, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x48, + 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, + 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x12, + 0x6b, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, - 0x32, 0x48, 0x00, 0x52, 0x16, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, - 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x5a, 0x0a, 0x14, 0x65, - 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x64, - 0x75, 0x74, 0x79, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, - 0x44, 0x75, 0x74, 0x79, 0x48, 0x00, 0x52, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, - 0x45, 0x52, 0x5f, 0x44, 0x55, 0x54, 0x59, 0x12, 0x8f, 0x01, 0x0a, 0x2a, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x65, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6c, 0x61, 0x62, 0x6f, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x35, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, - 0x43, 0x4b, 0x5f, 0x45, 0x4c, 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, - 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x4c, 0x0a, 0x15, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x65, - 0x65, 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x12, 0x55, 0x0a, 0x18, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, - 0x65, 0x65, 0x72, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x18, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, - 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x12, 0x4c, - 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x63, 0x76, 0x5f, 0x72, 0x70, 0x63, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x52, 0x65, 0x63, 0x76, - 0x52, 0x50, 0x43, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x52, 0x50, 0x43, 0x12, 0x4c, 0x0a, 0x15, - 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6e, - 0x64, 0x5f, 0x72, 0x70, 0x63, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x50, - 0x43, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x50, 0x43, 0x12, 0x41, 0x0a, 0x11, 0x6c, 0x69, - 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, - 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x4c, 0x49, 0x42, 0x50, - 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x12, 0x50, 0x0a, - 0x16, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, - 0x59, 0x0a, 0x19, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, - 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x2e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, - 0x19, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, - 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, 0x61, 0x0a, 0x1c, 0x6c, 0x69, - 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, - 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, - 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x12, 0x5b, 0x0a, - 0x1a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x30, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, - 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x1a, - 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, - 0x44, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x12, 0x7a, 0x0a, 0x23, 0x6c, 0x69, - 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, - 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, - 0x65, 0x74, 0x68, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, - 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x78, 0x0a, 0x29, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, - 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x29, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x12, 0x7a, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, - 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x67, 0x6f, 0x73, 0x73, - 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, - 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, - 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x52, 0x0a, 0x11, - 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, - 0x12, 0x7d, 0x0a, 0x2c, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x69, - 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, - 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x42, 0x69, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, - 0x00, 0x52, 0x2c, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x42, 0x49, 0x44, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x12, - 0x74, 0x0a, 0x1b, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x36, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, - 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, - 0x24, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, - 0x53, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, - 0x56, 0x45, 0x52, 0x45, 0x44, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x33, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, - 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, - 0x54, 0x48, 0x5f, 0x56, 0x33, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x12, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x6c, - 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x20, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, - 0x41, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x47, - 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6a, 0x0a, 0x1a, 0x65, 0x74, 0x68, - 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x32, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x41, 0x54, + 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x12, 0x5e, 0x0a, 0x16, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x6f, 0x0a, 0x1c, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x6f, 0x72, 0x67, + 0x56, 0x32, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, + 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x4f, 0x52, 0x47, 0x5f, 0x56, 0x32, 0x12, 0x8a, 0x01, + 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x48, 0x00, 0x52, 0x25, + 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, + 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x32, 0x12, 0x5b, 0x0a, 0x15, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x5f, 0x76, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, + 0x64, 0x56, 0x32, 0x48, 0x00, 0x52, 0x20, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x48, 0x45, 0x41, 0x44, 0x5f, 0x56, 0x32, 0x12, 0x78, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, + 0x72, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x76, 0x32, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, + 0x74, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, + 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x5f, 0x56, + 0x32, 0x12, 0x8f, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x76, 0x32, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x48, 0x00, 0x52, + 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, + 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, + 0x5f, 0x56, 0x32, 0x12, 0x38, 0x0a, 0x16, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x4d, 0x45, 0x4d, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x32, 0x12, 0x5e, 0x0a, + 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x32, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x21, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x32, 0x12, 0x62, 0x0a, + 0x15, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x5f, 0x76, 0x32, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x6b, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, + 0x55, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x56, + 0x32, 0x12, 0x71, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x66, 0x6f, 0x72, 0x6b, + 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x67, 0x5f, 0x76, 0x32, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x46, 0x6f, 0x72, 0x6b, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6f, + 0x72, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5f, + 0x46, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4f, 0x52, + 0x47, 0x5f, 0x56, 0x32, 0x12, 0x82, 0x01, 0x0a, 0x25, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, + 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, + 0x69, 0x6e, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x45, 0x52, + 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, 0x82, 0x01, 0x0a, 0x25, 0x65, 0x74, + 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, + 0x69, 0x6e, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, + 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x30, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x4f, + 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x12, 0x7f, + 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x5f, + 0x65, 0x78, 0x69, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x56, + 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74, 0x56, 0x32, 0x48, 0x00, + 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, + 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4e, 0x54, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x54, 0x12, + 0x65, 0x0a, 0x1b, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x56, 0x32, 0x48, 0x00, 0x52, 0x26, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, - 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x47, - 0x4f, 0x53, 0x53, 0x49, 0x50, 0x12, 0x4c, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x70, 0x63, 0x18, 0x3a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, - 0x32, 0x70, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x50, 0x43, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, - 0x52, 0x50, 0x43, 0x12, 0x44, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x12, 0x44, 0x0a, 0x12, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, - 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, - 0x70, 0x32, 0x70, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x74, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, - 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, - 0x44, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, - 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x48, - 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, - 0x50, 0x52, 0x55, 0x4e, 0x45, 0x12, 0x67, 0x0a, 0x1e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x75, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1e, - 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x55, 0x50, - 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x61, - 0x0a, 0x1c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, - 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x3f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, - 0x32, 0x70, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, - 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x12, 0x61, 0x0a, 0x1c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x12, 0x5e, 0x0a, 0x1b, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1b, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x12, 0x75, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x68, 0x61, 0x76, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x48, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x48, 0x41, 0x56, 0x45, 0x12, 0x75, 0x0a, 0x23, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x77, 0x61, - 0x6e, 0x74, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x57, - 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x23, 0x4c, - 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, - 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x57, 0x41, - 0x4e, 0x54, 0x12, 0x81, 0x01, 0x0a, 0x27, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, - 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x6f, 0x6e, 0x74, 0x77, 0x61, 0x6e, 0x74, 0x18, 0x44, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, - 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x44, 0x6f, 0x6e, 0x74, 0x57, - 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x27, 0x4c, - 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, - 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x4f, - 0x4e, 0x54, 0x57, 0x41, 0x4e, 0x54, 0x12, 0x75, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, + 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x44, + 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x12, 0x98, 0x01, 0x0a, 0x2b, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, + 0x6c, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x42, 0x4c, 0x53, 0x54, 0x6f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, 0x36, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x53, 0x5f, 0x54, 0x4f, + 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, + 0x45, 0x12, 0x83, 0x01, 0x0a, 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6e, 0x0a, 0x1e, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x77, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x56, 0x32, 0x48, 0x00, 0x52, 0x29, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x49, 0x54, + 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x12, 0x6a, 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, + 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, + 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, 0x00, 0x52, 0x25, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, + 0x43, 0x41, 0x52, 0x12, 0x6b, 0x0a, 0x20, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, + 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, 0x00, 0x52, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, + 0x12, 0x54, 0x0a, 0x16, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x16, + 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x50, 0x32, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x5a, 0x0a, 0x14, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, + 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x18, 0x26, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x44, 0x75, 0x74, 0x79, 0x48, + 0x00, 0x52, 0x1f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x55, + 0x54, 0x59, 0x12, 0x8f, 0x01, 0x0a, 0x2a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x6c, 0x61, 0x62, 0x6f, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, + 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x35, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, + 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x4c, + 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x4c, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0x28, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, + 0x70, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, + 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x45, + 0x45, 0x52, 0x12, 0x55, 0x0a, 0x18, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0x29, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x18, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, + 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x12, 0x4c, 0x0a, 0x15, 0x6c, 0x69, 0x62, + 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x72, + 0x70, 0x63, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x52, 0x65, 0x63, 0x76, 0x52, 0x50, 0x43, 0x48, 0x00, + 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, + 0x45, 0x43, 0x56, 0x5f, 0x52, 0x50, 0x43, 0x12, 0x4c, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, + 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x70, 0x63, + 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x50, 0x43, 0x48, 0x00, 0x52, 0x15, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x4e, + 0x44, 0x5f, 0x52, 0x50, 0x43, 0x12, 0x41, 0x0a, 0x11, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x4a, + 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x12, 0x50, 0x0a, 0x16, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x48, 0x00, 0x52, 0x16, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, 0x59, 0x0a, 0x19, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x19, 0x4c, 0x49, 0x42, 0x50, + 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x45, 0x44, 0x12, 0x61, 0x0a, 0x1c, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, + 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, + 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x12, 0x5b, 0x0a, 0x1a, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x1a, 0x4c, 0x49, 0x42, 0x50, 0x32, + 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x12, 0x7a, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, + 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x31, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, + 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x42, + 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, + 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, + 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x12, 0x78, 0x0a, 0x29, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, 0x65, 0x61, 0x63, + 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x32, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x29, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, + 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x7a, 0x0a, 0x23, 0x6c, + 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, + 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, + 0x61, 0x72, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, + 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x5f, + 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x52, 0x0a, 0x11, 0x65, 0x74, 0x68, 0x5f, 0x76, + 0x31, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x34, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x23, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x12, 0x7d, 0x0a, 0x2c, 0x6d, + 0x65, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x69, 0x64, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x35, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, + 0x79, 0x2e, 0x42, 0x69, 0x64, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x2c, 0x4d, 0x45, + 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x42, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x53, 0x55, 0x42, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x12, 0x74, 0x0a, 0x1b, 0x6d, 0x65, + 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, + 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x24, 0x4d, 0x45, 0x56, 0x5f, + 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, + 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, + 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x33, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x32, 0x2e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x21, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x33, + 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x12, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x6d, 0x65, 0x76, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x20, 0x4d, 0x45, 0x56, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x6a, 0x0a, 0x1a, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x67, 0x6f, 0x73, 0x73, + 0x69, 0x70, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x48, 0x00, 0x52, 0x25, 0x42, 0x45, 0x41, 0x43, 0x4f, + 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, + 0x12, 0x4c, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x70, 0x63, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x72, + 0x6f, 0x70, 0x52, 0x50, 0x43, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x50, 0x43, 0x12, 0x44, + 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x6c, + 0x65, 0x61, 0x76, 0x65, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x00, + 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x4c, + 0x45, 0x41, 0x56, 0x45, 0x12, 0x44, 0x0a, 0x12, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x47, + 0x72, 0x61, 0x66, 0x74, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, 0x44, 0x0a, 0x12, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x65, + 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x12, 0x4c, 0x49, + 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, + 0x12, 0x67, 0x0a, 0x1e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1e, 0x4c, 0x49, 0x42, 0x50, 0x32, + 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, + 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x61, 0x0a, 0x1c, 0x6c, 0x69, 0x62, + 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, + 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x65, + 0x6c, 0x69, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1c, + 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, + 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x61, 0x0a, 0x1c, + 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x40, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, + 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, + 0x00, 0x52, 0x1c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, + 0x5e, 0x0a, 0x1b, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x41, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x48, 0x00, 0x52, 0x1b, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, + 0x75, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x5f, 0x69, 0x68, 0x61, 0x76, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x49, 0x48, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, + 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, + 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, + 0x5f, 0x49, 0x48, 0x41, 0x56, 0x45, 0x12, 0x75, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, 0x45, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x77, 0x61, 0x6e, 0x74, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x47, 0x72, 0x61, 0x66, 0x74, 0x4d, 0x65, + 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x57, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, - 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, 0x75, 0x0a, - 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, - 0x72, 0x75, 0x6e, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x50, 0x72, 0x75, 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, - 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, - 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, - 0x52, 0x55, 0x4e, 0x45, 0x12, 0x6a, 0x0a, 0x22, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x53, - 0x75, 0x62, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x22, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, - 0x45, 0x54, 0x41, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, - 0x12, 0x64, 0x0a, 0x1d, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, - 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x1d, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x52, 0x0a, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, - 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6e, 0x6f, 0x64, - 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, - 0x73, 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, - 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x12, 0x52, 0x0a, 0x15, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, - 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x93, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x57, 0x41, 0x4e, 0x54, 0x12, 0x81, 0x01, + 0x0a, 0x27, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, + 0x69, 0x64, 0x6f, 0x6e, 0x74, 0x77, 0x61, 0x6e, 0x74, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x44, 0x6f, 0x6e, 0x74, 0x57, 0x61, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x27, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, + 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x4f, 0x4e, 0x54, 0x57, 0x41, 0x4e, + 0x54, 0x12, 0x75, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x5f, 0x67, 0x72, 0x61, 0x66, 0x74, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x47, 0x72, 0x61, 0x66, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, + 0x6d, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x4f, 0x4c, 0x5f, 0x47, 0x52, 0x41, 0x46, 0x54, 0x12, 0x75, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x18, + 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, + 0x70, 0x32, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x72, 0x75, 0x6e, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x23, 0x4c, 0x49, 0x42, 0x50, + 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x55, 0x4e, 0x45, 0x12, + 0x6a, 0x0a, 0x22, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x75, 0x62, 0x4d, 0x65, 0x74, + 0x61, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x22, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, + 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x64, 0x0a, 0x1d, 0x6c, + 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x48, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, + 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, + 0x48, 0x00, 0x52, 0x1d, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x12, 0x52, 0x0a, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x48, 0x00, 0x52, 0x15, + 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, + 0x45, 0x4e, 0x53, 0x55, 0x53, 0x12, 0x52, 0x0a, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x4a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6e, 0x6f, 0x64, 0x65, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x15, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, + 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x93, 0x01, 0x0a, 0x2a, 0x6c, 0x69, + 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, + 0x70, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, + 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x56, + 0x32, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x41, 0x47, 0x47, 0x52, + 0x45, 0x47, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x12, + 0x7e, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x64, + 0x65, 0x63, 0x61, 0x72, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, + 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, + 0x8e, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x4d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, + 0x61, 0x72, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x43, 0x41, 0x52, + 0x12, 0x6d, 0x0a, 0x20, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, + 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, + 0x62, 0x65, 0x61, 0x74, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, + 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x20, 0x4c, + 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x54, + 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x12, + 0x4d, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x79, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, + 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x59, 0x12, 0x86, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, - 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x4b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x56, 0x32, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, - 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, - 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, - 0x52, 0x4f, 0x4f, 0x46, 0x12, 0x7e, 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x69, 0x64, - 0x65, 0x63, 0x61, 0x72, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, - 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, 0x44, - 0x45, 0x43, 0x41, 0x52, 0x12, 0x8e, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, - 0x63, 0x61, 0x72, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, - 0x62, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, - 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, - 0x42, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x53, 0x49, - 0x44, 0x45, 0x43, 0x41, 0x52, 0x12, 0x6d, 0x0a, 0x20, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, - 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x53, 0x79, - 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, - 0x48, 0x00, 0x52, 0x20, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, - 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, - 0x42, 0x45, 0x41, 0x54, 0x12, 0x4d, 0x0a, 0x15, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x18, 0x4f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, - 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x48, 0x00, 0x52, 0x15, 0x4c, 0x49, - 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, - 0x49, 0x46, 0x59, 0x12, 0x86, 0x01, 0x0a, 0x2a, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x5f, 0x70, 0x72, 0x6f, - 0x62, 0x65, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x48, 0x00, - 0x52, 0x2a, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x43, - 0x55, 0x53, 0x54, 0x4f, 0x44, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x12, 0x4f, 0x0a, 0x14, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, - 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x14, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x12, 0x71, 0x0a, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, - 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, - 0x50, 0x49, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x20, - 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, - 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, - 0x12, 0x6b, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x6c, 0x6f, - 0x62, 0x73, 0x18, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, - 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x41, 0x50, 0x49, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x48, 0x00, 0x52, 0x1e, 0x43, - 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, - 0x41, 0x50, 0x49, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x53, 0x12, 0x66, 0x0a, - 0x1c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0xcc, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x1c, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, - 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x12, 0x60, 0x0a, 0x1a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x6c, - 0x6f, 0x62, 0x73, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, - 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x48, 0x00, 0x52, 0x1a, 0x45, 0x58, 0x45, - 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x47, 0x45, - 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x53, 0x12, 0x4f, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, - 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0xce, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, - 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x12, 0x69, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, - 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, - 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, - 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, - 0x54, 0x45, 0x45, 0x12, 0x75, 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, - 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, + 0x72, 0x70, 0x63, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x64, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, + 0x32, 0x70, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x48, 0x00, 0x52, 0x2a, 0x4c, 0x49, 0x42, + 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x44, + 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x12, 0x4f, 0x0a, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x48, 0x00, 0x52, 0x14, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x12, 0x71, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x73, + 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x70, 0x69, + 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0xca, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, + 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x65, 0x77, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x53, 0x45, + 0x4e, 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x12, 0x6b, 0x0a, 0x1e, 0x63, + 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0xcb, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x6f, 0x6e, 0x73, + 0x65, 0x6e, 0x73, 0x75, 0x73, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41, 0x50, 0x49, 0x47, 0x65, + 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x48, 0x00, 0x52, 0x1e, 0x43, 0x4f, 0x4e, 0x53, 0x45, 0x4e, + 0x53, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x47, + 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x53, 0x12, 0x66, 0x0a, 0x1c, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x77, + 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x48, 0x00, 0x52, 0x1c, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, + 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, + 0x12, 0x60, 0x0a, 0x1a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x65, 0x74, 0x42, + 0x6c, 0x6f, 0x62, 0x73, 0x48, 0x00, 0x52, 0x1a, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, + 0x42, 0x53, 0x12, 0x4f, 0x0a, 0x12, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, 0x61, + 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0xce, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, + 0x6f, 0x62, 0x48, 0x00, 0x52, 0x1d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, + 0x4c, 0x4f, 0x42, 0x12, 0x69, 0x0a, 0x1c, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x18, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x27, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x45, 0x12, 0x75, + 0x0a, 0x22, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x18, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, + 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x41, 0x47, 0x47, 0x52, + 0x45, 0x47, 0x41, 0x54, 0x45, 0x12, 0x58, 0x0a, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x18, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x17, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x53, 0x12, + 0x7a, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x73, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, + 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x7a, 0x0a, 0x1f, 0x65, + 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xd3, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, - 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x59, 0x4e, 0x43, - 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x12, 0x58, 0x0a, 0x17, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x78, - 0x61, 0x74, 0x75, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x17, 0x45, 0x58, 0x45, - 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x54, - 0x52, 0x49, 0x43, 0x53, 0x12, 0x7a, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x46, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, - 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x46, - 0x41, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x6c, 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x47, 0x49, - 0x4e, 0x45, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x47, 0x49, 0x4e, - 0x45, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x4e, 0x4f, 0x4f, 0x50, 0x45, 0x52, - 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, - 0x49, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x32, 0x58, 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, - 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x43, 0x43, 0x45, + 0x53, 0x53, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x12, 0x83, 0x01, 0x0a, 0x1f, 0x65, 0x74, 0x68, 0x5f, + 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0xd4, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x48, + 0x00, 0x52, 0x2a, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x12, 0x82, 0x01, + 0x0a, 0x21, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, + 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x2c, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x50, + 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, 0xd6, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x48, 0x00, 0x52, 0x2e, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x12, 0x84, 0x01, 0x0a, 0x22, + 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x48, 0x00, 0x52, 0x2d, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x50, 0x52, + 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, + 0x45, 0x53, 0x12, 0x87, 0x01, 0x0a, 0x27, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xd8, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x32, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, + 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, 0x45, 0x41, 0x43, + 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x12, 0x92, 0x01, 0x0a, + 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x32, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, 0x41, + 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x32, 0x5f, 0x42, + 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x45, 0x43, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, + 0x44, 0x12, 0xa4, 0x01, 0x0a, 0x31, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, + 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0xda, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x67, 0x6f, 0x73, + 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x48, 0x00, 0x52, 0x31, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x45, 0x58, + 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x45, 0x4e, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x45, 0x12, 0x95, 0x01, 0x0a, 0x2c, 0x6c, 0x69, 0x62, + 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, + 0x73, 0x75, 0x62, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x64, 0x18, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x67, + 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x64, + 0x48, 0x00, 0x52, 0x2c, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, + 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, + 0x12, 0xa7, 0x01, 0x0a, 0x32, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, + 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, 0x67, 0x6f, 0x73, + 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x32, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, + 0x52, 0x41, 0x43, 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x50, + 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x93, 0x01, 0x0a, 0x2b, 0x6c, + 0x69, 0x62, 0x70, 0x32, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x6f, 0x73, 0x73, + 0x69, 0x70, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x32, 0x70, 0x2e, + 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x73, 0x75, 0x62, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x48, 0x00, 0x52, 0x2b, 0x4c, 0x49, 0x42, 0x50, 0x32, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x43, + 0x45, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x53, 0x55, 0x42, 0x5f, 0x50, 0x52, 0x4f, 0x50, + 0x4f, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, + 0x12, 0x91, 0x01, 0x0a, 0x26, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x18, 0xde, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x48, + 0x00, 0x52, 0x31, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x45, 0x54, + 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x47, 0x4f, + 0x53, 0x53, 0x49, 0x50, 0x12, 0x92, 0x01, 0x0a, 0x29, 0x65, 0x74, 0x68, 0x5f, 0x76, 0x31, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x48, 0x00, 0x52, 0x34, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x31, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x58, + 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x12, 0x81, 0x01, 0x0a, 0x28, 0x62, 0x65, + 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x78, 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x48, 0x00, 0x52, 0x28, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x54, + 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x12, 0xa1, 0x01, + 0x0a, 0x33, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, + 0x69, 0x63, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x78, + 0x61, 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x65, 0x72, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x33, 0x42, 0x45, + 0x41, 0x43, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x42, + 0x55, 0x49, 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, + 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x4d, 0x45, 0x4e, + 0x54, 0x12, 0x93, 0x01, 0x0a, 0x2e, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, + 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x18, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x78, 0x61, + 0x74, 0x75, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x2e, 0x42, 0x45, 0x41, 0x43, 0x4f, 0x4e, 0x5f, + 0x53, 0x59, 0x4e, 0x54, 0x48, 0x45, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, + 0x44, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, + 0x4f, 0x43, 0x45, 0x53, 0x53, 0x45, 0x44, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x2a, + 0x6c, 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, + 0x0a, 0x15, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x53, 0x4e, 0x4f, 0x4f, 0x50, 0x45, 0x52, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x4e, 0x47, + 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x32, 0x58, 0x0a, + 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x12, 0x47, + 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, + 0x2e, 0x78, 0x61, 0x74, 0x75, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x78, 0x61, 0x74, 0x75, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x74, 0x68, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x70, + 0x73, 0x2f, 0x78, 0x61, 0x74, 0x75, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x78, 0x61, 0x74, 0x75, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -16390,7 +18757,7 @@ func file_pkg_proto_xatu_event_ingester_proto_rawDescGZIP() []byte { } var file_pkg_proto_xatu_event_ingester_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_pkg_proto_xatu_event_ingester_proto_msgTypes = make([]protoimpl.MessageInfo, 141) +var file_pkg_proto_xatu_event_ingester_proto_msgTypes = make([]protoimpl.MessageInfo, 157) var file_pkg_proto_xatu_event_ingester_proto_goTypes = []any{ (EngineSource)(0), // 0: xatu.EngineSource (Event_Name)(0), // 1: xatu.Event.Name @@ -16424,255 +18791,285 @@ var file_pkg_proto_xatu_event_ingester_proto_goTypes = []any{ (*DecoratedEvent)(nil), // 29: xatu.DecoratedEvent (*ClientMeta_Ethereum)(nil), // 30: xatu.ClientMeta.Ethereum nil, // 31: xatu.ClientMeta.LabelsEntry - (*ClientMeta_AdditionalEthV1AttestationSourceData)(nil), // 32: xatu.ClientMeta.AdditionalEthV1AttestationSourceData - (*ClientMeta_AdditionalEthV1AttestationSourceV2Data)(nil), // 33: xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data - (*ClientMeta_AdditionalEthV1AttestationTargetData)(nil), // 34: xatu.ClientMeta.AdditionalEthV1AttestationTargetData - (*ClientMeta_AdditionalEthV1AttestationTargetV2Data)(nil), // 35: xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data - (*ClientMeta_AdditionalEthV1EventsAttestationData)(nil), // 36: xatu.ClientMeta.AdditionalEthV1EventsAttestationData - (*ClientMeta_AdditionalEthV1EventsAttestationV2Data)(nil), // 37: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data - (*ClientMeta_AdditionalEthV1EventsHeadData)(nil), // 38: xatu.ClientMeta.AdditionalEthV1EventsHeadData - (*ClientMeta_AdditionalEthV1EventsHeadV2Data)(nil), // 39: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data - (*ClientMeta_AdditionalEthV1EventsBlockData)(nil), // 40: xatu.ClientMeta.AdditionalEthV1EventsBlockData - (*ClientMeta_AdditionalEthV1EventsBlockV2Data)(nil), // 41: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data - (*ClientMeta_AdditionalEthV1EventsBlockGossipData)(nil), // 42: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData - (*ClientMeta_AdditionalEthV1EventsFastConfirmationData)(nil), // 43: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData - (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData)(nil), // 44: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData - (*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data)(nil), // 45: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data - (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData)(nil), // 46: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData - (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data)(nil), // 47: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointV2Data - (*ClientMeta_AdditionalEthV1EventsChainReorgData)(nil), // 48: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData - (*ClientMeta_AdditionalEthV1EventsChainReorgV2Data)(nil), // 49: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data - (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData)(nil), // 50: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData - (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data)(nil), // 51: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data - (*ClientMeta_AdditionalEthV1EventsContributionAndProofData)(nil), // 52: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData - (*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data)(nil), // 53: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofV2Data - (*ClientMeta_ForkChoiceSnapshot)(nil), // 54: xatu.ClientMeta.ForkChoiceSnapshot - (*ClientMeta_ForkChoiceSnapshotV2)(nil), // 55: xatu.ClientMeta.ForkChoiceSnapshotV2 - (*ClientMeta_AdditionalEthV1DebugForkChoiceData)(nil), // 56: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData - (*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data)(nil), // 57: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceV2Data - (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData)(nil), // 58: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData - (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data)(nil), // 59: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data - (*ClientMeta_AdditionalEthV1BeaconCommitteeData)(nil), // 60: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData - (*ClientMeta_AdditionalEthV1BeaconSyncCommitteeData)(nil), // 61: xatu.ClientMeta.AdditionalEthV1BeaconSyncCommitteeData - (*ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData)(nil), // 62: xatu.ClientMeta.AdditionalEthV2BeaconBlockSyncAggregateData - (*ClientMeta_AdditionalMempoolTransactionData)(nil), // 63: xatu.ClientMeta.AdditionalMempoolTransactionData - (*ClientMeta_AdditionalMempoolTransactionV2Data)(nil), // 64: xatu.ClientMeta.AdditionalMempoolTransactionV2Data - (*ClientMeta_AdditionalEthV2BeaconBlockData)(nil), // 65: xatu.ClientMeta.AdditionalEthV2BeaconBlockData - (*ClientMeta_AdditionalEthV2BeaconBlockV2Data)(nil), // 66: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data - (*ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData)(nil), // 67: xatu.ClientMeta.AdditionalEthV2BeaconBlockAttesterSlashingData - (*ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData)(nil), // 68: xatu.ClientMeta.AdditionalEthV2BeaconBlockProposerSlashingData - (*ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData)(nil), // 69: xatu.ClientMeta.AdditionalEthV2BeaconBlockVoluntaryExitData - (*ClientMeta_AdditionalEthV2BeaconBlockDepositData)(nil), // 70: xatu.ClientMeta.AdditionalEthV2BeaconBlockDepositData - (*ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData)(nil), // 71: xatu.ClientMeta.AdditionalEthV2BeaconBlockBLSToExecutionChangeData - (*ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData)(nil), // 72: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionTransactionData - (*ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData)(nil), // 73: xatu.ClientMeta.AdditionalEthV2BeaconBlockWithdrawalData - (*ClientMeta_AttestationDataSnapshot)(nil), // 74: xatu.ClientMeta.AttestationDataSnapshot - (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData)(nil), // 75: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData - (*ClientMeta_AdditionalEthV1EventsBlobSidecarData)(nil), // 76: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData - (*ClientMeta_AdditionalEthV1EventsDataColumnSidecarData)(nil), // 77: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData - (*ClientMeta_AdditionalEthV1BeaconBlobSidecarData)(nil), // 78: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData - (*ClientMeta_AdditionalBeaconP2PAttestationData)(nil), // 79: xatu.ClientMeta.AdditionalBeaconP2PAttestationData - (*ClientMeta_AdditionalEthV1ProposerDutyData)(nil), // 80: xatu.ClientMeta.AdditionalEthV1ProposerDutyData - (*ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData)(nil), // 81: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData - (*ClientMeta_AdditionalLibP2PTraceAddPeerData)(nil), // 82: xatu.ClientMeta.AdditionalLibP2PTraceAddPeerData - (*ClientMeta_AdditionalLibP2PTraceRemovePeerData)(nil), // 83: xatu.ClientMeta.AdditionalLibP2PTraceRemovePeerData - (*ClientMeta_AdditionalLibP2PTraceRecvRPCData)(nil), // 84: xatu.ClientMeta.AdditionalLibP2PTraceRecvRPCData - (*ClientMeta_AdditionalLibP2PTraceSendRPCData)(nil), // 85: xatu.ClientMeta.AdditionalLibP2PTraceSendRPCData - (*ClientMeta_AdditionalLibP2PTraceDropRPCData)(nil), // 86: xatu.ClientMeta.AdditionalLibP2PTraceDropRPCData - (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData)(nil), // 87: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIHaveData - (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData)(nil), // 88: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIWantData - (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData)(nil), // 89: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIDontWantData - (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData)(nil), // 90: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlGraftData - (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData)(nil), // 91: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlPruneData - (*ClientMeta_AdditionalLibP2PTraceJoinData)(nil), // 92: xatu.ClientMeta.AdditionalLibP2PTraceJoinData - (*ClientMeta_AdditionalLibP2PTraceLeaveData)(nil), // 93: xatu.ClientMeta.AdditionalLibP2PTraceLeaveData - (*ClientMeta_AdditionalLibP2PTraceGraftData)(nil), // 94: xatu.ClientMeta.AdditionalLibP2PTraceGraftData - (*ClientMeta_AdditionalLibP2PTracePruneData)(nil), // 95: xatu.ClientMeta.AdditionalLibP2PTracePruneData - (*ClientMeta_AdditionalLibP2PTraceDuplicateMessageData)(nil), // 96: xatu.ClientMeta.AdditionalLibP2PTraceDuplicateMessageData - (*ClientMeta_AdditionalLibP2PTraceDeliverMessageData)(nil), // 97: xatu.ClientMeta.AdditionalLibP2PTraceDeliverMessageData - (*ClientMeta_AdditionalLibP2PTracePublishMessageData)(nil), // 98: xatu.ClientMeta.AdditionalLibP2PTracePublishMessageData - (*ClientMeta_AdditionalLibP2PTraceRejectMessageData)(nil), // 99: xatu.ClientMeta.AdditionalLibP2PTraceRejectMessageData - (*ClientMeta_AdditionalLibP2PTraceConnectedData)(nil), // 100: xatu.ClientMeta.AdditionalLibP2PTraceConnectedData - (*ClientMeta_AdditionalLibP2PTraceDisconnectedData)(nil), // 101: xatu.ClientMeta.AdditionalLibP2PTraceDisconnectedData - (*ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData)(nil), // 102: xatu.ClientMeta.AdditionalLibP2PTraceSyntheticHeartbeatData - (*ClientMeta_AdditionalLibP2PTraceHandleMetadataData)(nil), // 103: xatu.ClientMeta.AdditionalLibP2PTraceHandleMetadataData - (*ClientMeta_AdditionalLibP2PTraceHandleStatusData)(nil), // 104: xatu.ClientMeta.AdditionalLibP2PTraceHandleStatusData - (*ClientMeta_AdditionalLibP2PTraceIdentifyData)(nil), // 105: xatu.ClientMeta.AdditionalLibP2PTraceIdentifyData - (*ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData)(nil), // 106: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData - (*ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData)(nil), // 107: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaSubscriptionData - (*ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData)(nil), // 108: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaMessageData - (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData)(nil), // 109: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData - (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData)(nil), // 110: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData - (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData)(nil), // 111: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData - (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData)(nil), // 112: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData - (*ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData)(nil), // 113: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData - (*ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData)(nil), // 114: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData - (*ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData)(nil), // 115: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData - (*ClientMeta_AdditionalEthV1ValidatorsData)(nil), // 116: xatu.ClientMeta.AdditionalEthV1ValidatorsData - (*ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData)(nil), // 117: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData - (*ClientMeta_AdditionalMevRelayPayloadDeliveredData)(nil), // 118: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData - (*ClientMeta_AdditionalEthV3ValidatorBlockData)(nil), // 119: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData - (*ClientMeta_AdditionalMevRelayValidatorRegistrationData)(nil), // 120: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData - (*ClientMeta_AdditionalNodeRecordConsensusData)(nil), // 121: xatu.ClientMeta.AdditionalNodeRecordConsensusData - (*ClientMeta_AdditionalConsensusEngineAPINewPayloadData)(nil), // 122: xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData - (*ClientMeta_AdditionalConsensusEngineAPIGetBlobsData)(nil), // 123: xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData - (*ClientMeta_AdditionalEthV1BeaconBlobData)(nil), // 124: xatu.ClientMeta.AdditionalEthV1BeaconBlobData - (*ClientMeta_Ethereum_Network)(nil), // 125: xatu.ClientMeta.Ethereum.Network - (*ClientMeta_Ethereum_Execution)(nil), // 126: xatu.ClientMeta.Ethereum.Execution - (*ClientMeta_Ethereum_Consensus)(nil), // 127: xatu.ClientMeta.Ethereum.Consensus - (*ServerMeta_Event)(nil), // 128: xatu.ServerMeta.Event - (*ServerMeta_Geo)(nil), // 129: xatu.ServerMeta.Geo - (*ServerMeta_Client)(nil), // 130: xatu.ServerMeta.Client - (*ServerMeta_Peer)(nil), // 131: xatu.ServerMeta.Peer - (*ServerMeta_AdditionalBeaconP2PAttestationData)(nil), // 132: xatu.ServerMeta.AdditionalBeaconP2PAttestationData - (*ServerMeta_AdditionalLibp2PTraceConnectedData)(nil), // 133: xatu.ServerMeta.AdditionalLibp2PTraceConnectedData - (*ServerMeta_AdditionalLibp2PTraceDisconnectedData)(nil), // 134: xatu.ServerMeta.AdditionalLibp2PTraceDisconnectedData - (*ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData)(nil), // 135: xatu.ServerMeta.AdditionalLibP2PTraceSyntheticHeartbeatData - (*ServerMeta_AdditionalLibp2PTraceIdentifyData)(nil), // 136: xatu.ServerMeta.AdditionalLibp2PTraceIdentifyData - (*ServerMeta_AdditionalNodeRecordConsensusData)(nil), // 137: xatu.ServerMeta.AdditionalNodeRecordConsensusData - (*ServerMeta_AdditionalNodeRecordExecutionData)(nil), // 138: xatu.ServerMeta.AdditionalNodeRecordExecutionData - (*ExecutionBlockMetrics_StateReads)(nil), // 139: xatu.ExecutionBlockMetrics.StateReads - (*ExecutionBlockMetrics_StateWrites)(nil), // 140: xatu.ExecutionBlockMetrics.StateWrites - (*ExecutionBlockMetrics_CacheEntry)(nil), // 141: xatu.ExecutionBlockMetrics.CacheEntry - (*ExecutionBlockMetrics_CodeCacheEntry)(nil), // 142: xatu.ExecutionBlockMetrics.CodeCacheEntry - (*wrapperspb.UInt64Value)(nil), // 143: google.protobuf.UInt64Value - (*timestamppb.Timestamp)(nil), // 144: google.protobuf.Timestamp - (*v1.ForkChoice)(nil), // 145: xatu.eth.v1.ForkChoice - (*v1.EventChainReorg)(nil), // 146: xatu.eth.v1.EventChainReorg - (*v1.ForkChoiceV2)(nil), // 147: xatu.eth.v1.ForkChoiceV2 - (*v1.EventChainReorgV2)(nil), // 148: xatu.eth.v1.EventChainReorgV2 - (*v1.Validator)(nil), // 149: xatu.eth.v1.Validator - (*v1.SyncCommittee)(nil), // 150: xatu.eth.v1.SyncCommittee - (*wrapperspb.UInt32Value)(nil), // 151: google.protobuf.UInt32Value - (ModuleName)(0), // 152: xatu.ModuleName - (*wrapperspb.DoubleValue)(nil), // 153: google.protobuf.DoubleValue - (*v1.Attestation)(nil), // 154: xatu.eth.v1.Attestation - (*v1.EventBlock)(nil), // 155: xatu.eth.v1.EventBlock - (*v1.EventFinalizedCheckpoint)(nil), // 156: xatu.eth.v1.EventFinalizedCheckpoint - (*v1.EventHead)(nil), // 157: xatu.eth.v1.EventHead - (*v1.EventVoluntaryExit)(nil), // 158: xatu.eth.v1.EventVoluntaryExit - (*v1.EventContributionAndProof)(nil), // 159: xatu.eth.v1.EventContributionAndProof - (*v2.EventBlock)(nil), // 160: xatu.eth.v2.EventBlock - (*v1.Committee)(nil), // 161: xatu.eth.v1.Committee - (*v1.AttestationDataV2)(nil), // 162: xatu.eth.v1.AttestationDataV2 - (*v1.AttestationV2)(nil), // 163: xatu.eth.v1.AttestationV2 - (*v1.EventBlockV2)(nil), // 164: xatu.eth.v1.EventBlockV2 - (*v1.EventFinalizedCheckpointV2)(nil), // 165: xatu.eth.v1.EventFinalizedCheckpointV2 - (*v1.EventHeadV2)(nil), // 166: xatu.eth.v1.EventHeadV2 - (*v1.EventVoluntaryExitV2)(nil), // 167: xatu.eth.v1.EventVoluntaryExitV2 - (*v1.EventContributionAndProofV2)(nil), // 168: xatu.eth.v1.EventContributionAndProofV2 - (*v2.EventBlockV2)(nil), // 169: xatu.eth.v2.EventBlockV2 - (*v1.AttesterSlashingV2)(nil), // 170: xatu.eth.v1.AttesterSlashingV2 - (*v1.ProposerSlashingV2)(nil), // 171: xatu.eth.v1.ProposerSlashingV2 - (*v1.SignedVoluntaryExitV2)(nil), // 172: xatu.eth.v1.SignedVoluntaryExitV2 - (*v1.DepositV2)(nil), // 173: xatu.eth.v1.DepositV2 - (*v2.SignedBLSToExecutionChangeV2)(nil), // 174: xatu.eth.v2.SignedBLSToExecutionChangeV2 - (*v1.Transaction)(nil), // 175: xatu.eth.v1.Transaction - (*v1.WithdrawalV2)(nil), // 176: xatu.eth.v1.WithdrawalV2 - (*v1.EventBlobSidecar)(nil), // 177: xatu.eth.v1.EventBlobSidecar - (*v1.BlobSidecar)(nil), // 178: xatu.eth.v1.BlobSidecar - (*v1.ProposerDuty)(nil), // 179: xatu.eth.v1.ProposerDuty - (*v1.ElaboratedAttestation)(nil), // 180: xatu.eth.v1.ElaboratedAttestation - (*libp2p.AddPeer)(nil), // 181: xatu.libp2p.AddPeer - (*libp2p.RemovePeer)(nil), // 182: xatu.libp2p.RemovePeer - (*libp2p.RecvRPC)(nil), // 183: xatu.libp2p.RecvRPC - (*libp2p.SendRPC)(nil), // 184: xatu.libp2p.SendRPC - (*libp2p.Join)(nil), // 185: xatu.libp2p.Join - (*libp2p.Connected)(nil), // 186: xatu.libp2p.Connected - (*libp2p.Disconnected)(nil), // 187: xatu.libp2p.Disconnected - (*libp2p.HandleMetadata)(nil), // 188: xatu.libp2p.HandleMetadata - (*libp2p.HandleStatus)(nil), // 189: xatu.libp2p.HandleStatus - (*gossipsub.BeaconBlock)(nil), // 190: xatu.libp2p.gossipsub.eth.BeaconBlock - (*gossipsub.BlobSidecar)(nil), // 191: xatu.libp2p.gossipsub.eth.BlobSidecar - (*mevrelay.BidTrace)(nil), // 192: xatu.mevrelay.BidTrace - (*mevrelay.ProposerPayloadDelivered)(nil), // 193: xatu.mevrelay.ProposerPayloadDelivered - (*mevrelay.ValidatorRegistration)(nil), // 194: xatu.mevrelay.ValidatorRegistration - (*v1.EventBlockGossip)(nil), // 195: xatu.eth.v1.EventBlockGossip - (*libp2p.DropRPC)(nil), // 196: xatu.libp2p.DropRPC - (*libp2p.Leave)(nil), // 197: xatu.libp2p.Leave - (*libp2p.Graft)(nil), // 198: xatu.libp2p.Graft - (*libp2p.Prune)(nil), // 199: xatu.libp2p.Prune - (*libp2p.DuplicateMessage)(nil), // 200: xatu.libp2p.DuplicateMessage - (*libp2p.DeliverMessage)(nil), // 201: xatu.libp2p.DeliverMessage - (*libp2p.PublishMessage)(nil), // 202: xatu.libp2p.PublishMessage - (*libp2p.RejectMessage)(nil), // 203: xatu.libp2p.RejectMessage - (*libp2p.ControlIHaveMetaItem)(nil), // 204: xatu.libp2p.ControlIHaveMetaItem - (*libp2p.ControlIWantMetaItem)(nil), // 205: xatu.libp2p.ControlIWantMetaItem - (*libp2p.ControlIDontWantMetaItem)(nil), // 206: xatu.libp2p.ControlIDontWantMetaItem - (*libp2p.ControlGraftMetaItem)(nil), // 207: xatu.libp2p.ControlGraftMetaItem - (*libp2p.ControlPruneMetaItem)(nil), // 208: xatu.libp2p.ControlPruneMetaItem - (*libp2p.SubMetaItem)(nil), // 209: xatu.libp2p.SubMetaItem - (*libp2p.MessageMetaItem)(nil), // 210: xatu.libp2p.MessageMetaItem - (*noderecord.Consensus)(nil), // 211: xatu.noderecord.Consensus - (*noderecord.Execution)(nil), // 212: xatu.noderecord.Execution - (*v1.SignedAggregateAttestationAndProofV2)(nil), // 213: xatu.eth.v1.SignedAggregateAttestationAndProofV2 - (*v1.EventDataColumnSidecar)(nil), // 214: xatu.eth.v1.EventDataColumnSidecar - (*gossipsub.DataColumnSidecar)(nil), // 215: xatu.libp2p.gossipsub.eth.DataColumnSidecar - (*libp2p.SyntheticHeartbeat)(nil), // 216: xatu.libp2p.SyntheticHeartbeat - (*libp2p.Identify)(nil), // 217: xatu.libp2p.Identify - (*libp2p.DataColumnCustodyProbe)(nil), // 218: xatu.libp2p.DataColumnCustodyProbe - (*v1.Blob)(nil), // 219: xatu.eth.v1.Blob - (*v1.EventFastConfirmation)(nil), // 220: xatu.eth.v1.EventFastConfirmation - (*libp2p.Peer)(nil), // 221: xatu.libp2p.Peer - (*wrapperspb.BoolValue)(nil), // 222: google.protobuf.BoolValue - (*libp2p.TraceEventMetadata)(nil), // 223: xatu.libp2p.TraceEventMetadata - (*wrapperspb.StringValue)(nil), // 224: google.protobuf.StringValue - (*mevrelay.Relay)(nil), // 225: xatu.mevrelay.Relay - (*wrapperspb.Int64Value)(nil), // 226: google.protobuf.Int64Value + (*ClientMeta_AdditionalEthV1AttestationSourceData)(nil), // 32: xatu.ClientMeta.AdditionalEthV1AttestationSourceData + (*ClientMeta_AdditionalEthV1AttestationSourceV2Data)(nil), // 33: xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + (*ClientMeta_AdditionalEthV1AttestationTargetData)(nil), // 34: xatu.ClientMeta.AdditionalEthV1AttestationTargetData + (*ClientMeta_AdditionalEthV1AttestationTargetV2Data)(nil), // 35: xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + (*ClientMeta_AdditionalEthV1EventsAttestationData)(nil), // 36: xatu.ClientMeta.AdditionalEthV1EventsAttestationData + (*ClientMeta_AdditionalEthV1EventsAttestationV2Data)(nil), // 37: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data + (*ClientMeta_AdditionalEthV1EventsHeadData)(nil), // 38: xatu.ClientMeta.AdditionalEthV1EventsHeadData + (*ClientMeta_AdditionalEthV1EventsHeadV2Data)(nil), // 39: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data + (*ClientMeta_AdditionalEthV1EventsBlockData)(nil), // 40: xatu.ClientMeta.AdditionalEthV1EventsBlockData + (*ClientMeta_AdditionalEthV1EventsBlockV2Data)(nil), // 41: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data + (*ClientMeta_AdditionalEthV1EventsBlockGossipData)(nil), // 42: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData + (*ClientMeta_AdditionalEthV1EventsFastConfirmationData)(nil), // 43: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData + (*ClientMeta_AdditionalEthV1EventsVoluntaryExitData)(nil), // 44: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData + (*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data)(nil), // 45: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data + (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData)(nil), // 46: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData + (*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data)(nil), // 47: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointV2Data + (*ClientMeta_AdditionalEthV1EventsChainReorgData)(nil), // 48: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData + (*ClientMeta_AdditionalEthV1EventsChainReorgV2Data)(nil), // 49: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data + (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData)(nil), // 50: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData + (*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data)(nil), // 51: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data + (*ClientMeta_AdditionalEthV1EventsContributionAndProofData)(nil), // 52: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData + (*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data)(nil), // 53: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofV2Data + (*ClientMeta_ForkChoiceSnapshot)(nil), // 54: xatu.ClientMeta.ForkChoiceSnapshot + (*ClientMeta_ForkChoiceSnapshotV2)(nil), // 55: xatu.ClientMeta.ForkChoiceSnapshotV2 + (*ClientMeta_AdditionalEthV1DebugForkChoiceData)(nil), // 56: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData + (*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data)(nil), // 57: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceV2Data + (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData)(nil), // 58: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData + (*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data)(nil), // 59: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data + (*ClientMeta_AdditionalEthV1BeaconCommitteeData)(nil), // 60: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData + (*ClientMeta_AdditionalEthV1BeaconSyncCommitteeData)(nil), // 61: xatu.ClientMeta.AdditionalEthV1BeaconSyncCommitteeData + (*ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData)(nil), // 62: xatu.ClientMeta.AdditionalEthV2BeaconBlockSyncAggregateData + (*ClientMeta_AdditionalMempoolTransactionData)(nil), // 63: xatu.ClientMeta.AdditionalMempoolTransactionData + (*ClientMeta_AdditionalMempoolTransactionV2Data)(nil), // 64: xatu.ClientMeta.AdditionalMempoolTransactionV2Data + (*ClientMeta_AdditionalEthV2BeaconBlockData)(nil), // 65: xatu.ClientMeta.AdditionalEthV2BeaconBlockData + (*ClientMeta_AdditionalEthV2BeaconBlockV2Data)(nil), // 66: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data + (*ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData)(nil), // 67: xatu.ClientMeta.AdditionalEthV2BeaconBlockAttesterSlashingData + (*ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData)(nil), // 68: xatu.ClientMeta.AdditionalEthV2BeaconBlockProposerSlashingData + (*ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData)(nil), // 69: xatu.ClientMeta.AdditionalEthV2BeaconBlockVoluntaryExitData + (*ClientMeta_AdditionalEthV2BeaconBlockDepositData)(nil), // 70: xatu.ClientMeta.AdditionalEthV2BeaconBlockDepositData + (*ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData)(nil), // 71: xatu.ClientMeta.AdditionalEthV2BeaconBlockBLSToExecutionChangeData + (*ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData)(nil), // 72: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionTransactionData + (*ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData)(nil), // 73: xatu.ClientMeta.AdditionalEthV2BeaconBlockWithdrawalData + (*ClientMeta_AdditionalEthV2BeaconBlockAccessListData)(nil), // 74: xatu.ClientMeta.AdditionalEthV2BeaconBlockAccessListData + (*ClientMeta_AdditionalEthV1EventsExecutionPayloadData)(nil), // 75: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadData + (*ClientMeta_AdditionalEthV1EventsPayloadAttestationData)(nil), // 76: xatu.ClientMeta.AdditionalEthV1EventsPayloadAttestationData + (*ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData)(nil), // 77: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadBidData + (*ClientMeta_AdditionalEthV1EventsProposerPreferencesData)(nil), // 78: xatu.ClientMeta.AdditionalEthV1EventsProposerPreferencesData + (*ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData)(nil), // 79: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadGossipData + (*ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData)(nil), // 80: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadAvailableData + (*ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData)(nil), // 81: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadStatusResolvedData + (*ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData)(nil), // 82: xatu.ClientMeta.AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData + (*ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData)(nil), // 83: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadAttestationProcessedData + (*ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData)(nil), // 84: xatu.ClientMeta.AdditionalEthV2BeaconBlockPayloadAttestationData + (*ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData)(nil), // 85: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionPayloadBidData + (*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData)(nil), // 86: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData + (*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData)(nil), // 87: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData + (*ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData)(nil), // 88: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData + (*ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData)(nil), // 89: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData + (*ClientMeta_AttestationDataSnapshot)(nil), // 90: xatu.ClientMeta.AttestationDataSnapshot + (*ClientMeta_AdditionalEthV1ValidatorAttestationDataData)(nil), // 91: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData + (*ClientMeta_AdditionalEthV1EventsBlobSidecarData)(nil), // 92: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData + (*ClientMeta_AdditionalEthV1EventsDataColumnSidecarData)(nil), // 93: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData + (*ClientMeta_AdditionalEthV1BeaconBlobSidecarData)(nil), // 94: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData + (*ClientMeta_AdditionalBeaconP2PAttestationData)(nil), // 95: xatu.ClientMeta.AdditionalBeaconP2PAttestationData + (*ClientMeta_AdditionalEthV1ProposerDutyData)(nil), // 96: xatu.ClientMeta.AdditionalEthV1ProposerDutyData + (*ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData)(nil), // 97: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData + (*ClientMeta_AdditionalLibP2PTraceAddPeerData)(nil), // 98: xatu.ClientMeta.AdditionalLibP2PTraceAddPeerData + (*ClientMeta_AdditionalLibP2PTraceRemovePeerData)(nil), // 99: xatu.ClientMeta.AdditionalLibP2PTraceRemovePeerData + (*ClientMeta_AdditionalLibP2PTraceRecvRPCData)(nil), // 100: xatu.ClientMeta.AdditionalLibP2PTraceRecvRPCData + (*ClientMeta_AdditionalLibP2PTraceSendRPCData)(nil), // 101: xatu.ClientMeta.AdditionalLibP2PTraceSendRPCData + (*ClientMeta_AdditionalLibP2PTraceDropRPCData)(nil), // 102: xatu.ClientMeta.AdditionalLibP2PTraceDropRPCData + (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData)(nil), // 103: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIHaveData + (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData)(nil), // 104: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIWantData + (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData)(nil), // 105: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIDontWantData + (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData)(nil), // 106: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlGraftData + (*ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData)(nil), // 107: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlPruneData + (*ClientMeta_AdditionalLibP2PTraceJoinData)(nil), // 108: xatu.ClientMeta.AdditionalLibP2PTraceJoinData + (*ClientMeta_AdditionalLibP2PTraceLeaveData)(nil), // 109: xatu.ClientMeta.AdditionalLibP2PTraceLeaveData + (*ClientMeta_AdditionalLibP2PTraceGraftData)(nil), // 110: xatu.ClientMeta.AdditionalLibP2PTraceGraftData + (*ClientMeta_AdditionalLibP2PTracePruneData)(nil), // 111: xatu.ClientMeta.AdditionalLibP2PTracePruneData + (*ClientMeta_AdditionalLibP2PTraceDuplicateMessageData)(nil), // 112: xatu.ClientMeta.AdditionalLibP2PTraceDuplicateMessageData + (*ClientMeta_AdditionalLibP2PTraceDeliverMessageData)(nil), // 113: xatu.ClientMeta.AdditionalLibP2PTraceDeliverMessageData + (*ClientMeta_AdditionalLibP2PTracePublishMessageData)(nil), // 114: xatu.ClientMeta.AdditionalLibP2PTracePublishMessageData + (*ClientMeta_AdditionalLibP2PTraceRejectMessageData)(nil), // 115: xatu.ClientMeta.AdditionalLibP2PTraceRejectMessageData + (*ClientMeta_AdditionalLibP2PTraceConnectedData)(nil), // 116: xatu.ClientMeta.AdditionalLibP2PTraceConnectedData + (*ClientMeta_AdditionalLibP2PTraceDisconnectedData)(nil), // 117: xatu.ClientMeta.AdditionalLibP2PTraceDisconnectedData + (*ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData)(nil), // 118: xatu.ClientMeta.AdditionalLibP2PTraceSyntheticHeartbeatData + (*ClientMeta_AdditionalLibP2PTraceHandleMetadataData)(nil), // 119: xatu.ClientMeta.AdditionalLibP2PTraceHandleMetadataData + (*ClientMeta_AdditionalLibP2PTraceHandleStatusData)(nil), // 120: xatu.ClientMeta.AdditionalLibP2PTraceHandleStatusData + (*ClientMeta_AdditionalLibP2PTraceIdentifyData)(nil), // 121: xatu.ClientMeta.AdditionalLibP2PTraceIdentifyData + (*ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData)(nil), // 122: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData + (*ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData)(nil), // 123: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaSubscriptionData + (*ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData)(nil), // 124: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaMessageData + (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData)(nil), // 125: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData + (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData)(nil), // 126: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData + (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData)(nil), // 127: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData + (*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData)(nil), // 128: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData + (*ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData)(nil), // 129: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData + (*ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData)(nil), // 130: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData + (*ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData)(nil), // 131: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData + (*ClientMeta_AdditionalEthV1ValidatorsData)(nil), // 132: xatu.ClientMeta.AdditionalEthV1ValidatorsData + (*ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData)(nil), // 133: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData + (*ClientMeta_AdditionalMevRelayPayloadDeliveredData)(nil), // 134: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData + (*ClientMeta_AdditionalEthV3ValidatorBlockData)(nil), // 135: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData + (*ClientMeta_AdditionalMevRelayValidatorRegistrationData)(nil), // 136: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData + (*ClientMeta_AdditionalNodeRecordConsensusData)(nil), // 137: xatu.ClientMeta.AdditionalNodeRecordConsensusData + (*ClientMeta_AdditionalConsensusEngineAPINewPayloadData)(nil), // 138: xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData + (*ClientMeta_AdditionalConsensusEngineAPIGetBlobsData)(nil), // 139: xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData + (*ClientMeta_AdditionalEthV1BeaconBlobData)(nil), // 140: xatu.ClientMeta.AdditionalEthV1BeaconBlobData + (*ClientMeta_Ethereum_Network)(nil), // 141: xatu.ClientMeta.Ethereum.Network + (*ClientMeta_Ethereum_Execution)(nil), // 142: xatu.ClientMeta.Ethereum.Execution + (*ClientMeta_Ethereum_Consensus)(nil), // 143: xatu.ClientMeta.Ethereum.Consensus + (*ServerMeta_Event)(nil), // 144: xatu.ServerMeta.Event + (*ServerMeta_Geo)(nil), // 145: xatu.ServerMeta.Geo + (*ServerMeta_Client)(nil), // 146: xatu.ServerMeta.Client + (*ServerMeta_Peer)(nil), // 147: xatu.ServerMeta.Peer + (*ServerMeta_AdditionalBeaconP2PAttestationData)(nil), // 148: xatu.ServerMeta.AdditionalBeaconP2PAttestationData + (*ServerMeta_AdditionalLibp2PTraceConnectedData)(nil), // 149: xatu.ServerMeta.AdditionalLibp2PTraceConnectedData + (*ServerMeta_AdditionalLibp2PTraceDisconnectedData)(nil), // 150: xatu.ServerMeta.AdditionalLibp2PTraceDisconnectedData + (*ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData)(nil), // 151: xatu.ServerMeta.AdditionalLibP2PTraceSyntheticHeartbeatData + (*ServerMeta_AdditionalLibp2PTraceIdentifyData)(nil), // 152: xatu.ServerMeta.AdditionalLibp2PTraceIdentifyData + (*ServerMeta_AdditionalNodeRecordConsensusData)(nil), // 153: xatu.ServerMeta.AdditionalNodeRecordConsensusData + (*ServerMeta_AdditionalNodeRecordExecutionData)(nil), // 154: xatu.ServerMeta.AdditionalNodeRecordExecutionData + (*ExecutionBlockMetrics_StateReads)(nil), // 155: xatu.ExecutionBlockMetrics.StateReads + (*ExecutionBlockMetrics_StateWrites)(nil), // 156: xatu.ExecutionBlockMetrics.StateWrites + (*ExecutionBlockMetrics_CacheEntry)(nil), // 157: xatu.ExecutionBlockMetrics.CacheEntry + (*ExecutionBlockMetrics_CodeCacheEntry)(nil), // 158: xatu.ExecutionBlockMetrics.CodeCacheEntry + (*wrapperspb.UInt64Value)(nil), // 159: google.protobuf.UInt64Value + (*timestamppb.Timestamp)(nil), // 160: google.protobuf.Timestamp + (*v1.ForkChoice)(nil), // 161: xatu.eth.v1.ForkChoice + (*v1.EventChainReorg)(nil), // 162: xatu.eth.v1.EventChainReorg + (*v1.ForkChoiceV2)(nil), // 163: xatu.eth.v1.ForkChoiceV2 + (*v1.EventChainReorgV2)(nil), // 164: xatu.eth.v1.EventChainReorgV2 + (*v1.Validator)(nil), // 165: xatu.eth.v1.Validator + (*v1.SyncCommittee)(nil), // 166: xatu.eth.v1.SyncCommittee + (*wrapperspb.UInt32Value)(nil), // 167: google.protobuf.UInt32Value + (ModuleName)(0), // 168: xatu.ModuleName + (*wrapperspb.DoubleValue)(nil), // 169: google.protobuf.DoubleValue + (*v1.Attestation)(nil), // 170: xatu.eth.v1.Attestation + (*v1.EventBlock)(nil), // 171: xatu.eth.v1.EventBlock + (*v1.EventFinalizedCheckpoint)(nil), // 172: xatu.eth.v1.EventFinalizedCheckpoint + (*v1.EventHead)(nil), // 173: xatu.eth.v1.EventHead + (*v1.EventVoluntaryExit)(nil), // 174: xatu.eth.v1.EventVoluntaryExit + (*v1.EventContributionAndProof)(nil), // 175: xatu.eth.v1.EventContributionAndProof + (*v2.EventBlock)(nil), // 176: xatu.eth.v2.EventBlock + (*v1.Committee)(nil), // 177: xatu.eth.v1.Committee + (*v1.AttestationDataV2)(nil), // 178: xatu.eth.v1.AttestationDataV2 + (*v1.AttestationV2)(nil), // 179: xatu.eth.v1.AttestationV2 + (*v1.EventBlockV2)(nil), // 180: xatu.eth.v1.EventBlockV2 + (*v1.EventFinalizedCheckpointV2)(nil), // 181: xatu.eth.v1.EventFinalizedCheckpointV2 + (*v1.EventHeadV2)(nil), // 182: xatu.eth.v1.EventHeadV2 + (*v1.EventVoluntaryExitV2)(nil), // 183: xatu.eth.v1.EventVoluntaryExitV2 + (*v1.EventContributionAndProofV2)(nil), // 184: xatu.eth.v1.EventContributionAndProofV2 + (*v2.EventBlockV2)(nil), // 185: xatu.eth.v2.EventBlockV2 + (*v1.AttesterSlashingV2)(nil), // 186: xatu.eth.v1.AttesterSlashingV2 + (*v1.ProposerSlashingV2)(nil), // 187: xatu.eth.v1.ProposerSlashingV2 + (*v1.SignedVoluntaryExitV2)(nil), // 188: xatu.eth.v1.SignedVoluntaryExitV2 + (*v1.DepositV2)(nil), // 189: xatu.eth.v1.DepositV2 + (*v2.SignedBLSToExecutionChangeV2)(nil), // 190: xatu.eth.v2.SignedBLSToExecutionChangeV2 + (*v1.Transaction)(nil), // 191: xatu.eth.v1.Transaction + (*v1.WithdrawalV2)(nil), // 192: xatu.eth.v1.WithdrawalV2 + (*v1.EventBlobSidecar)(nil), // 193: xatu.eth.v1.EventBlobSidecar + (*v1.BlobSidecar)(nil), // 194: xatu.eth.v1.BlobSidecar + (*v1.ProposerDuty)(nil), // 195: xatu.eth.v1.ProposerDuty + (*v1.ElaboratedAttestation)(nil), // 196: xatu.eth.v1.ElaboratedAttestation + (*libp2p.AddPeer)(nil), // 197: xatu.libp2p.AddPeer + (*libp2p.RemovePeer)(nil), // 198: xatu.libp2p.RemovePeer + (*libp2p.RecvRPC)(nil), // 199: xatu.libp2p.RecvRPC + (*libp2p.SendRPC)(nil), // 200: xatu.libp2p.SendRPC + (*libp2p.Join)(nil), // 201: xatu.libp2p.Join + (*libp2p.Connected)(nil), // 202: xatu.libp2p.Connected + (*libp2p.Disconnected)(nil), // 203: xatu.libp2p.Disconnected + (*libp2p.HandleMetadata)(nil), // 204: xatu.libp2p.HandleMetadata + (*libp2p.HandleStatus)(nil), // 205: xatu.libp2p.HandleStatus + (*gossipsub.BeaconBlock)(nil), // 206: xatu.libp2p.gossipsub.eth.BeaconBlock + (*gossipsub.BlobSidecar)(nil), // 207: xatu.libp2p.gossipsub.eth.BlobSidecar + (*mevrelay.BidTrace)(nil), // 208: xatu.mevrelay.BidTrace + (*mevrelay.ProposerPayloadDelivered)(nil), // 209: xatu.mevrelay.ProposerPayloadDelivered + (*mevrelay.ValidatorRegistration)(nil), // 210: xatu.mevrelay.ValidatorRegistration + (*v1.EventBlockGossip)(nil), // 211: xatu.eth.v1.EventBlockGossip + (*libp2p.DropRPC)(nil), // 212: xatu.libp2p.DropRPC + (*libp2p.Leave)(nil), // 213: xatu.libp2p.Leave + (*libp2p.Graft)(nil), // 214: xatu.libp2p.Graft + (*libp2p.Prune)(nil), // 215: xatu.libp2p.Prune + (*libp2p.DuplicateMessage)(nil), // 216: xatu.libp2p.DuplicateMessage + (*libp2p.DeliverMessage)(nil), // 217: xatu.libp2p.DeliverMessage + (*libp2p.PublishMessage)(nil), // 218: xatu.libp2p.PublishMessage + (*libp2p.RejectMessage)(nil), // 219: xatu.libp2p.RejectMessage + (*libp2p.ControlIHaveMetaItem)(nil), // 220: xatu.libp2p.ControlIHaveMetaItem + (*libp2p.ControlIWantMetaItem)(nil), // 221: xatu.libp2p.ControlIWantMetaItem + (*libp2p.ControlIDontWantMetaItem)(nil), // 222: xatu.libp2p.ControlIDontWantMetaItem + (*libp2p.ControlGraftMetaItem)(nil), // 223: xatu.libp2p.ControlGraftMetaItem + (*libp2p.ControlPruneMetaItem)(nil), // 224: xatu.libp2p.ControlPruneMetaItem + (*libp2p.SubMetaItem)(nil), // 225: xatu.libp2p.SubMetaItem + (*libp2p.MessageMetaItem)(nil), // 226: xatu.libp2p.MessageMetaItem + (*noderecord.Consensus)(nil), // 227: xatu.noderecord.Consensus + (*noderecord.Execution)(nil), // 228: xatu.noderecord.Execution + (*v1.SignedAggregateAttestationAndProofV2)(nil), // 229: xatu.eth.v1.SignedAggregateAttestationAndProofV2 + (*v1.EventDataColumnSidecar)(nil), // 230: xatu.eth.v1.EventDataColumnSidecar + (*gossipsub.DataColumnSidecar)(nil), // 231: xatu.libp2p.gossipsub.eth.DataColumnSidecar + (*libp2p.SyntheticHeartbeat)(nil), // 232: xatu.libp2p.SyntheticHeartbeat + (*libp2p.Identify)(nil), // 233: xatu.libp2p.Identify + (*libp2p.DataColumnCustodyProbe)(nil), // 234: xatu.libp2p.DataColumnCustodyProbe + (*v1.Blob)(nil), // 235: xatu.eth.v1.Blob + (*v1.EventFastConfirmation)(nil), // 236: xatu.eth.v1.EventFastConfirmation + (*v1.BlockAccessListChange)(nil), // 237: xatu.eth.v1.BlockAccessListChange + (*v1.SignedExecutionPayloadEnvelope)(nil), // 238: xatu.eth.v1.SignedExecutionPayloadEnvelope + (*v1.PayloadAttestationMessage)(nil), // 239: xatu.eth.v1.PayloadAttestationMessage + (*v1.SignedExecutionPayloadBid)(nil), // 240: xatu.eth.v1.SignedExecutionPayloadBid + (*v1.SignedProposerPreferences)(nil), // 241: xatu.eth.v1.SignedProposerPreferences + (*v1.PayloadAttestation)(nil), // 242: xatu.eth.v1.PayloadAttestation + (*gossipsub.ExecutionPayloadEnvelope)(nil), // 243: xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope + (*gossipsub.ExecutionPayloadBid)(nil), // 244: xatu.libp2p.gossipsub.eth.ExecutionPayloadBid + (*gossipsub.PayloadAttestationMessage)(nil), // 245: xatu.libp2p.gossipsub.eth.PayloadAttestationMessage + (*gossipsub.ProposerPreferences)(nil), // 246: xatu.libp2p.gossipsub.eth.ProposerPreferences + (*v1.ExecutionPayloadAvailable)(nil), // 247: xatu.eth.v1.ExecutionPayloadAvailable + (*v1.PayloadStatusResolved)(nil), // 248: xatu.eth.v1.PayloadStatusResolved + (*v1.BuilderPendingPaymentSettlement)(nil), // 249: xatu.eth.v1.BuilderPendingPaymentSettlement + (*v1.PayloadAttestationProcessed)(nil), // 250: xatu.eth.v1.PayloadAttestationProcessed + (*libp2p.TraceEventMetadata)(nil), // 251: xatu.libp2p.TraceEventMetadata + (*wrapperspb.StringValue)(nil), // 252: google.protobuf.StringValue + (*libp2p.Peer)(nil), // 253: xatu.libp2p.Peer + (*wrapperspb.BoolValue)(nil), // 254: google.protobuf.BoolValue + (*mevrelay.Relay)(nil), // 255: xatu.mevrelay.Relay + (*wrapperspb.Int64Value)(nil), // 256: google.protobuf.Int64Value } var file_pkg_proto_xatu_event_ingester_proto_depIdxs = []int32{ 29, // 0: xatu.CreateEventsRequest.events:type_name -> xatu.DecoratedEvent - 143, // 1: xatu.CreateEventsResponse.events_ingested:type_name -> google.protobuf.UInt64Value - 144, // 2: xatu.Epoch.start_date_time:type_name -> google.protobuf.Timestamp - 143, // 3: xatu.EpochV2.number:type_name -> google.protobuf.UInt64Value - 144, // 4: xatu.EpochV2.start_date_time:type_name -> google.protobuf.Timestamp - 144, // 5: xatu.Slot.start_date_time:type_name -> google.protobuf.Timestamp - 143, // 6: xatu.SlotV2.number:type_name -> google.protobuf.UInt64Value - 144, // 7: xatu.SlotV2.start_date_time:type_name -> google.protobuf.Timestamp - 143, // 8: xatu.PropagationV2.slot_start_diff:type_name -> google.protobuf.UInt64Value - 143, // 9: xatu.AttestingValidatorV2.committee_index:type_name -> google.protobuf.UInt64Value - 143, // 10: xatu.AttestingValidatorV2.index:type_name -> google.protobuf.UInt64Value - 145, // 11: xatu.DebugForkChoiceReorg.before:type_name -> xatu.eth.v1.ForkChoice - 145, // 12: xatu.DebugForkChoiceReorg.after:type_name -> xatu.eth.v1.ForkChoice - 146, // 13: xatu.DebugForkChoiceReorg.event:type_name -> xatu.eth.v1.EventChainReorg - 147, // 14: xatu.DebugForkChoiceReorgV2.before:type_name -> xatu.eth.v1.ForkChoiceV2 - 147, // 15: xatu.DebugForkChoiceReorgV2.after:type_name -> xatu.eth.v1.ForkChoiceV2 - 148, // 16: xatu.DebugForkChoiceReorgV2.event:type_name -> xatu.eth.v1.EventChainReorgV2 - 149, // 17: xatu.Validators.validators:type_name -> xatu.eth.v1.Validator - 150, // 18: xatu.SyncCommitteeData.sync_committee:type_name -> xatu.eth.v1.SyncCommittee - 143, // 19: xatu.SyncAggregateData.validators_participated:type_name -> google.protobuf.UInt64Value - 143, // 20: xatu.SyncAggregateData.validators_missed:type_name -> google.protobuf.UInt64Value - 143, // 21: xatu.SyncAggregateData.participation_count:type_name -> google.protobuf.UInt64Value + 159, // 1: xatu.CreateEventsResponse.events_ingested:type_name -> google.protobuf.UInt64Value + 160, // 2: xatu.Epoch.start_date_time:type_name -> google.protobuf.Timestamp + 159, // 3: xatu.EpochV2.number:type_name -> google.protobuf.UInt64Value + 160, // 4: xatu.EpochV2.start_date_time:type_name -> google.protobuf.Timestamp + 160, // 5: xatu.Slot.start_date_time:type_name -> google.protobuf.Timestamp + 159, // 6: xatu.SlotV2.number:type_name -> google.protobuf.UInt64Value + 160, // 7: xatu.SlotV2.start_date_time:type_name -> google.protobuf.Timestamp + 159, // 8: xatu.PropagationV2.slot_start_diff:type_name -> google.protobuf.UInt64Value + 159, // 9: xatu.AttestingValidatorV2.committee_index:type_name -> google.protobuf.UInt64Value + 159, // 10: xatu.AttestingValidatorV2.index:type_name -> google.protobuf.UInt64Value + 161, // 11: xatu.DebugForkChoiceReorg.before:type_name -> xatu.eth.v1.ForkChoice + 161, // 12: xatu.DebugForkChoiceReorg.after:type_name -> xatu.eth.v1.ForkChoice + 162, // 13: xatu.DebugForkChoiceReorg.event:type_name -> xatu.eth.v1.EventChainReorg + 163, // 14: xatu.DebugForkChoiceReorgV2.before:type_name -> xatu.eth.v1.ForkChoiceV2 + 163, // 15: xatu.DebugForkChoiceReorgV2.after:type_name -> xatu.eth.v1.ForkChoiceV2 + 164, // 16: xatu.DebugForkChoiceReorgV2.event:type_name -> xatu.eth.v1.EventChainReorgV2 + 165, // 17: xatu.Validators.validators:type_name -> xatu.eth.v1.Validator + 166, // 18: xatu.SyncCommitteeData.sync_committee:type_name -> xatu.eth.v1.SyncCommittee + 159, // 19: xatu.SyncAggregateData.validators_participated:type_name -> google.protobuf.UInt64Value + 159, // 20: xatu.SyncAggregateData.validators_missed:type_name -> google.protobuf.UInt64Value + 159, // 21: xatu.SyncAggregateData.participation_count:type_name -> google.protobuf.UInt64Value 5, // 22: xatu.BlockIdentifier.epoch:type_name -> xatu.EpochV2 7, // 23: xatu.BlockIdentifier.slot:type_name -> xatu.SlotV2 - 144, // 24: xatu.ConsensusEngineAPINewPayload.requested_at:type_name -> google.protobuf.Timestamp - 143, // 25: xatu.ConsensusEngineAPINewPayload.duration_ms:type_name -> google.protobuf.UInt64Value - 143, // 26: xatu.ConsensusEngineAPINewPayload.slot:type_name -> google.protobuf.UInt64Value - 143, // 27: xatu.ConsensusEngineAPINewPayload.proposer_index:type_name -> google.protobuf.UInt64Value - 143, // 28: xatu.ConsensusEngineAPINewPayload.block_number:type_name -> google.protobuf.UInt64Value - 143, // 29: xatu.ConsensusEngineAPINewPayload.gas_used:type_name -> google.protobuf.UInt64Value - 143, // 30: xatu.ConsensusEngineAPINewPayload.gas_limit:type_name -> google.protobuf.UInt64Value - 151, // 31: xatu.ConsensusEngineAPINewPayload.tx_count:type_name -> google.protobuf.UInt32Value - 151, // 32: xatu.ConsensusEngineAPINewPayload.blob_count:type_name -> google.protobuf.UInt32Value - 144, // 33: xatu.ConsensusEngineAPIGetBlobs.requested_at:type_name -> google.protobuf.Timestamp - 143, // 34: xatu.ConsensusEngineAPIGetBlobs.duration_ms:type_name -> google.protobuf.UInt64Value - 143, // 35: xatu.ConsensusEngineAPIGetBlobs.slot:type_name -> google.protobuf.UInt64Value - 151, // 36: xatu.ConsensusEngineAPIGetBlobs.requested_count:type_name -> google.protobuf.UInt32Value - 151, // 37: xatu.ConsensusEngineAPIGetBlobs.returned_count:type_name -> google.protobuf.UInt32Value + 160, // 24: xatu.ConsensusEngineAPINewPayload.requested_at:type_name -> google.protobuf.Timestamp + 159, // 25: xatu.ConsensusEngineAPINewPayload.duration_ms:type_name -> google.protobuf.UInt64Value + 159, // 26: xatu.ConsensusEngineAPINewPayload.slot:type_name -> google.protobuf.UInt64Value + 159, // 27: xatu.ConsensusEngineAPINewPayload.proposer_index:type_name -> google.protobuf.UInt64Value + 159, // 28: xatu.ConsensusEngineAPINewPayload.block_number:type_name -> google.protobuf.UInt64Value + 159, // 29: xatu.ConsensusEngineAPINewPayload.gas_used:type_name -> google.protobuf.UInt64Value + 159, // 30: xatu.ConsensusEngineAPINewPayload.gas_limit:type_name -> google.protobuf.UInt64Value + 167, // 31: xatu.ConsensusEngineAPINewPayload.tx_count:type_name -> google.protobuf.UInt32Value + 167, // 32: xatu.ConsensusEngineAPINewPayload.blob_count:type_name -> google.protobuf.UInt32Value + 160, // 33: xatu.ConsensusEngineAPIGetBlobs.requested_at:type_name -> google.protobuf.Timestamp + 159, // 34: xatu.ConsensusEngineAPIGetBlobs.duration_ms:type_name -> google.protobuf.UInt64Value + 159, // 35: xatu.ConsensusEngineAPIGetBlobs.slot:type_name -> google.protobuf.UInt64Value + 167, // 36: xatu.ConsensusEngineAPIGetBlobs.requested_count:type_name -> google.protobuf.UInt32Value + 167, // 37: xatu.ConsensusEngineAPIGetBlobs.returned_count:type_name -> google.protobuf.UInt32Value 0, // 38: xatu.ExecutionEngineNewPayload.source:type_name -> xatu.EngineSource - 144, // 39: xatu.ExecutionEngineNewPayload.requested_at:type_name -> google.protobuf.Timestamp - 143, // 40: xatu.ExecutionEngineNewPayload.duration_ms:type_name -> google.protobuf.UInt64Value - 143, // 41: xatu.ExecutionEngineNewPayload.block_number:type_name -> google.protobuf.UInt64Value - 143, // 42: xatu.ExecutionEngineNewPayload.gas_used:type_name -> google.protobuf.UInt64Value - 143, // 43: xatu.ExecutionEngineNewPayload.gas_limit:type_name -> google.protobuf.UInt64Value - 151, // 44: xatu.ExecutionEngineNewPayload.tx_count:type_name -> google.protobuf.UInt32Value - 151, // 45: xatu.ExecutionEngineNewPayload.blob_count:type_name -> google.protobuf.UInt32Value + 160, // 39: xatu.ExecutionEngineNewPayload.requested_at:type_name -> google.protobuf.Timestamp + 159, // 40: xatu.ExecutionEngineNewPayload.duration_ms:type_name -> google.protobuf.UInt64Value + 159, // 41: xatu.ExecutionEngineNewPayload.block_number:type_name -> google.protobuf.UInt64Value + 159, // 42: xatu.ExecutionEngineNewPayload.gas_used:type_name -> google.protobuf.UInt64Value + 159, // 43: xatu.ExecutionEngineNewPayload.gas_limit:type_name -> google.protobuf.UInt64Value + 167, // 44: xatu.ExecutionEngineNewPayload.tx_count:type_name -> google.protobuf.UInt32Value + 167, // 45: xatu.ExecutionEngineNewPayload.blob_count:type_name -> google.protobuf.UInt32Value 0, // 46: xatu.ExecutionEngineGetBlobs.source:type_name -> xatu.EngineSource - 144, // 47: xatu.ExecutionEngineGetBlobs.requested_at:type_name -> google.protobuf.Timestamp - 143, // 48: xatu.ExecutionEngineGetBlobs.duration_ms:type_name -> google.protobuf.UInt64Value - 151, // 49: xatu.ExecutionEngineGetBlobs.requested_count:type_name -> google.protobuf.UInt32Value - 151, // 50: xatu.ExecutionEngineGetBlobs.returned_count:type_name -> google.protobuf.UInt32Value - 151, // 51: xatu.ExecutionEngineGetBlobs.returned_blob_indexes:type_name -> google.protobuf.UInt32Value + 160, // 47: xatu.ExecutionEngineGetBlobs.requested_at:type_name -> google.protobuf.Timestamp + 159, // 48: xatu.ExecutionEngineGetBlobs.duration_ms:type_name -> google.protobuf.UInt64Value + 167, // 49: xatu.ExecutionEngineGetBlobs.requested_count:type_name -> google.protobuf.UInt32Value + 167, // 50: xatu.ExecutionEngineGetBlobs.returned_count:type_name -> google.protobuf.UInt32Value + 167, // 51: xatu.ExecutionEngineGetBlobs.returned_blob_indexes:type_name -> google.protobuf.UInt32Value 30, // 52: xatu.ClientMeta.ethereum:type_name -> xatu.ClientMeta.Ethereum 31, // 53: xatu.ClientMeta.labels:type_name -> xatu.ClientMeta.LabelsEntry 36, // 54: xatu.ClientMeta.eth_v1_events_attestation:type_name -> xatu.ClientMeta.AdditionalEthV1EventsAttestationData @@ -16687,7 +19084,7 @@ var file_pkg_proto_xatu_event_ingester_proto_depIdxs = []int32{ 56, // 63: xatu.ClientMeta.eth_v1_debug_fork_choice:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData 58, // 64: xatu.ClientMeta.eth_v1_debug_fork_choice_reorg:type_name -> xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData 60, // 65: xatu.ClientMeta.eth_v1_beacon_committee:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData - 75, // 66: xatu.ClientMeta.eth_v1_validator_attestation_data:type_name -> xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData + 91, // 66: xatu.ClientMeta.eth_v1_validator_attestation_data:type_name -> xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData 37, // 67: xatu.ClientMeta.eth_v1_events_attestation_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data 39, // 68: xatu.ClientMeta.eth_v1_events_head_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data 41, // 69: xatu.ClientMeta.eth_v1_events_block_v2:type_name -> xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data @@ -16706,464 +19103,562 @@ var file_pkg_proto_xatu_event_ingester_proto_depIdxs = []int32{ 71, // 82: xatu.ClientMeta.eth_v2_beacon_block_bls_to_execution_change:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockBLSToExecutionChangeData 72, // 83: xatu.ClientMeta.eth_v2_beacon_block_execution_transaction:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionTransactionData 73, // 84: xatu.ClientMeta.eth_v2_beacon_block_withdrawal:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockWithdrawalData - 76, // 85: xatu.ClientMeta.eth_v1_events_blob_sidecar:type_name -> xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData - 78, // 86: xatu.ClientMeta.eth_v1_beacon_blob_sidecar:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData - 79, // 87: xatu.ClientMeta.beacon_p2p_attestation:type_name -> xatu.ClientMeta.AdditionalBeaconP2PAttestationData - 80, // 88: xatu.ClientMeta.eth_v1_proposer_duty:type_name -> xatu.ClientMeta.AdditionalEthV1ProposerDutyData - 81, // 89: xatu.ClientMeta.eth_v2_beacon_block_elaborated_attestation:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData - 82, // 90: xatu.ClientMeta.libp2p_trace_add_peer:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceAddPeerData - 83, // 91: xatu.ClientMeta.libp2p_trace_remove_peer:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRemovePeerData - 84, // 92: xatu.ClientMeta.libp2p_trace_recv_rpc:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRecvRPCData - 85, // 93: xatu.ClientMeta.libp2p_trace_send_rpc:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceSendRPCData - 92, // 94: xatu.ClientMeta.libp2p_trace_join:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceJoinData - 100, // 95: xatu.ClientMeta.libp2p_trace_connected:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceConnectedData - 101, // 96: xatu.ClientMeta.libp2p_trace_disconnected:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDisconnectedData - 103, // 97: xatu.ClientMeta.libp2p_trace_handle_metadata:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceHandleMetadataData - 104, // 98: xatu.ClientMeta.libp2p_trace_handle_status:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceHandleStatusData - 109, // 99: xatu.ClientMeta.libp2p_trace_gossipsub_beacon_block:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData - 112, // 100: xatu.ClientMeta.libp2p_trace_gossipsub_beacon_attestation:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData - 114, // 101: xatu.ClientMeta.libp2p_trace_gossipsub_blob_sidecar:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData - 116, // 102: xatu.ClientMeta.eth_v1_validators:type_name -> xatu.ClientMeta.AdditionalEthV1ValidatorsData - 117, // 103: xatu.ClientMeta.mev_relay_bid_trace_builder_block_submission:type_name -> xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData - 118, // 104: xatu.ClientMeta.mev_relay_payload_delivered:type_name -> xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData - 119, // 105: xatu.ClientMeta.eth_v3_validator_block:type_name -> xatu.ClientMeta.AdditionalEthV3ValidatorBlockData - 120, // 106: xatu.ClientMeta.mev_relay_validator_registration:type_name -> xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData + 92, // 85: xatu.ClientMeta.eth_v1_events_blob_sidecar:type_name -> xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData + 94, // 86: xatu.ClientMeta.eth_v1_beacon_blob_sidecar:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData + 95, // 87: xatu.ClientMeta.beacon_p2p_attestation:type_name -> xatu.ClientMeta.AdditionalBeaconP2PAttestationData + 96, // 88: xatu.ClientMeta.eth_v1_proposer_duty:type_name -> xatu.ClientMeta.AdditionalEthV1ProposerDutyData + 97, // 89: xatu.ClientMeta.eth_v2_beacon_block_elaborated_attestation:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData + 98, // 90: xatu.ClientMeta.libp2p_trace_add_peer:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceAddPeerData + 99, // 91: xatu.ClientMeta.libp2p_trace_remove_peer:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRemovePeerData + 100, // 92: xatu.ClientMeta.libp2p_trace_recv_rpc:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRecvRPCData + 101, // 93: xatu.ClientMeta.libp2p_trace_send_rpc:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceSendRPCData + 108, // 94: xatu.ClientMeta.libp2p_trace_join:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceJoinData + 116, // 95: xatu.ClientMeta.libp2p_trace_connected:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceConnectedData + 117, // 96: xatu.ClientMeta.libp2p_trace_disconnected:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDisconnectedData + 119, // 97: xatu.ClientMeta.libp2p_trace_handle_metadata:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceHandleMetadataData + 120, // 98: xatu.ClientMeta.libp2p_trace_handle_status:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceHandleStatusData + 125, // 99: xatu.ClientMeta.libp2p_trace_gossipsub_beacon_block:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData + 128, // 100: xatu.ClientMeta.libp2p_trace_gossipsub_beacon_attestation:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData + 130, // 101: xatu.ClientMeta.libp2p_trace_gossipsub_blob_sidecar:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData + 132, // 102: xatu.ClientMeta.eth_v1_validators:type_name -> xatu.ClientMeta.AdditionalEthV1ValidatorsData + 133, // 103: xatu.ClientMeta.mev_relay_bid_trace_builder_block_submission:type_name -> xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData + 134, // 104: xatu.ClientMeta.mev_relay_payload_delivered:type_name -> xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData + 135, // 105: xatu.ClientMeta.eth_v3_validator_block:type_name -> xatu.ClientMeta.AdditionalEthV3ValidatorBlockData + 136, // 106: xatu.ClientMeta.mev_relay_validator_registration:type_name -> xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData 42, // 107: xatu.ClientMeta.eth_v1_events_block_gossip:type_name -> xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData - 86, // 108: xatu.ClientMeta.libp2p_trace_drop_rpc:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDropRPCData - 93, // 109: xatu.ClientMeta.libp2p_trace_leave:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceLeaveData - 94, // 110: xatu.ClientMeta.libp2p_trace_graft:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGraftData - 95, // 111: xatu.ClientMeta.libp2p_trace_prune:type_name -> xatu.ClientMeta.AdditionalLibP2PTracePruneData - 96, // 112: xatu.ClientMeta.libp2p_trace_duplicate_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDuplicateMessageData - 97, // 113: xatu.ClientMeta.libp2p_trace_deliver_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDeliverMessageData - 98, // 114: xatu.ClientMeta.libp2p_trace_publish_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTracePublishMessageData - 99, // 115: xatu.ClientMeta.libp2p_trace_reject_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRejectMessageData - 87, // 116: xatu.ClientMeta.libp2p_trace_rpc_meta_control_ihave:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIHaveData - 88, // 117: xatu.ClientMeta.libp2p_trace_rpc_meta_control_iwant:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIWantData - 89, // 118: xatu.ClientMeta.libp2p_trace_rpc_meta_control_idontwant:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIDontWantData - 90, // 119: xatu.ClientMeta.libp2p_trace_rpc_meta_control_graft:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlGraftData - 91, // 120: xatu.ClientMeta.libp2p_trace_rpc_meta_control_prune:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlPruneData - 107, // 121: xatu.ClientMeta.libp2p_trace_rpc_meta_subscription:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaSubscriptionData - 108, // 122: xatu.ClientMeta.libp2p_trace_rpc_meta_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaMessageData - 121, // 123: xatu.ClientMeta.node_record_consensus:type_name -> xatu.ClientMeta.AdditionalNodeRecordConsensusData - 113, // 124: xatu.ClientMeta.libp2p_trace_gossipsub_aggregate_and_proof:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData - 77, // 125: xatu.ClientMeta.eth_v1_events_data_column_sidecar:type_name -> xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData - 115, // 126: xatu.ClientMeta.libp2p_trace_gossipsub_data_column_sidecar:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData - 102, // 127: xatu.ClientMeta.libp2p_trace_synthetic_heartbeat:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceSyntheticHeartbeatData - 106, // 128: xatu.ClientMeta.libp2p_trace_rpc_data_column_custody_probe:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData - 122, // 129: xatu.ClientMeta.consensus_engine_api_new_payload:type_name -> xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData - 123, // 130: xatu.ClientMeta.consensus_engine_api_get_blobs:type_name -> xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData - 124, // 131: xatu.ClientMeta.eth_v1_beacon_blob:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconBlobData + 102, // 108: xatu.ClientMeta.libp2p_trace_drop_rpc:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDropRPCData + 109, // 109: xatu.ClientMeta.libp2p_trace_leave:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceLeaveData + 110, // 110: xatu.ClientMeta.libp2p_trace_graft:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGraftData + 111, // 111: xatu.ClientMeta.libp2p_trace_prune:type_name -> xatu.ClientMeta.AdditionalLibP2PTracePruneData + 112, // 112: xatu.ClientMeta.libp2p_trace_duplicate_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDuplicateMessageData + 113, // 113: xatu.ClientMeta.libp2p_trace_deliver_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceDeliverMessageData + 114, // 114: xatu.ClientMeta.libp2p_trace_publish_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTracePublishMessageData + 115, // 115: xatu.ClientMeta.libp2p_trace_reject_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRejectMessageData + 103, // 116: xatu.ClientMeta.libp2p_trace_rpc_meta_control_ihave:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIHaveData + 104, // 117: xatu.ClientMeta.libp2p_trace_rpc_meta_control_iwant:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIWantData + 105, // 118: xatu.ClientMeta.libp2p_trace_rpc_meta_control_idontwant:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIDontWantData + 106, // 119: xatu.ClientMeta.libp2p_trace_rpc_meta_control_graft:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlGraftData + 107, // 120: xatu.ClientMeta.libp2p_trace_rpc_meta_control_prune:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlPruneData + 123, // 121: xatu.ClientMeta.libp2p_trace_rpc_meta_subscription:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaSubscriptionData + 124, // 122: xatu.ClientMeta.libp2p_trace_rpc_meta_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaMessageData + 137, // 123: xatu.ClientMeta.node_record_consensus:type_name -> xatu.ClientMeta.AdditionalNodeRecordConsensusData + 129, // 124: xatu.ClientMeta.libp2p_trace_gossipsub_aggregate_and_proof:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData + 93, // 125: xatu.ClientMeta.eth_v1_events_data_column_sidecar:type_name -> xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData + 131, // 126: xatu.ClientMeta.libp2p_trace_gossipsub_data_column_sidecar:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData + 118, // 127: xatu.ClientMeta.libp2p_trace_synthetic_heartbeat:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceSyntheticHeartbeatData + 122, // 128: xatu.ClientMeta.libp2p_trace_rpc_data_column_custody_probe:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData + 138, // 129: xatu.ClientMeta.consensus_engine_api_new_payload:type_name -> xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData + 139, // 130: xatu.ClientMeta.consensus_engine_api_get_blobs:type_name -> xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData + 140, // 131: xatu.ClientMeta.eth_v1_beacon_blob:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconBlobData 61, // 132: xatu.ClientMeta.eth_v1_beacon_sync_committee:type_name -> xatu.ClientMeta.AdditionalEthV1BeaconSyncCommitteeData 62, // 133: xatu.ClientMeta.eth_v2_beacon_block_sync_aggregate:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockSyncAggregateData - 105, // 134: xatu.ClientMeta.libp2p_trace_identify:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceIdentifyData + 121, // 134: xatu.ClientMeta.libp2p_trace_identify:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceIdentifyData 43, // 135: xatu.ClientMeta.eth_v1_events_fast_confirmation:type_name -> xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData - 152, // 136: xatu.ClientMeta.module_name:type_name -> xatu.ModuleName - 128, // 137: xatu.ServerMeta.event:type_name -> xatu.ServerMeta.Event - 130, // 138: xatu.ServerMeta.client:type_name -> xatu.ServerMeta.Client - 132, // 139: xatu.ServerMeta.BEACON_P2P_ATTESTATION:type_name -> xatu.ServerMeta.AdditionalBeaconP2PAttestationData - 133, // 140: xatu.ServerMeta.LIBP2P_TRACE_CONNECTED:type_name -> xatu.ServerMeta.AdditionalLibp2PTraceConnectedData - 134, // 141: xatu.ServerMeta.LIBP2P_TRACE_DISCONNECTED:type_name -> xatu.ServerMeta.AdditionalLibp2PTraceDisconnectedData - 137, // 142: xatu.ServerMeta.NODE_RECORD_CONSENSUS:type_name -> xatu.ServerMeta.AdditionalNodeRecordConsensusData - 138, // 143: xatu.ServerMeta.NODE_RECORD_EXECUTION:type_name -> xatu.ServerMeta.AdditionalNodeRecordExecutionData - 135, // 144: xatu.ServerMeta.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT:type_name -> xatu.ServerMeta.AdditionalLibP2PTraceSyntheticHeartbeatData - 136, // 145: xatu.ServerMeta.LIBP2P_TRACE_IDENTIFY:type_name -> xatu.ServerMeta.AdditionalLibp2PTraceIdentifyData - 24, // 146: xatu.Meta.client:type_name -> xatu.ClientMeta - 25, // 147: xatu.Meta.server:type_name -> xatu.ServerMeta - 1, // 148: xatu.Event.name:type_name -> xatu.Event.Name - 144, // 149: xatu.Event.date_time:type_name -> google.protobuf.Timestamp - 143, // 150: xatu.ExecutionBlockMetrics.block_number:type_name -> google.protobuf.UInt64Value - 143, // 151: xatu.ExecutionBlockMetrics.gas_used:type_name -> google.protobuf.UInt64Value - 151, // 152: xatu.ExecutionBlockMetrics.tx_count:type_name -> google.protobuf.UInt32Value - 153, // 153: xatu.ExecutionBlockMetrics.execution_ms:type_name -> google.protobuf.DoubleValue - 153, // 154: xatu.ExecutionBlockMetrics.state_read_ms:type_name -> google.protobuf.DoubleValue - 153, // 155: xatu.ExecutionBlockMetrics.state_hash_ms:type_name -> google.protobuf.DoubleValue - 153, // 156: xatu.ExecutionBlockMetrics.commit_ms:type_name -> google.protobuf.DoubleValue - 153, // 157: xatu.ExecutionBlockMetrics.total_ms:type_name -> google.protobuf.DoubleValue - 153, // 158: xatu.ExecutionBlockMetrics.mgas_per_sec:type_name -> google.protobuf.DoubleValue - 139, // 159: xatu.ExecutionBlockMetrics.state_reads:type_name -> xatu.ExecutionBlockMetrics.StateReads - 140, // 160: xatu.ExecutionBlockMetrics.state_writes:type_name -> xatu.ExecutionBlockMetrics.StateWrites - 141, // 161: xatu.ExecutionBlockMetrics.account_cache:type_name -> xatu.ExecutionBlockMetrics.CacheEntry - 141, // 162: xatu.ExecutionBlockMetrics.storage_cache:type_name -> xatu.ExecutionBlockMetrics.CacheEntry - 142, // 163: xatu.ExecutionBlockMetrics.code_cache:type_name -> xatu.ExecutionBlockMetrics.CodeCacheEntry - 27, // 164: xatu.DecoratedEvent.event:type_name -> xatu.Event - 26, // 165: xatu.DecoratedEvent.meta:type_name -> xatu.Meta - 154, // 166: xatu.DecoratedEvent.eth_v1_events_attestation:type_name -> xatu.eth.v1.Attestation - 155, // 167: xatu.DecoratedEvent.eth_v1_events_block:type_name -> xatu.eth.v1.EventBlock - 146, // 168: xatu.DecoratedEvent.eth_v1_events_chain_reorg:type_name -> xatu.eth.v1.EventChainReorg - 156, // 169: xatu.DecoratedEvent.eth_v1_events_finalized_checkpoint:type_name -> xatu.eth.v1.EventFinalizedCheckpoint - 157, // 170: xatu.DecoratedEvent.eth_v1_events_head:type_name -> xatu.eth.v1.EventHead - 158, // 171: xatu.DecoratedEvent.eth_v1_events_voluntary_exit:type_name -> xatu.eth.v1.EventVoluntaryExit - 159, // 172: xatu.DecoratedEvent.eth_v1_events_contribution_and_proof:type_name -> xatu.eth.v1.EventContributionAndProof - 160, // 173: xatu.DecoratedEvent.eth_v2_beacon_block:type_name -> xatu.eth.v2.EventBlock - 145, // 174: xatu.DecoratedEvent.eth_v1_fork_choice:type_name -> xatu.eth.v1.ForkChoice - 13, // 175: xatu.DecoratedEvent.eth_v1_fork_choice_reorg:type_name -> xatu.DebugForkChoiceReorg - 161, // 176: xatu.DecoratedEvent.eth_v1_beacon_committee:type_name -> xatu.eth.v1.Committee - 162, // 177: xatu.DecoratedEvent.eth_v1_validator_attestation_data:type_name -> xatu.eth.v1.AttestationDataV2 - 163, // 178: xatu.DecoratedEvent.eth_v1_events_attestation_v2:type_name -> xatu.eth.v1.AttestationV2 - 164, // 179: xatu.DecoratedEvent.eth_v1_events_block_v2:type_name -> xatu.eth.v1.EventBlockV2 - 148, // 180: xatu.DecoratedEvent.eth_v1_events_chain_reorg_v2:type_name -> xatu.eth.v1.EventChainReorgV2 - 165, // 181: xatu.DecoratedEvent.eth_v1_events_finalized_checkpoint_v2:type_name -> xatu.eth.v1.EventFinalizedCheckpointV2 - 166, // 182: xatu.DecoratedEvent.eth_v1_events_head_v2:type_name -> xatu.eth.v1.EventHeadV2 - 167, // 183: xatu.DecoratedEvent.eth_v1_events_voluntary_exit_v2:type_name -> xatu.eth.v1.EventVoluntaryExitV2 - 168, // 184: xatu.DecoratedEvent.eth_v1_events_contribution_and_proof_v2:type_name -> xatu.eth.v1.EventContributionAndProofV2 - 169, // 185: xatu.DecoratedEvent.eth_v2_beacon_block_v2:type_name -> xatu.eth.v2.EventBlockV2 - 147, // 186: xatu.DecoratedEvent.eth_v1_fork_choice_v2:type_name -> xatu.eth.v1.ForkChoiceV2 - 14, // 187: xatu.DecoratedEvent.eth_v1_fork_choice_reorg_v2:type_name -> xatu.DebugForkChoiceReorgV2 - 170, // 188: xatu.DecoratedEvent.eth_v2_beacon_block_attester_slashing:type_name -> xatu.eth.v1.AttesterSlashingV2 - 171, // 189: xatu.DecoratedEvent.eth_v2_beacon_block_proposer_slashing:type_name -> xatu.eth.v1.ProposerSlashingV2 - 172, // 190: xatu.DecoratedEvent.eth_v2_beacon_block_voluntary_exit:type_name -> xatu.eth.v1.SignedVoluntaryExitV2 - 173, // 191: xatu.DecoratedEvent.eth_v2_beacon_block_deposit:type_name -> xatu.eth.v1.DepositV2 - 174, // 192: xatu.DecoratedEvent.eth_v2_beacon_block_bls_to_execution_change:type_name -> xatu.eth.v2.SignedBLSToExecutionChangeV2 - 175, // 193: xatu.DecoratedEvent.eth_v2_beacon_block_execution_transaction:type_name -> xatu.eth.v1.Transaction - 176, // 194: xatu.DecoratedEvent.eth_v2_beacon_block_withdrawal:type_name -> xatu.eth.v1.WithdrawalV2 - 177, // 195: xatu.DecoratedEvent.eth_v1_events_blob_sidecar:type_name -> xatu.eth.v1.EventBlobSidecar - 178, // 196: xatu.DecoratedEvent.eth_v1_beacon_block_blob_sidecar:type_name -> xatu.eth.v1.BlobSidecar - 163, // 197: xatu.DecoratedEvent.beacon_p2p_attestation:type_name -> xatu.eth.v1.AttestationV2 - 179, // 198: xatu.DecoratedEvent.eth_v1_proposer_duty:type_name -> xatu.eth.v1.ProposerDuty - 180, // 199: xatu.DecoratedEvent.eth_v2_beacon_block_elaborated_attestation:type_name -> xatu.eth.v1.ElaboratedAttestation - 181, // 200: xatu.DecoratedEvent.libp2p_trace_add_peer:type_name -> xatu.libp2p.AddPeer - 182, // 201: xatu.DecoratedEvent.libp2p_trace_remove_peer:type_name -> xatu.libp2p.RemovePeer - 183, // 202: xatu.DecoratedEvent.libp2p_trace_recv_rpc:type_name -> xatu.libp2p.RecvRPC - 184, // 203: xatu.DecoratedEvent.libp2p_trace_send_rpc:type_name -> xatu.libp2p.SendRPC - 185, // 204: xatu.DecoratedEvent.libp2p_trace_join:type_name -> xatu.libp2p.Join - 186, // 205: xatu.DecoratedEvent.libp2p_trace_connected:type_name -> xatu.libp2p.Connected - 187, // 206: xatu.DecoratedEvent.libp2p_trace_disconnected:type_name -> xatu.libp2p.Disconnected - 188, // 207: xatu.DecoratedEvent.libp2p_trace_handle_metadata:type_name -> xatu.libp2p.HandleMetadata - 189, // 208: xatu.DecoratedEvent.libp2p_trace_handle_status:type_name -> xatu.libp2p.HandleStatus - 190, // 209: xatu.DecoratedEvent.libp2p_trace_gossipsub_beacon_block:type_name -> xatu.libp2p.gossipsub.eth.BeaconBlock - 154, // 210: xatu.DecoratedEvent.libp2p_trace_gossipsub_beacon_attestation:type_name -> xatu.eth.v1.Attestation - 191, // 211: xatu.DecoratedEvent.libp2p_trace_gossipsub_blob_sidecar:type_name -> xatu.libp2p.gossipsub.eth.BlobSidecar - 15, // 212: xatu.DecoratedEvent.eth_v1_validators:type_name -> xatu.Validators - 192, // 213: xatu.DecoratedEvent.mev_relay_bid_trace_builder_block_submission:type_name -> xatu.mevrelay.BidTrace - 193, // 214: xatu.DecoratedEvent.mev_relay_payload_delivered:type_name -> xatu.mevrelay.ProposerPayloadDelivered - 169, // 215: xatu.DecoratedEvent.eth_v3_validator_block:type_name -> xatu.eth.v2.EventBlockV2 - 194, // 216: xatu.DecoratedEvent.mev_relay_validator_registration:type_name -> xatu.mevrelay.ValidatorRegistration - 195, // 217: xatu.DecoratedEvent.eth_v1_events_block_gossip:type_name -> xatu.eth.v1.EventBlockGossip - 196, // 218: xatu.DecoratedEvent.libp2p_trace_drop_rpc:type_name -> xatu.libp2p.DropRPC - 197, // 219: xatu.DecoratedEvent.libp2p_trace_leave:type_name -> xatu.libp2p.Leave - 198, // 220: xatu.DecoratedEvent.libp2p_trace_graft:type_name -> xatu.libp2p.Graft - 199, // 221: xatu.DecoratedEvent.libp2p_trace_prune:type_name -> xatu.libp2p.Prune - 200, // 222: xatu.DecoratedEvent.libp2p_trace_duplicate_message:type_name -> xatu.libp2p.DuplicateMessage - 201, // 223: xatu.DecoratedEvent.libp2p_trace_deliver_message:type_name -> xatu.libp2p.DeliverMessage - 202, // 224: xatu.DecoratedEvent.libp2p_trace_publish_message:type_name -> xatu.libp2p.PublishMessage - 203, // 225: xatu.DecoratedEvent.libp2p_trace_reject_message:type_name -> xatu.libp2p.RejectMessage - 204, // 226: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_ihave:type_name -> xatu.libp2p.ControlIHaveMetaItem - 205, // 227: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_iwant:type_name -> xatu.libp2p.ControlIWantMetaItem - 206, // 228: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_idontwant:type_name -> xatu.libp2p.ControlIDontWantMetaItem - 207, // 229: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_graft:type_name -> xatu.libp2p.ControlGraftMetaItem - 208, // 230: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_prune:type_name -> xatu.libp2p.ControlPruneMetaItem - 209, // 231: xatu.DecoratedEvent.libp2p_trace_rpc_meta_subscription:type_name -> xatu.libp2p.SubMetaItem - 210, // 232: xatu.DecoratedEvent.libp2p_trace_rpc_meta_message:type_name -> xatu.libp2p.MessageMetaItem - 211, // 233: xatu.DecoratedEvent.node_record_consensus:type_name -> xatu.noderecord.Consensus - 212, // 234: xatu.DecoratedEvent.node_record_execution:type_name -> xatu.noderecord.Execution - 213, // 235: xatu.DecoratedEvent.libp2p_trace_gossipsub_aggregate_and_proof:type_name -> xatu.eth.v1.SignedAggregateAttestationAndProofV2 - 214, // 236: xatu.DecoratedEvent.eth_v1_events_data_column_sidecar:type_name -> xatu.eth.v1.EventDataColumnSidecar - 215, // 237: xatu.DecoratedEvent.libp2p_trace_gossipsub_data_column_sidecar:type_name -> xatu.libp2p.gossipsub.eth.DataColumnSidecar - 216, // 238: xatu.DecoratedEvent.libp2p_trace_synthetic_heartbeat:type_name -> xatu.libp2p.SyntheticHeartbeat - 217, // 239: xatu.DecoratedEvent.libp2p_trace_identify:type_name -> xatu.libp2p.Identify - 218, // 240: xatu.DecoratedEvent.libp2p_trace_rpc_data_column_custody_probe:type_name -> xatu.libp2p.DataColumnCustodyProbe - 19, // 241: xatu.DecoratedEvent.execution_state_size:type_name -> xatu.ExecutionStateSize - 20, // 242: xatu.DecoratedEvent.consensus_engine_api_new_payload:type_name -> xatu.ConsensusEngineAPINewPayload - 21, // 243: xatu.DecoratedEvent.consensus_engine_api_get_blobs:type_name -> xatu.ConsensusEngineAPIGetBlobs - 22, // 244: xatu.DecoratedEvent.execution_engine_new_payload:type_name -> xatu.ExecutionEngineNewPayload - 23, // 245: xatu.DecoratedEvent.execution_engine_get_blobs:type_name -> xatu.ExecutionEngineGetBlobs - 219, // 246: xatu.DecoratedEvent.eth_v1_beacon_blob:type_name -> xatu.eth.v1.Blob - 16, // 247: xatu.DecoratedEvent.eth_v1_beacon_sync_committee:type_name -> xatu.SyncCommitteeData - 17, // 248: xatu.DecoratedEvent.eth_v2_beacon_block_sync_aggregate:type_name -> xatu.SyncAggregateData - 28, // 249: xatu.DecoratedEvent.execution_block_metrics:type_name -> xatu.ExecutionBlockMetrics - 220, // 250: xatu.DecoratedEvent.eth_v1_events_fast_confirmation:type_name -> xatu.eth.v1.EventFastConfirmation - 125, // 251: xatu.ClientMeta.Ethereum.network:type_name -> xatu.ClientMeta.Ethereum.Network - 126, // 252: xatu.ClientMeta.Ethereum.execution:type_name -> xatu.ClientMeta.Ethereum.Execution - 127, // 253: xatu.ClientMeta.Ethereum.consensus:type_name -> xatu.ClientMeta.Ethereum.Consensus - 4, // 254: xatu.ClientMeta.AdditionalEthV1AttestationSourceData.epoch:type_name -> xatu.Epoch - 5, // 255: xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data.epoch:type_name -> xatu.EpochV2 - 4, // 256: xatu.ClientMeta.AdditionalEthV1AttestationTargetData.epoch:type_name -> xatu.Epoch - 5, // 257: xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data.epoch:type_name -> xatu.EpochV2 - 32, // 258: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceData - 34, // 259: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetData - 6, // 260: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.slot:type_name -> xatu.Slot - 4, // 261: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.epoch:type_name -> xatu.Epoch - 9, // 262: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.propagation:type_name -> xatu.Propagation - 11, // 263: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.attesting_validator:type_name -> xatu.AttestingValidator - 33, // 264: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data - 35, // 265: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data - 7, // 266: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.slot:type_name -> xatu.SlotV2 - 5, // 267: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.epoch:type_name -> xatu.EpochV2 - 10, // 268: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.propagation:type_name -> xatu.PropagationV2 - 12, // 269: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.attesting_validator:type_name -> xatu.AttestingValidatorV2 - 4, // 270: xatu.ClientMeta.AdditionalEthV1EventsHeadData.epoch:type_name -> xatu.Epoch - 6, // 271: xatu.ClientMeta.AdditionalEthV1EventsHeadData.slot:type_name -> xatu.Slot - 9, // 272: xatu.ClientMeta.AdditionalEthV1EventsHeadData.propagation:type_name -> xatu.Propagation - 5, // 273: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.epoch:type_name -> xatu.EpochV2 - 7, // 274: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.slot:type_name -> xatu.SlotV2 - 10, // 275: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.propagation:type_name -> xatu.PropagationV2 - 4, // 276: xatu.ClientMeta.AdditionalEthV1EventsBlockData.epoch:type_name -> xatu.Epoch - 6, // 277: xatu.ClientMeta.AdditionalEthV1EventsBlockData.slot:type_name -> xatu.Slot - 9, // 278: xatu.ClientMeta.AdditionalEthV1EventsBlockData.propagation:type_name -> xatu.Propagation - 5, // 279: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.epoch:type_name -> xatu.EpochV2 - 7, // 280: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.slot:type_name -> xatu.SlotV2 - 10, // 281: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.propagation:type_name -> xatu.PropagationV2 - 5, // 282: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData.epoch:type_name -> xatu.EpochV2 - 7, // 283: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData.slot:type_name -> xatu.SlotV2 - 10, // 284: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData.propagation:type_name -> xatu.PropagationV2 - 5, // 285: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.epoch:type_name -> xatu.EpochV2 - 7, // 286: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.slot:type_name -> xatu.SlotV2 - 10, // 287: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.propagation:type_name -> xatu.PropagationV2 - 7, // 288: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.wallclock_slot:type_name -> xatu.SlotV2 - 5, // 289: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.wallclock_epoch:type_name -> xatu.EpochV2 - 4, // 290: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData.epoch:type_name -> xatu.Epoch - 5, // 291: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data.epoch:type_name -> xatu.EpochV2 - 5, // 292: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data.wallclock_epoch:type_name -> xatu.EpochV2 - 7, // 293: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data.wallclock_slot:type_name -> xatu.SlotV2 - 4, // 294: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData.epoch:type_name -> xatu.Epoch - 5, // 295: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointV2Data.epoch:type_name -> xatu.EpochV2 - 4, // 296: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.epoch:type_name -> xatu.Epoch - 6, // 297: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.slot:type_name -> xatu.Slot - 9, // 298: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.propagation:type_name -> xatu.Propagation - 5, // 299: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.epoch:type_name -> xatu.EpochV2 - 7, // 300: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.slot:type_name -> xatu.SlotV2 - 10, // 301: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.propagation:type_name -> xatu.PropagationV2 - 4, // 302: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.epoch:type_name -> xatu.Epoch - 6, // 303: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.slot:type_name -> xatu.Slot - 9, // 304: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.propagation:type_name -> xatu.Propagation - 5, // 305: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.epoch:type_name -> xatu.EpochV2 - 7, // 306: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.slot:type_name -> xatu.SlotV2 - 10, // 307: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.propagation:type_name -> xatu.PropagationV2 - 50, // 308: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData.contribution:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData - 51, // 309: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofV2Data.contribution:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data - 4, // 310: xatu.ClientMeta.ForkChoiceSnapshot.request_epoch:type_name -> xatu.Epoch - 6, // 311: xatu.ClientMeta.ForkChoiceSnapshot.request_slot:type_name -> xatu.Slot - 144, // 312: xatu.ClientMeta.ForkChoiceSnapshot.timestamp:type_name -> google.protobuf.Timestamp - 5, // 313: xatu.ClientMeta.ForkChoiceSnapshotV2.request_epoch:type_name -> xatu.EpochV2 - 7, // 314: xatu.ClientMeta.ForkChoiceSnapshotV2.request_slot:type_name -> xatu.SlotV2 - 143, // 315: xatu.ClientMeta.ForkChoiceSnapshotV2.requested_at_slot_start_diff_ms:type_name -> google.protobuf.UInt64Value - 143, // 316: xatu.ClientMeta.ForkChoiceSnapshotV2.request_duration_ms:type_name -> google.protobuf.UInt64Value - 144, // 317: xatu.ClientMeta.ForkChoiceSnapshotV2.timestamp:type_name -> google.protobuf.Timestamp - 54, // 318: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData.Snapshot:type_name -> xatu.ClientMeta.ForkChoiceSnapshot - 55, // 319: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceV2Data.Snapshot:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 - 54, // 320: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.before:type_name -> xatu.ClientMeta.ForkChoiceSnapshot - 54, // 321: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.after:type_name -> xatu.ClientMeta.ForkChoiceSnapshot - 55, // 322: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data.before:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 - 55, // 323: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data.after:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 - 5, // 324: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.epoch:type_name -> xatu.EpochV2 - 7, // 325: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.slot:type_name -> xatu.SlotV2 - 5, // 326: xatu.ClientMeta.AdditionalEthV1BeaconSyncCommitteeData.epoch:type_name -> xatu.EpochV2 - 143, // 327: xatu.ClientMeta.AdditionalEthV1BeaconSyncCommitteeData.sync_committee_period:type_name -> google.protobuf.UInt64Value - 18, // 328: xatu.ClientMeta.AdditionalEthV2BeaconBlockSyncAggregateData.block:type_name -> xatu.BlockIdentifier - 143, // 329: xatu.ClientMeta.AdditionalEthV2BeaconBlockSyncAggregateData.sync_committee_period:type_name -> google.protobuf.UInt64Value - 143, // 330: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.nonce:type_name -> google.protobuf.UInt64Value - 143, // 331: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.gas:type_name -> google.protobuf.UInt64Value - 151, // 332: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.type:type_name -> google.protobuf.UInt32Value - 143, // 333: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.blob_gas:type_name -> google.protobuf.UInt64Value - 4, // 334: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.epoch:type_name -> xatu.Epoch - 6, // 335: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.slot:type_name -> xatu.Slot - 5, // 336: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.epoch:type_name -> xatu.EpochV2 - 7, // 337: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.slot:type_name -> xatu.SlotV2 - 143, // 338: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_count:type_name -> google.protobuf.UInt64Value - 143, // 339: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_total_bytes:type_name -> google.protobuf.UInt64Value - 143, // 340: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_total_bytes_compressed:type_name -> google.protobuf.UInt64Value - 143, // 341: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.total_bytes:type_name -> google.protobuf.UInt64Value - 143, // 342: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.total_bytes_compressed:type_name -> google.protobuf.UInt64Value - 18, // 343: xatu.ClientMeta.AdditionalEthV2BeaconBlockAttesterSlashingData.block:type_name -> xatu.BlockIdentifier - 18, // 344: xatu.ClientMeta.AdditionalEthV2BeaconBlockProposerSlashingData.block:type_name -> xatu.BlockIdentifier - 18, // 345: xatu.ClientMeta.AdditionalEthV2BeaconBlockVoluntaryExitData.block:type_name -> xatu.BlockIdentifier - 18, // 346: xatu.ClientMeta.AdditionalEthV2BeaconBlockDepositData.block:type_name -> xatu.BlockIdentifier - 18, // 347: xatu.ClientMeta.AdditionalEthV2BeaconBlockBLSToExecutionChangeData.block:type_name -> xatu.BlockIdentifier - 18, // 348: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionTransactionData.block:type_name -> xatu.BlockIdentifier - 143, // 349: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionTransactionData.position_in_block:type_name -> google.protobuf.UInt64Value - 18, // 350: xatu.ClientMeta.AdditionalEthV2BeaconBlockWithdrawalData.block:type_name -> xatu.BlockIdentifier - 143, // 351: xatu.ClientMeta.AttestationDataSnapshot.requested_at_slot_start_diff_ms:type_name -> google.protobuf.UInt64Value - 143, // 352: xatu.ClientMeta.AttestationDataSnapshot.request_duration_ms:type_name -> google.protobuf.UInt64Value - 144, // 353: xatu.ClientMeta.AttestationDataSnapshot.timestamp:type_name -> google.protobuf.Timestamp - 33, // 354: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data - 35, // 355: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data - 5, // 356: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.epoch:type_name -> xatu.EpochV2 - 7, // 357: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.slot:type_name -> xatu.SlotV2 - 74, // 358: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.Snapshot:type_name -> xatu.ClientMeta.AttestationDataSnapshot - 5, // 359: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData.epoch:type_name -> xatu.EpochV2 - 7, // 360: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData.slot:type_name -> xatu.SlotV2 - 10, // 361: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData.propagation:type_name -> xatu.PropagationV2 - 5, // 362: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData.epoch:type_name -> xatu.EpochV2 - 7, // 363: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData.slot:type_name -> xatu.SlotV2 - 10, // 364: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData.propagation:type_name -> xatu.PropagationV2 - 5, // 365: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.epoch:type_name -> xatu.EpochV2 - 7, // 366: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.slot:type_name -> xatu.SlotV2 - 143, // 367: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.data_size:type_name -> google.protobuf.UInt64Value - 143, // 368: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.data_empty_size:type_name -> google.protobuf.UInt64Value - 33, // 369: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data - 35, // 370: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data - 7, // 371: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.slot:type_name -> xatu.SlotV2 - 5, // 372: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.epoch:type_name -> xatu.EpochV2 - 10, // 373: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.propagation:type_name -> xatu.PropagationV2 - 12, // 374: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.attesting_validator:type_name -> xatu.AttestingValidatorV2 - 221, // 375: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.peer:type_name -> xatu.libp2p.Peer - 151, // 376: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.subnet:type_name -> google.protobuf.UInt32Value - 222, // 377: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.validated:type_name -> google.protobuf.BoolValue - 5, // 378: xatu.ClientMeta.AdditionalEthV1ProposerDutyData.epoch:type_name -> xatu.EpochV2 - 7, // 379: xatu.ClientMeta.AdditionalEthV1ProposerDutyData.slot:type_name -> xatu.SlotV2 - 18, // 380: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.block:type_name -> xatu.BlockIdentifier - 143, // 381: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.position_in_block:type_name -> google.protobuf.UInt64Value - 5, // 382: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.epoch:type_name -> xatu.EpochV2 - 7, // 383: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.slot:type_name -> xatu.SlotV2 - 33, // 384: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data - 35, // 385: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data - 223, // 386: xatu.ClientMeta.AdditionalLibP2PTraceAddPeerData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 387: xatu.ClientMeta.AdditionalLibP2PTraceRemovePeerData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 388: xatu.ClientMeta.AdditionalLibP2PTraceRecvRPCData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 389: xatu.ClientMeta.AdditionalLibP2PTraceSendRPCData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 390: xatu.ClientMeta.AdditionalLibP2PTraceDropRPCData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 391: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIHaveData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 392: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIWantData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 393: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIDontWantData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 394: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlGraftData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 395: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlPruneData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 396: xatu.ClientMeta.AdditionalLibP2PTraceJoinData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 397: xatu.ClientMeta.AdditionalLibP2PTraceLeaveData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 398: xatu.ClientMeta.AdditionalLibP2PTraceGraftData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 399: xatu.ClientMeta.AdditionalLibP2PTracePruneData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 400: xatu.ClientMeta.AdditionalLibP2PTraceDuplicateMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 401: xatu.ClientMeta.AdditionalLibP2PTraceDeliverMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 402: xatu.ClientMeta.AdditionalLibP2PTracePublishMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 403: xatu.ClientMeta.AdditionalLibP2PTraceRejectMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 404: xatu.ClientMeta.AdditionalLibP2PTraceConnectedData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 405: xatu.ClientMeta.AdditionalLibP2PTraceDisconnectedData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 406: xatu.ClientMeta.AdditionalLibP2PTraceSyntheticHeartbeatData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 407: xatu.ClientMeta.AdditionalLibP2PTraceHandleMetadataData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 408: xatu.ClientMeta.AdditionalLibP2PTraceHandleStatusData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 409: xatu.ClientMeta.AdditionalLibP2PTraceIdentifyData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 410: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 5, // 411: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.epoch:type_name -> xatu.EpochV2 - 7, // 412: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.slot:type_name -> xatu.SlotV2 - 5, // 413: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.wallclock_epoch:type_name -> xatu.EpochV2 - 7, // 414: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.wallclock_slot:type_name -> xatu.SlotV2 - 223, // 415: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaSubscriptionData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 223, // 416: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 5, // 417: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.epoch:type_name -> xatu.EpochV2 - 7, // 418: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.slot:type_name -> xatu.SlotV2 - 5, // 419: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.wallclock_epoch:type_name -> xatu.EpochV2 - 7, // 420: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.wallclock_slot:type_name -> xatu.SlotV2 - 10, // 421: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.propagation:type_name -> xatu.PropagationV2 - 223, // 422: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 224, // 423: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.topic:type_name -> google.protobuf.StringValue - 151, // 424: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.message_size:type_name -> google.protobuf.UInt32Value - 224, // 425: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.message_id:type_name -> google.protobuf.StringValue - 5, // 426: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData.epoch:type_name -> xatu.EpochV2 - 5, // 427: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData.epoch:type_name -> xatu.EpochV2 - 110, // 428: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.source:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData - 111, // 429: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.target:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData - 7, // 430: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.slot:type_name -> xatu.SlotV2 - 5, // 431: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.epoch:type_name -> xatu.EpochV2 - 10, // 432: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.propagation:type_name -> xatu.PropagationV2 - 12, // 433: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.attesting_validator:type_name -> xatu.AttestingValidatorV2 - 5, // 434: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.wallclock_epoch:type_name -> xatu.EpochV2 - 7, // 435: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.wallclock_slot:type_name -> xatu.SlotV2 - 223, // 436: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 224, // 437: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.topic:type_name -> google.protobuf.StringValue - 151, // 438: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.message_size:type_name -> google.protobuf.UInt32Value - 224, // 439: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.message_id:type_name -> google.protobuf.StringValue - 5, // 440: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.epoch:type_name -> xatu.EpochV2 - 7, // 441: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.slot:type_name -> xatu.SlotV2 - 5, // 442: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.wallclock_epoch:type_name -> xatu.EpochV2 - 7, // 443: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.wallclock_slot:type_name -> xatu.SlotV2 - 10, // 444: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.propagation:type_name -> xatu.PropagationV2 - 143, // 445: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.aggregator_index:type_name -> google.protobuf.UInt64Value - 223, // 446: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 224, // 447: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.topic:type_name -> google.protobuf.StringValue - 151, // 448: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.message_size:type_name -> google.protobuf.UInt32Value - 224, // 449: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.message_id:type_name -> google.protobuf.StringValue - 5, // 450: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.epoch:type_name -> xatu.EpochV2 - 7, // 451: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.slot:type_name -> xatu.SlotV2 - 5, // 452: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.wallclock_epoch:type_name -> xatu.EpochV2 - 7, // 453: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.wallclock_slot:type_name -> xatu.SlotV2 - 10, // 454: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.propagation:type_name -> xatu.PropagationV2 - 223, // 455: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 224, // 456: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.topic:type_name -> google.protobuf.StringValue - 151, // 457: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.message_size:type_name -> google.protobuf.UInt32Value - 224, // 458: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.message_id:type_name -> google.protobuf.StringValue - 5, // 459: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.epoch:type_name -> xatu.EpochV2 - 7, // 460: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.slot:type_name -> xatu.SlotV2 - 5, // 461: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.wallclock_epoch:type_name -> xatu.EpochV2 - 7, // 462: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.wallclock_slot:type_name -> xatu.SlotV2 - 10, // 463: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.propagation:type_name -> xatu.PropagationV2 - 223, // 464: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.metadata:type_name -> xatu.libp2p.TraceEventMetadata - 224, // 465: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.topic:type_name -> google.protobuf.StringValue - 151, // 466: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.message_size:type_name -> google.protobuf.UInt32Value - 224, // 467: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.message_id:type_name -> google.protobuf.StringValue - 5, // 468: xatu.ClientMeta.AdditionalEthV1ValidatorsData.epoch:type_name -> xatu.EpochV2 - 225, // 469: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.relay:type_name -> xatu.mevrelay.Relay - 7, // 470: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.slot:type_name -> xatu.SlotV2 - 7, // 471: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.wallclock_slot:type_name -> xatu.SlotV2 - 5, // 472: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.epoch:type_name -> xatu.EpochV2 - 5, // 473: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.wallclock_epoch:type_name -> xatu.EpochV2 - 143, // 474: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.requested_at_slot_time:type_name -> google.protobuf.UInt64Value - 143, // 475: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.response_at_slot_time:type_name -> google.protobuf.UInt64Value - 225, // 476: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.relay:type_name -> xatu.mevrelay.Relay - 7, // 477: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.slot:type_name -> xatu.SlotV2 - 7, // 478: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.wallclock_slot:type_name -> xatu.SlotV2 - 5, // 479: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.epoch:type_name -> xatu.EpochV2 - 5, // 480: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.wallclock_epoch:type_name -> xatu.EpochV2 - 143, // 481: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.requested_at_slot_time:type_name -> google.protobuf.UInt64Value - 143, // 482: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.response_at_slot_time:type_name -> google.protobuf.UInt64Value - 5, // 483: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.epoch:type_name -> xatu.EpochV2 - 7, // 484: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.slot:type_name -> xatu.SlotV2 - 143, // 485: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.transactions_count:type_name -> google.protobuf.UInt64Value - 143, // 486: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.transactions_total_bytes:type_name -> google.protobuf.UInt64Value - 143, // 487: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.transactions_total_bytes_compressed:type_name -> google.protobuf.UInt64Value - 143, // 488: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.total_bytes:type_name -> google.protobuf.UInt64Value - 143, // 489: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.total_bytes_compressed:type_name -> google.protobuf.UInt64Value - 143, // 490: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.request_duration_ms:type_name -> google.protobuf.UInt64Value - 144, // 491: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.requested_at:type_name -> google.protobuf.Timestamp - 225, // 492: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.relay:type_name -> xatu.mevrelay.Relay - 7, // 493: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.slot:type_name -> xatu.SlotV2 - 7, // 494: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.wallclock_slot:type_name -> xatu.SlotV2 - 5, // 495: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.epoch:type_name -> xatu.EpochV2 - 5, // 496: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.wallclock_epoch:type_name -> xatu.EpochV2 - 143, // 497: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.validator_index:type_name -> google.protobuf.UInt64Value - 5, // 498: xatu.ClientMeta.AdditionalNodeRecordConsensusData.finalized_epoch:type_name -> xatu.EpochV2 - 7, // 499: xatu.ClientMeta.AdditionalNodeRecordConsensusData.head_slot:type_name -> xatu.SlotV2 - 5, // 500: xatu.ClientMeta.AdditionalNodeRecordConsensusData.head_epoch:type_name -> xatu.EpochV2 - 5, // 501: xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData.epoch:type_name -> xatu.EpochV2 - 7, // 502: xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData.slot:type_name -> xatu.SlotV2 - 5, // 503: xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData.epoch:type_name -> xatu.EpochV2 - 7, // 504: xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData.slot:type_name -> xatu.SlotV2 - 5, // 505: xatu.ClientMeta.AdditionalEthV1BeaconBlobData.epoch:type_name -> xatu.EpochV2 - 7, // 506: xatu.ClientMeta.AdditionalEthV1BeaconBlobData.slot:type_name -> xatu.SlotV2 - 8, // 507: xatu.ClientMeta.Ethereum.Execution.fork_id:type_name -> xatu.ForkID - 144, // 508: xatu.ServerMeta.Event.received_date_time:type_name -> google.protobuf.Timestamp - 129, // 509: xatu.ServerMeta.Client.geo:type_name -> xatu.ServerMeta.Geo - 129, // 510: xatu.ServerMeta.Peer.geo:type_name -> xatu.ServerMeta.Geo - 131, // 511: xatu.ServerMeta.AdditionalBeaconP2PAttestationData.peer:type_name -> xatu.ServerMeta.Peer - 131, // 512: xatu.ServerMeta.AdditionalLibp2PTraceConnectedData.peer:type_name -> xatu.ServerMeta.Peer - 131, // 513: xatu.ServerMeta.AdditionalLibp2PTraceDisconnectedData.peer:type_name -> xatu.ServerMeta.Peer - 131, // 514: xatu.ServerMeta.AdditionalLibP2PTraceSyntheticHeartbeatData.peer:type_name -> xatu.ServerMeta.Peer - 131, // 515: xatu.ServerMeta.AdditionalLibp2PTraceIdentifyData.peer:type_name -> xatu.ServerMeta.Peer - 129, // 516: xatu.ServerMeta.AdditionalNodeRecordConsensusData.geo:type_name -> xatu.ServerMeta.Geo - 129, // 517: xatu.ServerMeta.AdditionalNodeRecordExecutionData.geo:type_name -> xatu.ServerMeta.Geo - 143, // 518: xatu.ExecutionBlockMetrics.StateReads.accounts:type_name -> google.protobuf.UInt64Value - 143, // 519: xatu.ExecutionBlockMetrics.StateReads.storage_slots:type_name -> google.protobuf.UInt64Value - 143, // 520: xatu.ExecutionBlockMetrics.StateReads.code:type_name -> google.protobuf.UInt64Value - 143, // 521: xatu.ExecutionBlockMetrics.StateReads.code_bytes:type_name -> google.protobuf.UInt64Value - 143, // 522: xatu.ExecutionBlockMetrics.StateWrites.accounts:type_name -> google.protobuf.UInt64Value - 143, // 523: xatu.ExecutionBlockMetrics.StateWrites.accounts_deleted:type_name -> google.protobuf.UInt64Value - 143, // 524: xatu.ExecutionBlockMetrics.StateWrites.storage_slots:type_name -> google.protobuf.UInt64Value - 143, // 525: xatu.ExecutionBlockMetrics.StateWrites.storage_slots_deleted:type_name -> google.protobuf.UInt64Value - 143, // 526: xatu.ExecutionBlockMetrics.StateWrites.code:type_name -> google.protobuf.UInt64Value - 143, // 527: xatu.ExecutionBlockMetrics.StateWrites.code_bytes:type_name -> google.protobuf.UInt64Value - 226, // 528: xatu.ExecutionBlockMetrics.CacheEntry.hits:type_name -> google.protobuf.Int64Value - 226, // 529: xatu.ExecutionBlockMetrics.CacheEntry.misses:type_name -> google.protobuf.Int64Value - 153, // 530: xatu.ExecutionBlockMetrics.CacheEntry.hit_rate:type_name -> google.protobuf.DoubleValue - 226, // 531: xatu.ExecutionBlockMetrics.CodeCacheEntry.hits:type_name -> google.protobuf.Int64Value - 226, // 532: xatu.ExecutionBlockMetrics.CodeCacheEntry.misses:type_name -> google.protobuf.Int64Value - 153, // 533: xatu.ExecutionBlockMetrics.CodeCacheEntry.hit_rate:type_name -> google.protobuf.DoubleValue - 226, // 534: xatu.ExecutionBlockMetrics.CodeCacheEntry.hit_bytes:type_name -> google.protobuf.Int64Value - 226, // 535: xatu.ExecutionBlockMetrics.CodeCacheEntry.miss_bytes:type_name -> google.protobuf.Int64Value - 2, // 536: xatu.EventIngester.CreateEvents:input_type -> xatu.CreateEventsRequest - 3, // 537: xatu.EventIngester.CreateEvents:output_type -> xatu.CreateEventsResponse - 537, // [537:538] is the sub-list for method output_type - 536, // [536:537] is the sub-list for method input_type - 536, // [536:536] is the sub-list for extension type_name - 536, // [536:536] is the sub-list for extension extendee - 0, // [0:536] is the sub-list for field type_name + 74, // 136: xatu.ClientMeta.eth_v2_beacon_block_access_list:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockAccessListData + 75, // 137: xatu.ClientMeta.eth_v1_events_execution_payload:type_name -> xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadData + 76, // 138: xatu.ClientMeta.eth_v1_events_payload_attestation:type_name -> xatu.ClientMeta.AdditionalEthV1EventsPayloadAttestationData + 77, // 139: xatu.ClientMeta.eth_v1_events_execution_payload_bid:type_name -> xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadBidData + 78, // 140: xatu.ClientMeta.eth_v1_events_proposer_preferences:type_name -> xatu.ClientMeta.AdditionalEthV1EventsProposerPreferencesData + 84, // 141: xatu.ClientMeta.eth_v2_beacon_block_payload_attestation:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockPayloadAttestationData + 85, // 142: xatu.ClientMeta.eth_v2_beacon_block_execution_payload_bid:type_name -> xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionPayloadBidData + 86, // 143: xatu.ClientMeta.libp2p_trace_gossipsub_execution_payload_envelope:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData + 87, // 144: xatu.ClientMeta.libp2p_trace_gossipsub_execution_payload_bid:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData + 88, // 145: xatu.ClientMeta.libp2p_trace_gossipsub_payload_attestation_message:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData + 89, // 146: xatu.ClientMeta.libp2p_trace_gossipsub_proposer_preferences:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData + 79, // 147: xatu.ClientMeta.eth_v1_events_execution_payload_gossip:type_name -> xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadGossipData + 80, // 148: xatu.ClientMeta.eth_v1_events_execution_payload_available:type_name -> xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadAvailableData + 81, // 149: xatu.ClientMeta.beacon_synthetic_payload_status_resolved:type_name -> xatu.ClientMeta.AdditionalBeaconSyntheticPayloadStatusResolvedData + 82, // 150: xatu.ClientMeta.beacon_synthetic_builder_pending_payment_settlement:type_name -> xatu.ClientMeta.AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData + 83, // 151: xatu.ClientMeta.beacon_synthetic_payload_attestation_processed:type_name -> xatu.ClientMeta.AdditionalBeaconSyntheticPayloadAttestationProcessedData + 168, // 152: xatu.ClientMeta.module_name:type_name -> xatu.ModuleName + 144, // 153: xatu.ServerMeta.event:type_name -> xatu.ServerMeta.Event + 146, // 154: xatu.ServerMeta.client:type_name -> xatu.ServerMeta.Client + 148, // 155: xatu.ServerMeta.BEACON_P2P_ATTESTATION:type_name -> xatu.ServerMeta.AdditionalBeaconP2PAttestationData + 149, // 156: xatu.ServerMeta.LIBP2P_TRACE_CONNECTED:type_name -> xatu.ServerMeta.AdditionalLibp2PTraceConnectedData + 150, // 157: xatu.ServerMeta.LIBP2P_TRACE_DISCONNECTED:type_name -> xatu.ServerMeta.AdditionalLibp2PTraceDisconnectedData + 153, // 158: xatu.ServerMeta.NODE_RECORD_CONSENSUS:type_name -> xatu.ServerMeta.AdditionalNodeRecordConsensusData + 154, // 159: xatu.ServerMeta.NODE_RECORD_EXECUTION:type_name -> xatu.ServerMeta.AdditionalNodeRecordExecutionData + 151, // 160: xatu.ServerMeta.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT:type_name -> xatu.ServerMeta.AdditionalLibP2PTraceSyntheticHeartbeatData + 152, // 161: xatu.ServerMeta.LIBP2P_TRACE_IDENTIFY:type_name -> xatu.ServerMeta.AdditionalLibp2PTraceIdentifyData + 24, // 162: xatu.Meta.client:type_name -> xatu.ClientMeta + 25, // 163: xatu.Meta.server:type_name -> xatu.ServerMeta + 1, // 164: xatu.Event.name:type_name -> xatu.Event.Name + 160, // 165: xatu.Event.date_time:type_name -> google.protobuf.Timestamp + 159, // 166: xatu.ExecutionBlockMetrics.block_number:type_name -> google.protobuf.UInt64Value + 159, // 167: xatu.ExecutionBlockMetrics.gas_used:type_name -> google.protobuf.UInt64Value + 167, // 168: xatu.ExecutionBlockMetrics.tx_count:type_name -> google.protobuf.UInt32Value + 169, // 169: xatu.ExecutionBlockMetrics.execution_ms:type_name -> google.protobuf.DoubleValue + 169, // 170: xatu.ExecutionBlockMetrics.state_read_ms:type_name -> google.protobuf.DoubleValue + 169, // 171: xatu.ExecutionBlockMetrics.state_hash_ms:type_name -> google.protobuf.DoubleValue + 169, // 172: xatu.ExecutionBlockMetrics.commit_ms:type_name -> google.protobuf.DoubleValue + 169, // 173: xatu.ExecutionBlockMetrics.total_ms:type_name -> google.protobuf.DoubleValue + 169, // 174: xatu.ExecutionBlockMetrics.mgas_per_sec:type_name -> google.protobuf.DoubleValue + 155, // 175: xatu.ExecutionBlockMetrics.state_reads:type_name -> xatu.ExecutionBlockMetrics.StateReads + 156, // 176: xatu.ExecutionBlockMetrics.state_writes:type_name -> xatu.ExecutionBlockMetrics.StateWrites + 157, // 177: xatu.ExecutionBlockMetrics.account_cache:type_name -> xatu.ExecutionBlockMetrics.CacheEntry + 157, // 178: xatu.ExecutionBlockMetrics.storage_cache:type_name -> xatu.ExecutionBlockMetrics.CacheEntry + 158, // 179: xatu.ExecutionBlockMetrics.code_cache:type_name -> xatu.ExecutionBlockMetrics.CodeCacheEntry + 27, // 180: xatu.DecoratedEvent.event:type_name -> xatu.Event + 26, // 181: xatu.DecoratedEvent.meta:type_name -> xatu.Meta + 170, // 182: xatu.DecoratedEvent.eth_v1_events_attestation:type_name -> xatu.eth.v1.Attestation + 171, // 183: xatu.DecoratedEvent.eth_v1_events_block:type_name -> xatu.eth.v1.EventBlock + 162, // 184: xatu.DecoratedEvent.eth_v1_events_chain_reorg:type_name -> xatu.eth.v1.EventChainReorg + 172, // 185: xatu.DecoratedEvent.eth_v1_events_finalized_checkpoint:type_name -> xatu.eth.v1.EventFinalizedCheckpoint + 173, // 186: xatu.DecoratedEvent.eth_v1_events_head:type_name -> xatu.eth.v1.EventHead + 174, // 187: xatu.DecoratedEvent.eth_v1_events_voluntary_exit:type_name -> xatu.eth.v1.EventVoluntaryExit + 175, // 188: xatu.DecoratedEvent.eth_v1_events_contribution_and_proof:type_name -> xatu.eth.v1.EventContributionAndProof + 176, // 189: xatu.DecoratedEvent.eth_v2_beacon_block:type_name -> xatu.eth.v2.EventBlock + 161, // 190: xatu.DecoratedEvent.eth_v1_fork_choice:type_name -> xatu.eth.v1.ForkChoice + 13, // 191: xatu.DecoratedEvent.eth_v1_fork_choice_reorg:type_name -> xatu.DebugForkChoiceReorg + 177, // 192: xatu.DecoratedEvent.eth_v1_beacon_committee:type_name -> xatu.eth.v1.Committee + 178, // 193: xatu.DecoratedEvent.eth_v1_validator_attestation_data:type_name -> xatu.eth.v1.AttestationDataV2 + 179, // 194: xatu.DecoratedEvent.eth_v1_events_attestation_v2:type_name -> xatu.eth.v1.AttestationV2 + 180, // 195: xatu.DecoratedEvent.eth_v1_events_block_v2:type_name -> xatu.eth.v1.EventBlockV2 + 164, // 196: xatu.DecoratedEvent.eth_v1_events_chain_reorg_v2:type_name -> xatu.eth.v1.EventChainReorgV2 + 181, // 197: xatu.DecoratedEvent.eth_v1_events_finalized_checkpoint_v2:type_name -> xatu.eth.v1.EventFinalizedCheckpointV2 + 182, // 198: xatu.DecoratedEvent.eth_v1_events_head_v2:type_name -> xatu.eth.v1.EventHeadV2 + 183, // 199: xatu.DecoratedEvent.eth_v1_events_voluntary_exit_v2:type_name -> xatu.eth.v1.EventVoluntaryExitV2 + 184, // 200: xatu.DecoratedEvent.eth_v1_events_contribution_and_proof_v2:type_name -> xatu.eth.v1.EventContributionAndProofV2 + 185, // 201: xatu.DecoratedEvent.eth_v2_beacon_block_v2:type_name -> xatu.eth.v2.EventBlockV2 + 163, // 202: xatu.DecoratedEvent.eth_v1_fork_choice_v2:type_name -> xatu.eth.v1.ForkChoiceV2 + 14, // 203: xatu.DecoratedEvent.eth_v1_fork_choice_reorg_v2:type_name -> xatu.DebugForkChoiceReorgV2 + 186, // 204: xatu.DecoratedEvent.eth_v2_beacon_block_attester_slashing:type_name -> xatu.eth.v1.AttesterSlashingV2 + 187, // 205: xatu.DecoratedEvent.eth_v2_beacon_block_proposer_slashing:type_name -> xatu.eth.v1.ProposerSlashingV2 + 188, // 206: xatu.DecoratedEvent.eth_v2_beacon_block_voluntary_exit:type_name -> xatu.eth.v1.SignedVoluntaryExitV2 + 189, // 207: xatu.DecoratedEvent.eth_v2_beacon_block_deposit:type_name -> xatu.eth.v1.DepositV2 + 190, // 208: xatu.DecoratedEvent.eth_v2_beacon_block_bls_to_execution_change:type_name -> xatu.eth.v2.SignedBLSToExecutionChangeV2 + 191, // 209: xatu.DecoratedEvent.eth_v2_beacon_block_execution_transaction:type_name -> xatu.eth.v1.Transaction + 192, // 210: xatu.DecoratedEvent.eth_v2_beacon_block_withdrawal:type_name -> xatu.eth.v1.WithdrawalV2 + 193, // 211: xatu.DecoratedEvent.eth_v1_events_blob_sidecar:type_name -> xatu.eth.v1.EventBlobSidecar + 194, // 212: xatu.DecoratedEvent.eth_v1_beacon_block_blob_sidecar:type_name -> xatu.eth.v1.BlobSidecar + 179, // 213: xatu.DecoratedEvent.beacon_p2p_attestation:type_name -> xatu.eth.v1.AttestationV2 + 195, // 214: xatu.DecoratedEvent.eth_v1_proposer_duty:type_name -> xatu.eth.v1.ProposerDuty + 196, // 215: xatu.DecoratedEvent.eth_v2_beacon_block_elaborated_attestation:type_name -> xatu.eth.v1.ElaboratedAttestation + 197, // 216: xatu.DecoratedEvent.libp2p_trace_add_peer:type_name -> xatu.libp2p.AddPeer + 198, // 217: xatu.DecoratedEvent.libp2p_trace_remove_peer:type_name -> xatu.libp2p.RemovePeer + 199, // 218: xatu.DecoratedEvent.libp2p_trace_recv_rpc:type_name -> xatu.libp2p.RecvRPC + 200, // 219: xatu.DecoratedEvent.libp2p_trace_send_rpc:type_name -> xatu.libp2p.SendRPC + 201, // 220: xatu.DecoratedEvent.libp2p_trace_join:type_name -> xatu.libp2p.Join + 202, // 221: xatu.DecoratedEvent.libp2p_trace_connected:type_name -> xatu.libp2p.Connected + 203, // 222: xatu.DecoratedEvent.libp2p_trace_disconnected:type_name -> xatu.libp2p.Disconnected + 204, // 223: xatu.DecoratedEvent.libp2p_trace_handle_metadata:type_name -> xatu.libp2p.HandleMetadata + 205, // 224: xatu.DecoratedEvent.libp2p_trace_handle_status:type_name -> xatu.libp2p.HandleStatus + 206, // 225: xatu.DecoratedEvent.libp2p_trace_gossipsub_beacon_block:type_name -> xatu.libp2p.gossipsub.eth.BeaconBlock + 170, // 226: xatu.DecoratedEvent.libp2p_trace_gossipsub_beacon_attestation:type_name -> xatu.eth.v1.Attestation + 207, // 227: xatu.DecoratedEvent.libp2p_trace_gossipsub_blob_sidecar:type_name -> xatu.libp2p.gossipsub.eth.BlobSidecar + 15, // 228: xatu.DecoratedEvent.eth_v1_validators:type_name -> xatu.Validators + 208, // 229: xatu.DecoratedEvent.mev_relay_bid_trace_builder_block_submission:type_name -> xatu.mevrelay.BidTrace + 209, // 230: xatu.DecoratedEvent.mev_relay_payload_delivered:type_name -> xatu.mevrelay.ProposerPayloadDelivered + 185, // 231: xatu.DecoratedEvent.eth_v3_validator_block:type_name -> xatu.eth.v2.EventBlockV2 + 210, // 232: xatu.DecoratedEvent.mev_relay_validator_registration:type_name -> xatu.mevrelay.ValidatorRegistration + 211, // 233: xatu.DecoratedEvent.eth_v1_events_block_gossip:type_name -> xatu.eth.v1.EventBlockGossip + 212, // 234: xatu.DecoratedEvent.libp2p_trace_drop_rpc:type_name -> xatu.libp2p.DropRPC + 213, // 235: xatu.DecoratedEvent.libp2p_trace_leave:type_name -> xatu.libp2p.Leave + 214, // 236: xatu.DecoratedEvent.libp2p_trace_graft:type_name -> xatu.libp2p.Graft + 215, // 237: xatu.DecoratedEvent.libp2p_trace_prune:type_name -> xatu.libp2p.Prune + 216, // 238: xatu.DecoratedEvent.libp2p_trace_duplicate_message:type_name -> xatu.libp2p.DuplicateMessage + 217, // 239: xatu.DecoratedEvent.libp2p_trace_deliver_message:type_name -> xatu.libp2p.DeliverMessage + 218, // 240: xatu.DecoratedEvent.libp2p_trace_publish_message:type_name -> xatu.libp2p.PublishMessage + 219, // 241: xatu.DecoratedEvent.libp2p_trace_reject_message:type_name -> xatu.libp2p.RejectMessage + 220, // 242: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_ihave:type_name -> xatu.libp2p.ControlIHaveMetaItem + 221, // 243: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_iwant:type_name -> xatu.libp2p.ControlIWantMetaItem + 222, // 244: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_idontwant:type_name -> xatu.libp2p.ControlIDontWantMetaItem + 223, // 245: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_graft:type_name -> xatu.libp2p.ControlGraftMetaItem + 224, // 246: xatu.DecoratedEvent.libp2p_trace_rpc_meta_control_prune:type_name -> xatu.libp2p.ControlPruneMetaItem + 225, // 247: xatu.DecoratedEvent.libp2p_trace_rpc_meta_subscription:type_name -> xatu.libp2p.SubMetaItem + 226, // 248: xatu.DecoratedEvent.libp2p_trace_rpc_meta_message:type_name -> xatu.libp2p.MessageMetaItem + 227, // 249: xatu.DecoratedEvent.node_record_consensus:type_name -> xatu.noderecord.Consensus + 228, // 250: xatu.DecoratedEvent.node_record_execution:type_name -> xatu.noderecord.Execution + 229, // 251: xatu.DecoratedEvent.libp2p_trace_gossipsub_aggregate_and_proof:type_name -> xatu.eth.v1.SignedAggregateAttestationAndProofV2 + 230, // 252: xatu.DecoratedEvent.eth_v1_events_data_column_sidecar:type_name -> xatu.eth.v1.EventDataColumnSidecar + 231, // 253: xatu.DecoratedEvent.libp2p_trace_gossipsub_data_column_sidecar:type_name -> xatu.libp2p.gossipsub.eth.DataColumnSidecar + 232, // 254: xatu.DecoratedEvent.libp2p_trace_synthetic_heartbeat:type_name -> xatu.libp2p.SyntheticHeartbeat + 233, // 255: xatu.DecoratedEvent.libp2p_trace_identify:type_name -> xatu.libp2p.Identify + 234, // 256: xatu.DecoratedEvent.libp2p_trace_rpc_data_column_custody_probe:type_name -> xatu.libp2p.DataColumnCustodyProbe + 19, // 257: xatu.DecoratedEvent.execution_state_size:type_name -> xatu.ExecutionStateSize + 20, // 258: xatu.DecoratedEvent.consensus_engine_api_new_payload:type_name -> xatu.ConsensusEngineAPINewPayload + 21, // 259: xatu.DecoratedEvent.consensus_engine_api_get_blobs:type_name -> xatu.ConsensusEngineAPIGetBlobs + 22, // 260: xatu.DecoratedEvent.execution_engine_new_payload:type_name -> xatu.ExecutionEngineNewPayload + 23, // 261: xatu.DecoratedEvent.execution_engine_get_blobs:type_name -> xatu.ExecutionEngineGetBlobs + 235, // 262: xatu.DecoratedEvent.eth_v1_beacon_blob:type_name -> xatu.eth.v1.Blob + 16, // 263: xatu.DecoratedEvent.eth_v1_beacon_sync_committee:type_name -> xatu.SyncCommitteeData + 17, // 264: xatu.DecoratedEvent.eth_v2_beacon_block_sync_aggregate:type_name -> xatu.SyncAggregateData + 28, // 265: xatu.DecoratedEvent.execution_block_metrics:type_name -> xatu.ExecutionBlockMetrics + 236, // 266: xatu.DecoratedEvent.eth_v1_events_fast_confirmation:type_name -> xatu.eth.v1.EventFastConfirmation + 237, // 267: xatu.DecoratedEvent.eth_v2_beacon_block_access_list:type_name -> xatu.eth.v1.BlockAccessListChange + 238, // 268: xatu.DecoratedEvent.eth_v1_events_execution_payload:type_name -> xatu.eth.v1.SignedExecutionPayloadEnvelope + 239, // 269: xatu.DecoratedEvent.eth_v1_events_payload_attestation:type_name -> xatu.eth.v1.PayloadAttestationMessage + 240, // 270: xatu.DecoratedEvent.eth_v1_events_execution_payload_bid:type_name -> xatu.eth.v1.SignedExecutionPayloadBid + 241, // 271: xatu.DecoratedEvent.eth_v1_events_proposer_preferences:type_name -> xatu.eth.v1.SignedProposerPreferences + 242, // 272: xatu.DecoratedEvent.eth_v2_beacon_block_payload_attestation:type_name -> xatu.eth.v1.PayloadAttestation + 240, // 273: xatu.DecoratedEvent.eth_v2_beacon_block_execution_payload_bid:type_name -> xatu.eth.v1.SignedExecutionPayloadBid + 243, // 274: xatu.DecoratedEvent.libp2p_trace_gossipsub_execution_payload_envelope:type_name -> xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope + 244, // 275: xatu.DecoratedEvent.libp2p_trace_gossipsub_execution_payload_bid:type_name -> xatu.libp2p.gossipsub.eth.ExecutionPayloadBid + 245, // 276: xatu.DecoratedEvent.libp2p_trace_gossipsub_payload_attestation_message:type_name -> xatu.libp2p.gossipsub.eth.PayloadAttestationMessage + 246, // 277: xatu.DecoratedEvent.libp2p_trace_gossipsub_proposer_preferences:type_name -> xatu.libp2p.gossipsub.eth.ProposerPreferences + 238, // 278: xatu.DecoratedEvent.eth_v1_events_execution_payload_gossip:type_name -> xatu.eth.v1.SignedExecutionPayloadEnvelope + 247, // 279: xatu.DecoratedEvent.eth_v1_events_execution_payload_available:type_name -> xatu.eth.v1.ExecutionPayloadAvailable + 248, // 280: xatu.DecoratedEvent.beacon_synthetic_payload_status_resolved:type_name -> xatu.eth.v1.PayloadStatusResolved + 249, // 281: xatu.DecoratedEvent.beacon_synthetic_builder_pending_payment_settlement:type_name -> xatu.eth.v1.BuilderPendingPaymentSettlement + 250, // 282: xatu.DecoratedEvent.beacon_synthetic_payload_attestation_processed:type_name -> xatu.eth.v1.PayloadAttestationProcessed + 141, // 283: xatu.ClientMeta.Ethereum.network:type_name -> xatu.ClientMeta.Ethereum.Network + 142, // 284: xatu.ClientMeta.Ethereum.execution:type_name -> xatu.ClientMeta.Ethereum.Execution + 143, // 285: xatu.ClientMeta.Ethereum.consensus:type_name -> xatu.ClientMeta.Ethereum.Consensus + 4, // 286: xatu.ClientMeta.AdditionalEthV1AttestationSourceData.epoch:type_name -> xatu.Epoch + 5, // 287: xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data.epoch:type_name -> xatu.EpochV2 + 4, // 288: xatu.ClientMeta.AdditionalEthV1AttestationTargetData.epoch:type_name -> xatu.Epoch + 5, // 289: xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data.epoch:type_name -> xatu.EpochV2 + 32, // 290: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceData + 34, // 291: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetData + 6, // 292: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.slot:type_name -> xatu.Slot + 4, // 293: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.epoch:type_name -> xatu.Epoch + 9, // 294: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.propagation:type_name -> xatu.Propagation + 11, // 295: xatu.ClientMeta.AdditionalEthV1EventsAttestationData.attesting_validator:type_name -> xatu.AttestingValidator + 33, // 296: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + 35, // 297: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + 7, // 298: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.slot:type_name -> xatu.SlotV2 + 5, // 299: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.epoch:type_name -> xatu.EpochV2 + 10, // 300: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.propagation:type_name -> xatu.PropagationV2 + 12, // 301: xatu.ClientMeta.AdditionalEthV1EventsAttestationV2Data.attesting_validator:type_name -> xatu.AttestingValidatorV2 + 4, // 302: xatu.ClientMeta.AdditionalEthV1EventsHeadData.epoch:type_name -> xatu.Epoch + 6, // 303: xatu.ClientMeta.AdditionalEthV1EventsHeadData.slot:type_name -> xatu.Slot + 9, // 304: xatu.ClientMeta.AdditionalEthV1EventsHeadData.propagation:type_name -> xatu.Propagation + 5, // 305: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.epoch:type_name -> xatu.EpochV2 + 7, // 306: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.slot:type_name -> xatu.SlotV2 + 10, // 307: xatu.ClientMeta.AdditionalEthV1EventsHeadV2Data.propagation:type_name -> xatu.PropagationV2 + 4, // 308: xatu.ClientMeta.AdditionalEthV1EventsBlockData.epoch:type_name -> xatu.Epoch + 6, // 309: xatu.ClientMeta.AdditionalEthV1EventsBlockData.slot:type_name -> xatu.Slot + 9, // 310: xatu.ClientMeta.AdditionalEthV1EventsBlockData.propagation:type_name -> xatu.Propagation + 5, // 311: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.epoch:type_name -> xatu.EpochV2 + 7, // 312: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.slot:type_name -> xatu.SlotV2 + 10, // 313: xatu.ClientMeta.AdditionalEthV1EventsBlockV2Data.propagation:type_name -> xatu.PropagationV2 + 5, // 314: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData.epoch:type_name -> xatu.EpochV2 + 7, // 315: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData.slot:type_name -> xatu.SlotV2 + 10, // 316: xatu.ClientMeta.AdditionalEthV1EventsBlockGossipData.propagation:type_name -> xatu.PropagationV2 + 5, // 317: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.epoch:type_name -> xatu.EpochV2 + 7, // 318: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.slot:type_name -> xatu.SlotV2 + 10, // 319: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.propagation:type_name -> xatu.PropagationV2 + 7, // 320: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.wallclock_slot:type_name -> xatu.SlotV2 + 5, // 321: xatu.ClientMeta.AdditionalEthV1EventsFastConfirmationData.wallclock_epoch:type_name -> xatu.EpochV2 + 4, // 322: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitData.epoch:type_name -> xatu.Epoch + 5, // 323: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data.epoch:type_name -> xatu.EpochV2 + 5, // 324: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 325: xatu.ClientMeta.AdditionalEthV1EventsVoluntaryExitV2Data.wallclock_slot:type_name -> xatu.SlotV2 + 4, // 326: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointData.epoch:type_name -> xatu.Epoch + 5, // 327: xatu.ClientMeta.AdditionalEthV1EventsFinalizedCheckpointV2Data.epoch:type_name -> xatu.EpochV2 + 4, // 328: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.epoch:type_name -> xatu.Epoch + 6, // 329: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.slot:type_name -> xatu.Slot + 9, // 330: xatu.ClientMeta.AdditionalEthV1EventsChainReorgData.propagation:type_name -> xatu.Propagation + 5, // 331: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.epoch:type_name -> xatu.EpochV2 + 7, // 332: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.slot:type_name -> xatu.SlotV2 + 10, // 333: xatu.ClientMeta.AdditionalEthV1EventsChainReorgV2Data.propagation:type_name -> xatu.PropagationV2 + 4, // 334: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.epoch:type_name -> xatu.Epoch + 6, // 335: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.slot:type_name -> xatu.Slot + 9, // 336: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData.propagation:type_name -> xatu.Propagation + 5, // 337: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.epoch:type_name -> xatu.EpochV2 + 7, // 338: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.slot:type_name -> xatu.SlotV2 + 10, // 339: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data.propagation:type_name -> xatu.PropagationV2 + 50, // 340: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofData.contribution:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionData + 51, // 341: xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofV2Data.contribution:type_name -> xatu.ClientMeta.AdditionalEthV1EventsContributionAndProofContributionV2Data + 4, // 342: xatu.ClientMeta.ForkChoiceSnapshot.request_epoch:type_name -> xatu.Epoch + 6, // 343: xatu.ClientMeta.ForkChoiceSnapshot.request_slot:type_name -> xatu.Slot + 160, // 344: xatu.ClientMeta.ForkChoiceSnapshot.timestamp:type_name -> google.protobuf.Timestamp + 5, // 345: xatu.ClientMeta.ForkChoiceSnapshotV2.request_epoch:type_name -> xatu.EpochV2 + 7, // 346: xatu.ClientMeta.ForkChoiceSnapshotV2.request_slot:type_name -> xatu.SlotV2 + 159, // 347: xatu.ClientMeta.ForkChoiceSnapshotV2.requested_at_slot_start_diff_ms:type_name -> google.protobuf.UInt64Value + 159, // 348: xatu.ClientMeta.ForkChoiceSnapshotV2.request_duration_ms:type_name -> google.protobuf.UInt64Value + 160, // 349: xatu.ClientMeta.ForkChoiceSnapshotV2.timestamp:type_name -> google.protobuf.Timestamp + 54, // 350: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceData.Snapshot:type_name -> xatu.ClientMeta.ForkChoiceSnapshot + 55, // 351: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceV2Data.Snapshot:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 + 54, // 352: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.before:type_name -> xatu.ClientMeta.ForkChoiceSnapshot + 54, // 353: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgData.after:type_name -> xatu.ClientMeta.ForkChoiceSnapshot + 55, // 354: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data.before:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 + 55, // 355: xatu.ClientMeta.AdditionalEthV1DebugForkChoiceReOrgV2Data.after:type_name -> xatu.ClientMeta.ForkChoiceSnapshotV2 + 5, // 356: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.epoch:type_name -> xatu.EpochV2 + 7, // 357: xatu.ClientMeta.AdditionalEthV1BeaconCommitteeData.slot:type_name -> xatu.SlotV2 + 5, // 358: xatu.ClientMeta.AdditionalEthV1BeaconSyncCommitteeData.epoch:type_name -> xatu.EpochV2 + 159, // 359: xatu.ClientMeta.AdditionalEthV1BeaconSyncCommitteeData.sync_committee_period:type_name -> google.protobuf.UInt64Value + 18, // 360: xatu.ClientMeta.AdditionalEthV2BeaconBlockSyncAggregateData.block:type_name -> xatu.BlockIdentifier + 159, // 361: xatu.ClientMeta.AdditionalEthV2BeaconBlockSyncAggregateData.sync_committee_period:type_name -> google.protobuf.UInt64Value + 159, // 362: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.nonce:type_name -> google.protobuf.UInt64Value + 159, // 363: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.gas:type_name -> google.protobuf.UInt64Value + 167, // 364: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.type:type_name -> google.protobuf.UInt32Value + 159, // 365: xatu.ClientMeta.AdditionalMempoolTransactionV2Data.blob_gas:type_name -> google.protobuf.UInt64Value + 4, // 366: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.epoch:type_name -> xatu.Epoch + 6, // 367: xatu.ClientMeta.AdditionalEthV2BeaconBlockData.slot:type_name -> xatu.Slot + 5, // 368: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.epoch:type_name -> xatu.EpochV2 + 7, // 369: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.slot:type_name -> xatu.SlotV2 + 159, // 370: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_count:type_name -> google.protobuf.UInt64Value + 159, // 371: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_total_bytes:type_name -> google.protobuf.UInt64Value + 159, // 372: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.transactions_total_bytes_compressed:type_name -> google.protobuf.UInt64Value + 159, // 373: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.total_bytes:type_name -> google.protobuf.UInt64Value + 159, // 374: xatu.ClientMeta.AdditionalEthV2BeaconBlockV2Data.total_bytes_compressed:type_name -> google.protobuf.UInt64Value + 18, // 375: xatu.ClientMeta.AdditionalEthV2BeaconBlockAttesterSlashingData.block:type_name -> xatu.BlockIdentifier + 18, // 376: xatu.ClientMeta.AdditionalEthV2BeaconBlockProposerSlashingData.block:type_name -> xatu.BlockIdentifier + 18, // 377: xatu.ClientMeta.AdditionalEthV2BeaconBlockVoluntaryExitData.block:type_name -> xatu.BlockIdentifier + 18, // 378: xatu.ClientMeta.AdditionalEthV2BeaconBlockDepositData.block:type_name -> xatu.BlockIdentifier + 18, // 379: xatu.ClientMeta.AdditionalEthV2BeaconBlockBLSToExecutionChangeData.block:type_name -> xatu.BlockIdentifier + 18, // 380: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionTransactionData.block:type_name -> xatu.BlockIdentifier + 159, // 381: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionTransactionData.position_in_block:type_name -> google.protobuf.UInt64Value + 18, // 382: xatu.ClientMeta.AdditionalEthV2BeaconBlockWithdrawalData.block:type_name -> xatu.BlockIdentifier + 18, // 383: xatu.ClientMeta.AdditionalEthV2BeaconBlockAccessListData.block:type_name -> xatu.BlockIdentifier + 159, // 384: xatu.ClientMeta.AdditionalEthV2BeaconBlockAccessListData.block_number:type_name -> google.protobuf.UInt64Value + 5, // 385: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadData.epoch:type_name -> xatu.EpochV2 + 7, // 386: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadData.slot:type_name -> xatu.SlotV2 + 10, // 387: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadData.propagation:type_name -> xatu.PropagationV2 + 5, // 388: xatu.ClientMeta.AdditionalEthV1EventsPayloadAttestationData.epoch:type_name -> xatu.EpochV2 + 7, // 389: xatu.ClientMeta.AdditionalEthV1EventsPayloadAttestationData.slot:type_name -> xatu.SlotV2 + 10, // 390: xatu.ClientMeta.AdditionalEthV1EventsPayloadAttestationData.propagation:type_name -> xatu.PropagationV2 + 5, // 391: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadBidData.epoch:type_name -> xatu.EpochV2 + 7, // 392: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadBidData.slot:type_name -> xatu.SlotV2 + 10, // 393: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadBidData.propagation:type_name -> xatu.PropagationV2 + 5, // 394: xatu.ClientMeta.AdditionalEthV1EventsProposerPreferencesData.epoch:type_name -> xatu.EpochV2 + 7, // 395: xatu.ClientMeta.AdditionalEthV1EventsProposerPreferencesData.slot:type_name -> xatu.SlotV2 + 10, // 396: xatu.ClientMeta.AdditionalEthV1EventsProposerPreferencesData.propagation:type_name -> xatu.PropagationV2 + 5, // 397: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadGossipData.epoch:type_name -> xatu.EpochV2 + 7, // 398: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadGossipData.slot:type_name -> xatu.SlotV2 + 10, // 399: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadGossipData.propagation:type_name -> xatu.PropagationV2 + 5, // 400: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadAvailableData.epoch:type_name -> xatu.EpochV2 + 7, // 401: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadAvailableData.slot:type_name -> xatu.SlotV2 + 10, // 402: xatu.ClientMeta.AdditionalEthV1EventsExecutionPayloadAvailableData.propagation:type_name -> xatu.PropagationV2 + 5, // 403: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadStatusResolvedData.epoch:type_name -> xatu.EpochV2 + 7, // 404: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadStatusResolvedData.slot:type_name -> xatu.SlotV2 + 10, // 405: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadStatusResolvedData.propagation:type_name -> xatu.PropagationV2 + 5, // 406: xatu.ClientMeta.AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData.epoch:type_name -> xatu.EpochV2 + 5, // 407: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadAttestationProcessedData.epoch:type_name -> xatu.EpochV2 + 7, // 408: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadAttestationProcessedData.slot:type_name -> xatu.SlotV2 + 10, // 409: xatu.ClientMeta.AdditionalBeaconSyntheticPayloadAttestationProcessedData.propagation:type_name -> xatu.PropagationV2 + 18, // 410: xatu.ClientMeta.AdditionalEthV2BeaconBlockPayloadAttestationData.block:type_name -> xatu.BlockIdentifier + 167, // 411: xatu.ClientMeta.AdditionalEthV2BeaconBlockPayloadAttestationData.position:type_name -> google.protobuf.UInt32Value + 18, // 412: xatu.ClientMeta.AdditionalEthV2BeaconBlockExecutionPayloadBidData.block:type_name -> xatu.BlockIdentifier + 5, // 413: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.epoch:type_name -> xatu.EpochV2 + 7, // 414: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.slot:type_name -> xatu.SlotV2 + 5, // 415: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 416: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 417: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.propagation:type_name -> xatu.PropagationV2 + 251, // 418: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 419: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.topic:type_name -> google.protobuf.StringValue + 167, // 420: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 421: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.message_id:type_name -> google.protobuf.StringValue + 5, // 422: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.epoch:type_name -> xatu.EpochV2 + 7, // 423: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.slot:type_name -> xatu.SlotV2 + 5, // 424: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 425: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 426: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.propagation:type_name -> xatu.PropagationV2 + 251, // 427: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 428: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.topic:type_name -> google.protobuf.StringValue + 167, // 429: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 430: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.message_id:type_name -> google.protobuf.StringValue + 5, // 431: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.epoch:type_name -> xatu.EpochV2 + 7, // 432: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.slot:type_name -> xatu.SlotV2 + 5, // 433: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 434: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 435: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.propagation:type_name -> xatu.PropagationV2 + 251, // 436: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 437: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.topic:type_name -> google.protobuf.StringValue + 167, // 438: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 439: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.message_id:type_name -> google.protobuf.StringValue + 5, // 440: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.epoch:type_name -> xatu.EpochV2 + 7, // 441: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.slot:type_name -> xatu.SlotV2 + 5, // 442: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 443: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 444: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.propagation:type_name -> xatu.PropagationV2 + 251, // 445: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 446: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.topic:type_name -> google.protobuf.StringValue + 167, // 447: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 448: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubProposerPreferencesData.message_id:type_name -> google.protobuf.StringValue + 159, // 449: xatu.ClientMeta.AttestationDataSnapshot.requested_at_slot_start_diff_ms:type_name -> google.protobuf.UInt64Value + 159, // 450: xatu.ClientMeta.AttestationDataSnapshot.request_duration_ms:type_name -> google.protobuf.UInt64Value + 160, // 451: xatu.ClientMeta.AttestationDataSnapshot.timestamp:type_name -> google.protobuf.Timestamp + 33, // 452: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + 35, // 453: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + 5, // 454: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.epoch:type_name -> xatu.EpochV2 + 7, // 455: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.slot:type_name -> xatu.SlotV2 + 90, // 456: xatu.ClientMeta.AdditionalEthV1ValidatorAttestationDataData.Snapshot:type_name -> xatu.ClientMeta.AttestationDataSnapshot + 5, // 457: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData.epoch:type_name -> xatu.EpochV2 + 7, // 458: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData.slot:type_name -> xatu.SlotV2 + 10, // 459: xatu.ClientMeta.AdditionalEthV1EventsBlobSidecarData.propagation:type_name -> xatu.PropagationV2 + 5, // 460: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData.epoch:type_name -> xatu.EpochV2 + 7, // 461: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData.slot:type_name -> xatu.SlotV2 + 10, // 462: xatu.ClientMeta.AdditionalEthV1EventsDataColumnSidecarData.propagation:type_name -> xatu.PropagationV2 + 5, // 463: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.epoch:type_name -> xatu.EpochV2 + 7, // 464: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.slot:type_name -> xatu.SlotV2 + 159, // 465: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.data_size:type_name -> google.protobuf.UInt64Value + 159, // 466: xatu.ClientMeta.AdditionalEthV1BeaconBlobSidecarData.data_empty_size:type_name -> google.protobuf.UInt64Value + 33, // 467: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + 35, // 468: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + 7, // 469: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.slot:type_name -> xatu.SlotV2 + 5, // 470: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.epoch:type_name -> xatu.EpochV2 + 10, // 471: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.propagation:type_name -> xatu.PropagationV2 + 12, // 472: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.attesting_validator:type_name -> xatu.AttestingValidatorV2 + 253, // 473: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.peer:type_name -> xatu.libp2p.Peer + 167, // 474: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.subnet:type_name -> google.protobuf.UInt32Value + 254, // 475: xatu.ClientMeta.AdditionalBeaconP2PAttestationData.validated:type_name -> google.protobuf.BoolValue + 5, // 476: xatu.ClientMeta.AdditionalEthV1ProposerDutyData.epoch:type_name -> xatu.EpochV2 + 7, // 477: xatu.ClientMeta.AdditionalEthV1ProposerDutyData.slot:type_name -> xatu.SlotV2 + 18, // 478: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.block:type_name -> xatu.BlockIdentifier + 159, // 479: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.position_in_block:type_name -> google.protobuf.UInt64Value + 5, // 480: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.epoch:type_name -> xatu.EpochV2 + 7, // 481: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.slot:type_name -> xatu.SlotV2 + 33, // 482: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.source:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationSourceV2Data + 35, // 483: xatu.ClientMeta.AdditionalEthV2BeaconBlockElaboratedAttestationData.target:type_name -> xatu.ClientMeta.AdditionalEthV1AttestationTargetV2Data + 251, // 484: xatu.ClientMeta.AdditionalLibP2PTraceAddPeerData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 485: xatu.ClientMeta.AdditionalLibP2PTraceRemovePeerData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 486: xatu.ClientMeta.AdditionalLibP2PTraceRecvRPCData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 487: xatu.ClientMeta.AdditionalLibP2PTraceSendRPCData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 488: xatu.ClientMeta.AdditionalLibP2PTraceDropRPCData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 489: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIHaveData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 490: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIWantData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 491: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlIDontWantData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 492: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlGraftData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 493: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaControlPruneData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 494: xatu.ClientMeta.AdditionalLibP2PTraceJoinData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 495: xatu.ClientMeta.AdditionalLibP2PTraceLeaveData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 496: xatu.ClientMeta.AdditionalLibP2PTraceGraftData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 497: xatu.ClientMeta.AdditionalLibP2PTracePruneData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 498: xatu.ClientMeta.AdditionalLibP2PTraceDuplicateMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 499: xatu.ClientMeta.AdditionalLibP2PTraceDeliverMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 500: xatu.ClientMeta.AdditionalLibP2PTracePublishMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 501: xatu.ClientMeta.AdditionalLibP2PTraceRejectMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 502: xatu.ClientMeta.AdditionalLibP2PTraceConnectedData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 503: xatu.ClientMeta.AdditionalLibP2PTraceDisconnectedData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 504: xatu.ClientMeta.AdditionalLibP2PTraceSyntheticHeartbeatData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 505: xatu.ClientMeta.AdditionalLibP2PTraceHandleMetadataData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 506: xatu.ClientMeta.AdditionalLibP2PTraceHandleStatusData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 507: xatu.ClientMeta.AdditionalLibP2PTraceIdentifyData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 508: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 5, // 509: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.epoch:type_name -> xatu.EpochV2 + 7, // 510: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.slot:type_name -> xatu.SlotV2 + 5, // 511: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 512: xatu.ClientMeta.AdditionalLibP2PTraceRpcDataColumnCustodyProbeData.wallclock_slot:type_name -> xatu.SlotV2 + 251, // 513: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaSubscriptionData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 251, // 514: xatu.ClientMeta.AdditionalLibP2PTraceRPCMetaMessageData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 5, // 515: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.epoch:type_name -> xatu.EpochV2 + 7, // 516: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.slot:type_name -> xatu.SlotV2 + 5, // 517: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 518: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 519: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.propagation:type_name -> xatu.PropagationV2 + 251, // 520: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 521: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.topic:type_name -> google.protobuf.StringValue + 167, // 522: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 523: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconBlockData.message_id:type_name -> google.protobuf.StringValue + 5, // 524: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData.epoch:type_name -> xatu.EpochV2 + 5, // 525: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData.epoch:type_name -> xatu.EpochV2 + 126, // 526: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.source:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData + 127, // 527: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.target:type_name -> xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData + 7, // 528: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.slot:type_name -> xatu.SlotV2 + 5, // 529: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.epoch:type_name -> xatu.EpochV2 + 10, // 530: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.propagation:type_name -> xatu.PropagationV2 + 12, // 531: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.attesting_validator:type_name -> xatu.AttestingValidatorV2 + 5, // 532: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 533: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.wallclock_slot:type_name -> xatu.SlotV2 + 251, // 534: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 535: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.topic:type_name -> google.protobuf.StringValue + 167, // 536: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 537: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBeaconAttestationData.message_id:type_name -> google.protobuf.StringValue + 5, // 538: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.epoch:type_name -> xatu.EpochV2 + 7, // 539: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.slot:type_name -> xatu.SlotV2 + 5, // 540: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 541: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 542: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.propagation:type_name -> xatu.PropagationV2 + 159, // 543: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.aggregator_index:type_name -> google.protobuf.UInt64Value + 251, // 544: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 545: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.topic:type_name -> google.protobuf.StringValue + 167, // 546: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 547: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubAggregateAndProofData.message_id:type_name -> google.protobuf.StringValue + 5, // 548: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.epoch:type_name -> xatu.EpochV2 + 7, // 549: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.slot:type_name -> xatu.SlotV2 + 5, // 550: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 551: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 552: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.propagation:type_name -> xatu.PropagationV2 + 251, // 553: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 554: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.topic:type_name -> google.protobuf.StringValue + 167, // 555: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 556: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubBlobSidecarData.message_id:type_name -> google.protobuf.StringValue + 5, // 557: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.epoch:type_name -> xatu.EpochV2 + 7, // 558: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.slot:type_name -> xatu.SlotV2 + 5, // 559: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.wallclock_epoch:type_name -> xatu.EpochV2 + 7, // 560: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.wallclock_slot:type_name -> xatu.SlotV2 + 10, // 561: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.propagation:type_name -> xatu.PropagationV2 + 251, // 562: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.metadata:type_name -> xatu.libp2p.TraceEventMetadata + 252, // 563: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.topic:type_name -> google.protobuf.StringValue + 167, // 564: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.message_size:type_name -> google.protobuf.UInt32Value + 252, // 565: xatu.ClientMeta.AdditionalLibP2PTraceGossipSubDataColumnSidecarData.message_id:type_name -> google.protobuf.StringValue + 5, // 566: xatu.ClientMeta.AdditionalEthV1ValidatorsData.epoch:type_name -> xatu.EpochV2 + 255, // 567: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.relay:type_name -> xatu.mevrelay.Relay + 7, // 568: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.slot:type_name -> xatu.SlotV2 + 7, // 569: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.wallclock_slot:type_name -> xatu.SlotV2 + 5, // 570: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.epoch:type_name -> xatu.EpochV2 + 5, // 571: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.wallclock_epoch:type_name -> xatu.EpochV2 + 159, // 572: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.requested_at_slot_time:type_name -> google.protobuf.UInt64Value + 159, // 573: xatu.ClientMeta.AdditionalMevRelayBidTraceBuilderBlockSubmissionData.response_at_slot_time:type_name -> google.protobuf.UInt64Value + 255, // 574: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.relay:type_name -> xatu.mevrelay.Relay + 7, // 575: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.slot:type_name -> xatu.SlotV2 + 7, // 576: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.wallclock_slot:type_name -> xatu.SlotV2 + 5, // 577: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.epoch:type_name -> xatu.EpochV2 + 5, // 578: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.wallclock_epoch:type_name -> xatu.EpochV2 + 159, // 579: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.requested_at_slot_time:type_name -> google.protobuf.UInt64Value + 159, // 580: xatu.ClientMeta.AdditionalMevRelayPayloadDeliveredData.response_at_slot_time:type_name -> google.protobuf.UInt64Value + 5, // 581: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.epoch:type_name -> xatu.EpochV2 + 7, // 582: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.slot:type_name -> xatu.SlotV2 + 159, // 583: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.transactions_count:type_name -> google.protobuf.UInt64Value + 159, // 584: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.transactions_total_bytes:type_name -> google.protobuf.UInt64Value + 159, // 585: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.transactions_total_bytes_compressed:type_name -> google.protobuf.UInt64Value + 159, // 586: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.total_bytes:type_name -> google.protobuf.UInt64Value + 159, // 587: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.total_bytes_compressed:type_name -> google.protobuf.UInt64Value + 159, // 588: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.request_duration_ms:type_name -> google.protobuf.UInt64Value + 160, // 589: xatu.ClientMeta.AdditionalEthV3ValidatorBlockData.requested_at:type_name -> google.protobuf.Timestamp + 255, // 590: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.relay:type_name -> xatu.mevrelay.Relay + 7, // 591: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.slot:type_name -> xatu.SlotV2 + 7, // 592: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.wallclock_slot:type_name -> xatu.SlotV2 + 5, // 593: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.epoch:type_name -> xatu.EpochV2 + 5, // 594: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.wallclock_epoch:type_name -> xatu.EpochV2 + 159, // 595: xatu.ClientMeta.AdditionalMevRelayValidatorRegistrationData.validator_index:type_name -> google.protobuf.UInt64Value + 5, // 596: xatu.ClientMeta.AdditionalNodeRecordConsensusData.finalized_epoch:type_name -> xatu.EpochV2 + 7, // 597: xatu.ClientMeta.AdditionalNodeRecordConsensusData.head_slot:type_name -> xatu.SlotV2 + 5, // 598: xatu.ClientMeta.AdditionalNodeRecordConsensusData.head_epoch:type_name -> xatu.EpochV2 + 5, // 599: xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData.epoch:type_name -> xatu.EpochV2 + 7, // 600: xatu.ClientMeta.AdditionalConsensusEngineAPINewPayloadData.slot:type_name -> xatu.SlotV2 + 5, // 601: xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData.epoch:type_name -> xatu.EpochV2 + 7, // 602: xatu.ClientMeta.AdditionalConsensusEngineAPIGetBlobsData.slot:type_name -> xatu.SlotV2 + 5, // 603: xatu.ClientMeta.AdditionalEthV1BeaconBlobData.epoch:type_name -> xatu.EpochV2 + 7, // 604: xatu.ClientMeta.AdditionalEthV1BeaconBlobData.slot:type_name -> xatu.SlotV2 + 8, // 605: xatu.ClientMeta.Ethereum.Execution.fork_id:type_name -> xatu.ForkID + 160, // 606: xatu.ServerMeta.Event.received_date_time:type_name -> google.protobuf.Timestamp + 145, // 607: xatu.ServerMeta.Client.geo:type_name -> xatu.ServerMeta.Geo + 145, // 608: xatu.ServerMeta.Peer.geo:type_name -> xatu.ServerMeta.Geo + 147, // 609: xatu.ServerMeta.AdditionalBeaconP2PAttestationData.peer:type_name -> xatu.ServerMeta.Peer + 147, // 610: xatu.ServerMeta.AdditionalLibp2PTraceConnectedData.peer:type_name -> xatu.ServerMeta.Peer + 147, // 611: xatu.ServerMeta.AdditionalLibp2PTraceDisconnectedData.peer:type_name -> xatu.ServerMeta.Peer + 147, // 612: xatu.ServerMeta.AdditionalLibP2PTraceSyntheticHeartbeatData.peer:type_name -> xatu.ServerMeta.Peer + 147, // 613: xatu.ServerMeta.AdditionalLibp2PTraceIdentifyData.peer:type_name -> xatu.ServerMeta.Peer + 145, // 614: xatu.ServerMeta.AdditionalNodeRecordConsensusData.geo:type_name -> xatu.ServerMeta.Geo + 145, // 615: xatu.ServerMeta.AdditionalNodeRecordExecutionData.geo:type_name -> xatu.ServerMeta.Geo + 159, // 616: xatu.ExecutionBlockMetrics.StateReads.accounts:type_name -> google.protobuf.UInt64Value + 159, // 617: xatu.ExecutionBlockMetrics.StateReads.storage_slots:type_name -> google.protobuf.UInt64Value + 159, // 618: xatu.ExecutionBlockMetrics.StateReads.code:type_name -> google.protobuf.UInt64Value + 159, // 619: xatu.ExecutionBlockMetrics.StateReads.code_bytes:type_name -> google.protobuf.UInt64Value + 159, // 620: xatu.ExecutionBlockMetrics.StateWrites.accounts:type_name -> google.protobuf.UInt64Value + 159, // 621: xatu.ExecutionBlockMetrics.StateWrites.accounts_deleted:type_name -> google.protobuf.UInt64Value + 159, // 622: xatu.ExecutionBlockMetrics.StateWrites.storage_slots:type_name -> google.protobuf.UInt64Value + 159, // 623: xatu.ExecutionBlockMetrics.StateWrites.storage_slots_deleted:type_name -> google.protobuf.UInt64Value + 159, // 624: xatu.ExecutionBlockMetrics.StateWrites.code:type_name -> google.protobuf.UInt64Value + 159, // 625: xatu.ExecutionBlockMetrics.StateWrites.code_bytes:type_name -> google.protobuf.UInt64Value + 256, // 626: xatu.ExecutionBlockMetrics.CacheEntry.hits:type_name -> google.protobuf.Int64Value + 256, // 627: xatu.ExecutionBlockMetrics.CacheEntry.misses:type_name -> google.protobuf.Int64Value + 169, // 628: xatu.ExecutionBlockMetrics.CacheEntry.hit_rate:type_name -> google.protobuf.DoubleValue + 256, // 629: xatu.ExecutionBlockMetrics.CodeCacheEntry.hits:type_name -> google.protobuf.Int64Value + 256, // 630: xatu.ExecutionBlockMetrics.CodeCacheEntry.misses:type_name -> google.protobuf.Int64Value + 169, // 631: xatu.ExecutionBlockMetrics.CodeCacheEntry.hit_rate:type_name -> google.protobuf.DoubleValue + 256, // 632: xatu.ExecutionBlockMetrics.CodeCacheEntry.hit_bytes:type_name -> google.protobuf.Int64Value + 256, // 633: xatu.ExecutionBlockMetrics.CodeCacheEntry.miss_bytes:type_name -> google.protobuf.Int64Value + 2, // 634: xatu.EventIngester.CreateEvents:input_type -> xatu.CreateEventsRequest + 3, // 635: xatu.EventIngester.CreateEvents:output_type -> xatu.CreateEventsResponse + 635, // [635:636] is the sub-list for method output_type + 634, // [634:635] is the sub-list for method input_type + 634, // [634:634] is the sub-list for extension type_name + 634, // [634:634] is the sub-list for extension extendee + 0, // [0:634] is the sub-list for field type_name } func init() { file_pkg_proto_xatu_event_ingester_proto_init() } @@ -17581,8 +20076,200 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsAttestationV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[35].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsAttestationV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[36].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsHeadData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[37].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsHeadV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[38].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[39].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[40].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockGossipData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[41].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsFastConfirmationData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[42].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsVoluntaryExitData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[43].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[44].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[45].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[46].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsChainReorgData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[47].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsChainReorgV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[48].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[49].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[50].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_proto_xatu_event_ingester_proto_msgTypes[51].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data); i { case 0: return &v.state case 1: @@ -17593,8 +20280,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsHeadData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[52].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_ForkChoiceSnapshot); i { case 0: return &v.state case 1: @@ -17605,8 +20292,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsHeadV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[53].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_ForkChoiceSnapshotV2); i { case 0: return &v.state case 1: @@ -17617,8 +20304,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[38].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[54].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceData); i { case 0: return &v.state case 1: @@ -17629,8 +20316,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[39].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[55].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data); i { case 0: return &v.state case 1: @@ -17641,8 +20328,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[40].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsBlockGossipData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[56].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData); i { case 0: return &v.state case 1: @@ -17653,8 +20340,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsFastConfirmationData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[57].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data); i { case 0: return &v.state case 1: @@ -17665,8 +20352,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsVoluntaryExitData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[58].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1BeaconCommitteeData); i { case 0: return &v.state case 1: @@ -17677,8 +20364,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[43].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[59].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1BeaconSyncCommitteeData); i { case 0: return &v.state case 1: @@ -17689,8 +20376,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[44].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[60].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData); i { case 0: return &v.state case 1: @@ -17701,8 +20388,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[45].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[61].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalMempoolTransactionData); i { case 0: return &v.state case 1: @@ -17713,8 +20400,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[46].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsChainReorgData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[62].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalMempoolTransactionV2Data); i { case 0: return &v.state case 1: @@ -17725,8 +20412,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[47].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsChainReorgV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[63].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockData); i { case 0: return &v.state case 1: @@ -17737,8 +20424,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[48].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[64].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockV2Data); i { case 0: return &v.state case 1: @@ -17749,8 +20436,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[49].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[65].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData); i { case 0: return &v.state case 1: @@ -17761,8 +20448,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[50].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[66].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData); i { case 0: return &v.state case 1: @@ -17773,8 +20460,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[51].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[67].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData); i { case 0: return &v.state case 1: @@ -17785,8 +20472,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[52].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_ForkChoiceSnapshot); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[68].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockDepositData); i { case 0: return &v.state case 1: @@ -17797,8 +20484,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[53].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_ForkChoiceSnapshotV2); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[69].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData); i { case 0: return &v.state case 1: @@ -17809,8 +20496,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[54].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[70].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData); i { case 0: return &v.state case 1: @@ -17821,8 +20508,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[55].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[71].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData); i { case 0: return &v.state case 1: @@ -17833,8 +20520,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[56].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[72].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockAccessListData); i { case 0: return &v.state case 1: @@ -17845,8 +20532,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[57].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[73].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsExecutionPayloadData); i { case 0: return &v.state case 1: @@ -17857,8 +20544,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[58].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1BeaconCommitteeData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[74].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsPayloadAttestationData); i { case 0: return &v.state case 1: @@ -17869,8 +20556,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[59].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV1BeaconSyncCommitteeData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[75].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData); i { case 0: return &v.state case 1: @@ -17881,8 +20568,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[60].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[76].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsProposerPreferencesData); i { case 0: return &v.state case 1: @@ -17893,8 +20580,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[61].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalMempoolTransactionData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[77].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData); i { case 0: return &v.state case 1: @@ -17905,8 +20592,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[62].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalMempoolTransactionV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[78].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData); i { case 0: return &v.state case 1: @@ -17917,8 +20604,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[63].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[79].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData); i { case 0: return &v.state case 1: @@ -17929,8 +20616,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[64].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockV2Data); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[80].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData); i { case 0: return &v.state case 1: @@ -17941,8 +20628,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[65].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[81].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData); i { case 0: return &v.state case 1: @@ -17953,8 +20640,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[66].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[82].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData); i { case 0: return &v.state case 1: @@ -17965,8 +20652,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[67].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[83].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData); i { case 0: return &v.state case 1: @@ -17977,8 +20664,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[68].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockDepositData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[84].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData); i { case 0: return &v.state case 1: @@ -17989,8 +20676,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[69].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[85].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData); i { case 0: return &v.state case 1: @@ -18001,8 +20688,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[70].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[86].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData); i { case 0: return &v.state case 1: @@ -18013,8 +20700,8 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[71].Exporter = func(v any, i int) any { - switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData); i { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[87].Exporter = func(v any, i int) any { + switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData); i { case 0: return &v.state case 1: @@ -18025,7 +20712,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[72].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[88].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AttestationDataSnapshot); i { case 0: return &v.state @@ -18037,7 +20724,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[73].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[89].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV1ValidatorAttestationDataData); i { case 0: return &v.state @@ -18049,7 +20736,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[74].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[90].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV1EventsBlobSidecarData); i { case 0: return &v.state @@ -18061,7 +20748,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[75].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[91].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV1EventsDataColumnSidecarData); i { case 0: return &v.state @@ -18073,7 +20760,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[76].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[92].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV1BeaconBlobSidecarData); i { case 0: return &v.state @@ -18085,7 +20772,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[77].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[93].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalBeaconP2PAttestationData); i { case 0: return &v.state @@ -18097,7 +20784,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[78].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[94].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV1ProposerDutyData); i { case 0: return &v.state @@ -18109,7 +20796,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[79].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[95].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData); i { case 0: return &v.state @@ -18121,7 +20808,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[80].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[96].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceAddPeerData); i { case 0: return &v.state @@ -18133,7 +20820,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[81].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[97].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRemovePeerData); i { case 0: return &v.state @@ -18145,7 +20832,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[82].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[98].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRecvRPCData); i { case 0: return &v.state @@ -18157,7 +20844,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[83].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[99].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceSendRPCData); i { case 0: return &v.state @@ -18169,7 +20856,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[84].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[100].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceDropRPCData); i { case 0: return &v.state @@ -18181,7 +20868,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[85].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[101].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData); i { case 0: return &v.state @@ -18193,7 +20880,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[86].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[102].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData); i { case 0: return &v.state @@ -18205,7 +20892,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[87].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[103].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData); i { case 0: return &v.state @@ -18217,7 +20904,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[88].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[104].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData); i { case 0: return &v.state @@ -18229,7 +20916,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[89].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[105].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData); i { case 0: return &v.state @@ -18241,7 +20928,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[90].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[106].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceJoinData); i { case 0: return &v.state @@ -18253,7 +20940,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[91].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[107].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceLeaveData); i { case 0: return &v.state @@ -18265,7 +20952,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[92].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[108].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGraftData); i { case 0: return &v.state @@ -18277,7 +20964,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[93].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[109].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTracePruneData); i { case 0: return &v.state @@ -18289,7 +20976,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[94].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[110].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceDuplicateMessageData); i { case 0: return &v.state @@ -18301,7 +20988,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[95].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[111].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceDeliverMessageData); i { case 0: return &v.state @@ -18313,7 +21000,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[96].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[112].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTracePublishMessageData); i { case 0: return &v.state @@ -18325,7 +21012,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[97].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[113].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRejectMessageData); i { case 0: return &v.state @@ -18337,7 +21024,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[98].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[114].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceConnectedData); i { case 0: return &v.state @@ -18349,7 +21036,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[99].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[115].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceDisconnectedData); i { case 0: return &v.state @@ -18361,7 +21048,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[100].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[116].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData); i { case 0: return &v.state @@ -18373,7 +21060,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[101].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[117].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceHandleMetadataData); i { case 0: return &v.state @@ -18385,7 +21072,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[102].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[118].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceHandleStatusData); i { case 0: return &v.state @@ -18397,7 +21084,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[103].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[119].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceIdentifyData); i { case 0: return &v.state @@ -18409,7 +21096,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[104].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[120].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData); i { case 0: return &v.state @@ -18421,7 +21108,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[105].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[121].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData); i { case 0: return &v.state @@ -18433,7 +21120,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[106].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[122].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData); i { case 0: return &v.state @@ -18445,7 +21132,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[107].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[123].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData); i { case 0: return &v.state @@ -18457,7 +21144,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[108].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[124].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData); i { case 0: return &v.state @@ -18469,7 +21156,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[109].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[125].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData); i { case 0: return &v.state @@ -18481,7 +21168,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[110].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[126].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData); i { case 0: return &v.state @@ -18493,7 +21180,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[111].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[127].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData); i { case 0: return &v.state @@ -18505,7 +21192,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[112].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[128].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData); i { case 0: return &v.state @@ -18517,7 +21204,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[113].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[129].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData); i { case 0: return &v.state @@ -18529,7 +21216,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[114].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[130].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV1ValidatorsData); i { case 0: return &v.state @@ -18541,7 +21228,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[115].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[131].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData); i { case 0: return &v.state @@ -18553,7 +21240,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[116].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[132].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalMevRelayPayloadDeliveredData); i { case 0: return &v.state @@ -18565,7 +21252,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[117].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[133].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV3ValidatorBlockData); i { case 0: return &v.state @@ -18577,7 +21264,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[118].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[134].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalMevRelayValidatorRegistrationData); i { case 0: return &v.state @@ -18589,7 +21276,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[119].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[135].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalNodeRecordConsensusData); i { case 0: return &v.state @@ -18601,7 +21288,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[120].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[136].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalConsensusEngineAPINewPayloadData); i { case 0: return &v.state @@ -18613,7 +21300,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[121].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[137].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalConsensusEngineAPIGetBlobsData); i { case 0: return &v.state @@ -18625,7 +21312,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[122].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[138].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_AdditionalEthV1BeaconBlobData); i { case 0: return &v.state @@ -18637,7 +21324,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[123].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[139].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_Ethereum_Network); i { case 0: return &v.state @@ -18649,7 +21336,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[124].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[140].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_Ethereum_Execution); i { case 0: return &v.state @@ -18661,7 +21348,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[125].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[141].Exporter = func(v any, i int) any { switch v := v.(*ClientMeta_Ethereum_Consensus); i { case 0: return &v.state @@ -18673,7 +21360,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[126].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[142].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_Event); i { case 0: return &v.state @@ -18685,7 +21372,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[127].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[143].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_Geo); i { case 0: return &v.state @@ -18697,7 +21384,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[128].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[144].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_Client); i { case 0: return &v.state @@ -18709,7 +21396,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[129].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[145].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_Peer); i { case 0: return &v.state @@ -18721,7 +21408,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[130].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[146].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_AdditionalBeaconP2PAttestationData); i { case 0: return &v.state @@ -18733,7 +21420,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[131].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[147].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_AdditionalLibp2PTraceConnectedData); i { case 0: return &v.state @@ -18745,7 +21432,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[132].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[148].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_AdditionalLibp2PTraceDisconnectedData); i { case 0: return &v.state @@ -18757,7 +21444,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[133].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[149].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData); i { case 0: return &v.state @@ -18769,7 +21456,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[134].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[150].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_AdditionalLibp2PTraceIdentifyData); i { case 0: return &v.state @@ -18781,7 +21468,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[135].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[151].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_AdditionalNodeRecordConsensusData); i { case 0: return &v.state @@ -18793,7 +21480,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[136].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[152].Exporter = func(v any, i int) any { switch v := v.(*ServerMeta_AdditionalNodeRecordExecutionData); i { case 0: return &v.state @@ -18805,7 +21492,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[137].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[153].Exporter = func(v any, i int) any { switch v := v.(*ExecutionBlockMetrics_StateReads); i { case 0: return &v.state @@ -18817,7 +21504,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[138].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[154].Exporter = func(v any, i int) any { switch v := v.(*ExecutionBlockMetrics_StateWrites); i { case 0: return &v.state @@ -18829,7 +21516,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[139].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[155].Exporter = func(v any, i int) any { switch v := v.(*ExecutionBlockMetrics_CacheEntry); i { case 0: return &v.state @@ -18841,7 +21528,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { return nil } } - file_pkg_proto_xatu_event_ingester_proto_msgTypes[140].Exporter = func(v any, i int) any { + file_pkg_proto_xatu_event_ingester_proto_msgTypes[156].Exporter = func(v any, i int) any { switch v := v.(*ExecutionBlockMetrics_CodeCacheEntry); i { case 0: return &v.state @@ -18937,6 +21624,22 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { (*ClientMeta_EthV2BeaconBlockSyncAggregate)(nil), (*ClientMeta_Libp2PTraceIdentify)(nil), (*ClientMeta_EthV1EventsFastConfirmation)(nil), + (*ClientMeta_EthV2BeaconBlockAccessList)(nil), + (*ClientMeta_EthV1EventsExecutionPayload)(nil), + (*ClientMeta_EthV1EventsPayloadAttestation)(nil), + (*ClientMeta_EthV1EventsExecutionPayloadBid)(nil), + (*ClientMeta_EthV1EventsProposerPreferences)(nil), + (*ClientMeta_EthV2BeaconBlockPayloadAttestation)(nil), + (*ClientMeta_EthV2BeaconBlockExecutionPayloadBid)(nil), + (*ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope)(nil), + (*ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid)(nil), + (*ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage)(nil), + (*ClientMeta_Libp2PTraceGossipsubProposerPreferences)(nil), + (*ClientMeta_EthV1EventsExecutionPayloadGossip)(nil), + (*ClientMeta_EthV1EventsExecutionPayloadAvailable)(nil), + (*ClientMeta_BeaconSyntheticPayloadStatusResolved)(nil), + (*ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement)(nil), + (*ClientMeta_BeaconSyntheticPayloadAttestationProcessed)(nil), } file_pkg_proto_xatu_event_ingester_proto_msgTypes[23].OneofWrappers = []any{ (*ServerMeta_BEACON_P2P_ATTESTATION)(nil), @@ -19035,6 +21738,22 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { (*DecoratedEvent_EthV2BeaconBlockSyncAggregate)(nil), (*DecoratedEvent_ExecutionBlockMetrics)(nil), (*DecoratedEvent_EthV1EventsFastConfirmation)(nil), + (*DecoratedEvent_EthV2BeaconBlockAccessList)(nil), + (*DecoratedEvent_EthV1EventsExecutionPayload)(nil), + (*DecoratedEvent_EthV1EventsPayloadAttestation)(nil), + (*DecoratedEvent_EthV1EventsExecutionPayloadBid)(nil), + (*DecoratedEvent_EthV1EventsProposerPreferences)(nil), + (*DecoratedEvent_EthV2BeaconBlockPayloadAttestation)(nil), + (*DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid)(nil), + (*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope)(nil), + (*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid)(nil), + (*DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage)(nil), + (*DecoratedEvent_Libp2PTraceGossipsubProposerPreferences)(nil), + (*DecoratedEvent_EthV1EventsExecutionPayloadGossip)(nil), + (*DecoratedEvent_EthV1EventsExecutionPayloadAvailable)(nil), + (*DecoratedEvent_BeaconSyntheticPayloadStatusResolved)(nil), + (*DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement)(nil), + (*DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -19042,7 +21761,7 @@ func file_pkg_proto_xatu_event_ingester_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_proto_xatu_event_ingester_proto_rawDesc, NumEnums: 2, - NumMessages: 141, + NumMessages: 157, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/xatu/event_ingester.proto b/pkg/proto/xatu/event_ingester.proto index 1aca540d..988b01b1 100644 --- a/pkg/proto/xatu/event_ingester.proto +++ b/pkg/proto/xatu/event_ingester.proto @@ -19,6 +19,13 @@ import "pkg/proto/eth/v1/beacon_block.proto"; import "pkg/proto/eth/v1/execution_engine.proto"; import "pkg/proto/eth/v1/validator.proto"; import "pkg/proto/eth/v1/sync_committee.proto"; +import "pkg/proto/eth/v1/block_access_list.proto"; +import "pkg/proto/eth/v1/payload_attestation.proto"; +import "pkg/proto/eth/v1/execution_payload_bid.proto"; +import "pkg/proto/eth/v1/execution_payload_envelope.proto"; +import "pkg/proto/eth/v1/execution_payload_available.proto"; +import "pkg/proto/eth/v1/proposer_preferences.proto"; +import "pkg/proto/eth/v1/beacon_synthetic.proto"; import "pkg/proto/mevrelay/bids.proto"; import "pkg/proto/mevrelay/relay.proto"; @@ -938,6 +945,169 @@ message ClientMeta { BlockIdentifier block = 1; } + // AdditionalEthV2BeaconBlockAccessListData contains additional data on + // block access list entries derived from beacon blocks. + message AdditionalEthV2BeaconBlockAccessListData { + // Block contains the information about the block that we are deriving the + // access list from. + BlockIdentifier block = 1; + // Execution block number from the execution payload. + google.protobuf.UInt64Value block_number = 2; + // Execution block hash from the execution payload (hex encoded). + string block_hash = 3; + } + + // EIP-7732 ePBS Additional Data messages + + // AdditionalEthV1EventsExecutionPayloadData contains additional data about + // execution payload envelope arrivals from the beacon API SSE. + message AdditionalEthV1EventsExecutionPayloadData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalEthV1EventsPayloadAttestationData contains additional data about + // individual PTC payload attestation messages from the beacon API SSE. + message AdditionalEthV1EventsPayloadAttestationData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalEthV1EventsExecutionPayloadBidData contains additional data about + // builder bids from the beacon API SSE. + message AdditionalEthV1EventsExecutionPayloadBidData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalEthV1EventsProposerPreferencesData contains additional data about + // proposer preferences from the beacon API SSE. + message AdditionalEthV1EventsProposerPreferencesData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalEthV1EventsExecutionPayloadGossipData contains additional data + // about execution payload envelopes seen on the gossip mesh from the beacon + // API SSE (analog of block_gossip). + message AdditionalEthV1EventsExecutionPayloadGossipData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalEthV1EventsExecutionPayloadAvailableData contains additional + // data about execution_payload_available signals from the beacon API SSE. + // Fires when the beacon node has confirmed the payload and blobs are + // locally available, ready for PTC vote. + message AdditionalEthV1EventsExecutionPayloadAvailableData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalBeaconSyntheticPayloadStatusResolvedData contains additional + // data about a fork-choice payload status transition observed from beacon + // node internals (TYSM-instrumented). Fires on every beacon node. + message AdditionalBeaconSyntheticPayloadStatusResolvedData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData contains + // additional data about an epoch-boundary builder pending payment + // settle/drop decision observed from beacon node internals. Fires on + // every beacon node, every epoch. + message AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData { + EpochV2 epoch = 1; + } + + // AdditionalBeaconSyntheticPayloadAttestationProcessedData contains + // additional data about a PTC vote that finished full gossip-validation + // and was committed for downstream pipeline use. Observed from beacon + // node internals (TYSM-instrumented). + message AdditionalBeaconSyntheticPayloadAttestationProcessedData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + PropagationV2 propagation = 3; + } + + // AdditionalEthV2BeaconBlockPayloadAttestationData contains additional data + // about aggregated PTC payload attestations derived from cannon blocks. + message AdditionalEthV2BeaconBlockPayloadAttestationData { + BlockIdentifier block = 1; + // Position is the 0-based index of this PayloadAttestation within + // block.Body.PayloadAttestations (max MAX_PAYLOAD_ATTESTATIONS=4). + google.protobuf.UInt32Value position = 2; + } + + // AdditionalEthV2BeaconBlockExecutionPayloadBidData contains additional data + // about the winning execution payload bid derived from cannon blocks. + message AdditionalEthV2BeaconBlockExecutionPayloadBidData { + BlockIdentifier block = 1; + } + + // AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData contains additional + // data about execution payload envelope gossip from libp2p. + message AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + EpochV2 wallclock_epoch = 3 [ json_name = "wallclock_epoch" ]; + SlotV2 wallclock_slot = 4 [ json_name = "wallclock_slot" ]; + PropagationV2 propagation = 5; + xatu.libp2p.TraceEventMetadata metadata = 6; + google.protobuf.StringValue topic = 7; + google.protobuf.UInt32Value message_size = 8 [ json_name = "message_size" ]; + google.protobuf.StringValue message_id = 9 [ json_name = "message_id" ]; + } + + // AdditionalLibP2PTraceGossipSubExecutionPayloadBidData contains additional + // data about builder bid gossip from libp2p. + message AdditionalLibP2PTraceGossipSubExecutionPayloadBidData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + EpochV2 wallclock_epoch = 3 [ json_name = "wallclock_epoch" ]; + SlotV2 wallclock_slot = 4 [ json_name = "wallclock_slot" ]; + PropagationV2 propagation = 5; + xatu.libp2p.TraceEventMetadata metadata = 6; + google.protobuf.StringValue topic = 7; + google.protobuf.UInt32Value message_size = 8 [ json_name = "message_size" ]; + google.protobuf.StringValue message_id = 9 [ json_name = "message_id" ]; + } + + // AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData contains additional + // data about PTC attestation gossip from libp2p. + message AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + EpochV2 wallclock_epoch = 3 [ json_name = "wallclock_epoch" ]; + SlotV2 wallclock_slot = 4 [ json_name = "wallclock_slot" ]; + PropagationV2 propagation = 5; + xatu.libp2p.TraceEventMetadata metadata = 6; + google.protobuf.StringValue topic = 7; + google.protobuf.UInt32Value message_size = 8 [ json_name = "message_size" ]; + google.protobuf.StringValue message_id = 9 [ json_name = "message_id" ]; + } + + // AdditionalLibP2PTraceGossipSubProposerPreferencesData contains additional + // data about proposer preferences gossip from libp2p. + message AdditionalLibP2PTraceGossipSubProposerPreferencesData { + EpochV2 epoch = 1; + SlotV2 slot = 2; + EpochV2 wallclock_epoch = 3 [ json_name = "wallclock_epoch" ]; + SlotV2 wallclock_slot = 4 [ json_name = "wallclock_slot" ]; + PropagationV2 propagation = 5; + xatu.libp2p.TraceEventMetadata metadata = 6; + google.protobuf.StringValue topic = 7; + google.protobuf.UInt32Value message_size = 8 [ json_name = "message_size" ]; + google.protobuf.StringValue message_id = 9 [ json_name = "message_id" ]; + } + // AdditionalBlockprintBlockClassificationData was removed — blockprint is deprecated. message AttestationDataSnapshot { @@ -1788,6 +1958,36 @@ message ClientMeta { // AdditionalEthV1EventsFastConfirmationData contains additional data about // the eth v1 fast confirmation event. AdditionalEthV1EventsFastConfirmationData eth_v1_events_fast_confirmation = 95 [ json_name = "BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION" ]; + + // AdditionalEthV2BeaconBlockAccessListData contains additional data on + // block access list entries derived from beacon blocks. + AdditionalEthV2BeaconBlockAccessListData eth_v2_beacon_block_access_list = 96 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST" ]; + + // EIP-7732 ePBS: Sentry SSE additional data + AdditionalEthV1EventsExecutionPayloadData eth_v1_events_execution_payload = 97 [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD" ]; + AdditionalEthV1EventsPayloadAttestationData eth_v1_events_payload_attestation = 98 [ json_name = "BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION" ]; + AdditionalEthV1EventsExecutionPayloadBidData eth_v1_events_execution_payload_bid = 99 [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID" ]; + AdditionalEthV1EventsProposerPreferencesData eth_v1_events_proposer_preferences = 100 [ json_name = "BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES" ]; + + // EIP-7732 ePBS: Cannon additional data + AdditionalEthV2BeaconBlockPayloadAttestationData eth_v2_beacon_block_payload_attestation = 101 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION" ]; + AdditionalEthV2BeaconBlockExecutionPayloadBidData eth_v2_beacon_block_execution_payload_bid = 102 [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID" ]; + + // EIP-7732 ePBS: LibP2P gossip additional data + AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData libp2p_trace_gossipsub_execution_payload_envelope = 103 [ json_name = "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE" ]; + AdditionalLibP2PTraceGossipSubExecutionPayloadBidData libp2p_trace_gossipsub_execution_payload_bid = 104 [ json_name = "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID" ]; + AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData libp2p_trace_gossipsub_payload_attestation_message = 105 [ json_name = "LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE" ]; + AdditionalLibP2PTraceGossipSubProposerPreferencesData libp2p_trace_gossipsub_proposer_preferences = 106 [ json_name = "LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES" ]; + + // EIP-7732 ePBS: Sentry SSE additional data (gossip + available variants) + AdditionalEthV1EventsExecutionPayloadGossipData eth_v1_events_execution_payload_gossip = 107 [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP" ]; + AdditionalEthV1EventsExecutionPayloadAvailableData eth_v1_events_execution_payload_available = 108 [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE" ]; + + // EIP-7732 ePBS: Synthesized observability events from beacon-node internals + // (TYSM-instrumented). No beacon API equivalent today. + AdditionalBeaconSyntheticPayloadStatusResolvedData beacon_synthetic_payload_status_resolved = 109 [ json_name = "BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED" ]; + AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData beacon_synthetic_builder_pending_payment_settlement = 110 [ json_name = "BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT" ]; + AdditionalBeaconSyntheticPayloadAttestationProcessedData beacon_synthetic_payload_attestation_processed = 111 [ json_name = "BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED" ]; } // ModuleName contains the name of the module that sent the event. @@ -2008,6 +2208,32 @@ message Event { EXECUTION_BLOCK_METRICS = 87; LIBP2P_TRACE_IDENTIFY = 88; BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION = 89; + BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST = 90; + + // EIP-7732 ePBS: Sentry SSE events + BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD = 91; + BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION = 92; + BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID = 93; + BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES = 94; + BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP = 101; + BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE = 102; + + // EIP-7732 ePBS: Cannon derived events + BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION = 95; + BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID = 96; + + // EIP-7732 ePBS: P2P gossip events + LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE = 97; + LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID = 98; + LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE = 99; + LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES = 100; + + // EIP-7732 ePBS: Synthesized observability events from beacon-node internals + // (TYSM-instrumented). No beacon API equivalent today. Captured by every + // beacon node, not just proposers — multi-witness signal. + BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED = 103; + BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT = 104; + BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED = 105; } // Name is the name of the event. Name name = 1; @@ -2317,6 +2543,48 @@ message DecoratedEvent { [ json_name = "EXECUTION_BLOCK_METRICS" ]; xatu.eth.v1.EventFastConfirmation eth_v1_events_fast_confirmation = 210 [ json_name = "BEACON_API_ETH_V1_EVENTS_FAST_CONFIRMATION" ]; + xatu.eth.v1.BlockAccessListChange eth_v2_beacon_block_access_list = 211 + [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST" ]; + + // EIP-7732 ePBS: Sentry SSE events + xatu.eth.v1.SignedExecutionPayloadEnvelope eth_v1_events_execution_payload = 212 + [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD" ]; + xatu.eth.v1.PayloadAttestationMessage eth_v1_events_payload_attestation = 213 + [ json_name = "BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION" ]; + xatu.eth.v1.SignedExecutionPayloadBid eth_v1_events_execution_payload_bid = 214 + [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID" ]; + xatu.eth.v1.SignedProposerPreferences eth_v1_events_proposer_preferences = 215 + [ json_name = "BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES" ]; + + // EIP-7732 ePBS: Cannon derived events + xatu.eth.v1.PayloadAttestation eth_v2_beacon_block_payload_attestation = 216 + [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION" ]; + xatu.eth.v1.SignedExecutionPayloadBid eth_v2_beacon_block_execution_payload_bid = 217 + [ json_name = "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID" ]; + + // EIP-7732 ePBS: P2P gossip events (use gossipsub summary types) + xatu.libp2p.gossipsub.eth.ExecutionPayloadEnvelope libp2p_trace_gossipsub_execution_payload_envelope = 218 + [ json_name = "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE" ]; + xatu.libp2p.gossipsub.eth.ExecutionPayloadBid libp2p_trace_gossipsub_execution_payload_bid = 219 + [ json_name = "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID" ]; + xatu.libp2p.gossipsub.eth.PayloadAttestationMessage libp2p_trace_gossipsub_payload_attestation_message = 220 + [ json_name = "LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE" ]; + xatu.libp2p.gossipsub.eth.ProposerPreferences libp2p_trace_gossipsub_proposer_preferences = 221 + [ json_name = "LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES" ]; + + // EIP-7732 ePBS: Sentry SSE events (gossip + available variants) + xatu.eth.v1.SignedExecutionPayloadEnvelope eth_v1_events_execution_payload_gossip = 222 + [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP" ]; + xatu.eth.v1.ExecutionPayloadAvailable eth_v1_events_execution_payload_available = 223 + [ json_name = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE" ]; + + // EIP-7732 ePBS: Synthesized observability events (TYSM-instrumented) + xatu.eth.v1.PayloadStatusResolved beacon_synthetic_payload_status_resolved = 224 + [ json_name = "BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED" ]; + xatu.eth.v1.BuilderPendingPaymentSettlement beacon_synthetic_builder_pending_payment_settlement = 225 + [ json_name = "BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT" ]; + xatu.eth.v1.PayloadAttestationProcessed beacon_synthetic_payload_attestation_processed = 226 + [ json_name = "BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED" ]; }; } diff --git a/pkg/proto/xatu/event_ingester_vtproto.pb.go b/pkg/proto/xatu/event_ingester_vtproto.pb.go index 2950ffd0..398b1668 100644 --- a/pkg/proto/xatu/event_ingester_vtproto.pb.go +++ b/pkg/proto/xatu/event_ingester_vtproto.pb.go @@ -14,6 +14,7 @@ import ( protohelpers "github.com/planetscale/vtprotobuf/protohelpers" timestamppb "github.com/planetscale/vtprotobuf/types/known/timestamppb" wrapperspb "github.com/planetscale/vtprotobuf/types/known/wrapperspb" + proto "google.golang.org/protobuf/proto" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb1 "google.golang.org/protobuf/types/known/timestamppb" wrapperspb1 "google.golang.org/protobuf/types/known/wrapperspb" @@ -578,32 +579,68 @@ func (m *DebugForkChoiceReorg) MarshalToSizedBufferVT(dAtA []byte) (int, error) copy(dAtA[i:], m.unknownFields) } if m.Event != nil { - size, err := m.Event.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Event).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Event) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1a } if m.After != nil { - size, err := m.After.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.After).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.After) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } if m.Before != nil { - size, err := m.Before.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Before).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Before) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -641,32 +678,68 @@ func (m *DebugForkChoiceReorgV2) MarshalToSizedBufferVT(dAtA []byte) (int, error copy(dAtA[i:], m.unknownFields) } if m.Event != nil { - size, err := m.Event.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Event).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Event) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1a } if m.After != nil { - size, err := m.After.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.After).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.After) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } if m.Before != nil { - size, err := m.Before.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Before).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Before) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -705,12 +778,24 @@ func (m *Validators) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } if len(m.Validators) > 0 { for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Validators[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Validators[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Validators[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -749,12 +834,24 @@ func (m *SyncCommitteeData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { copy(dAtA[i:], m.unknownFields) } if m.SyncCommittee != nil { - size, err := m.SyncCommittee.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.SyncCommittee).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.SyncCommittee) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -4444,7 +4541,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) MarshalToSizedBuff return len(dAtA) - i, nil } -func (m *ClientMeta_AttestationDataSnapshot) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4457,12 +4554,12 @@ func (m *ClientMeta_AttestationDataSnapshot) MarshalVT() (dAtA []byte, err error return dAtA[:n], nil } -func (m *ClientMeta_AttestationDataSnapshot) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AttestationDataSnapshot) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4474,18 +4571,15 @@ func (m *ClientMeta_AttestationDataSnapshot) MarshalToSizedBufferVT(dAtA []byte) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Timestamp != nil { - size, err := (*timestamppb.Timestamp)(m.Timestamp).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if len(m.BlockHash) > 0 { + i -= len(m.BlockHash) + copy(dAtA[i:], m.BlockHash) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.BlockHash))) i-- dAtA[i] = 0x1a } - if m.RequestDurationMs != nil { - size, err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).MarshalToSizedBufferVT(dAtA[:i]) + if m.BlockNumber != nil { + size, err := (*wrapperspb.UInt64Value)(m.BlockNumber).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -4494,8 +4588,8 @@ func (m *ClientMeta_AttestationDataSnapshot) MarshalToSizedBufferVT(dAtA []byte) i-- dAtA[i] = 0x12 } - if m.RequestedAtSlotStartDiffMs != nil { - size, err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).MarshalToSizedBufferVT(dAtA[:i]) + if m.Block != nil { + size, err := m.Block.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -4507,7 +4601,7 @@ func (m *ClientMeta_AttestationDataSnapshot) MarshalToSizedBufferVT(dAtA []byte) return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4520,12 +4614,12 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalVT() (dA return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4537,15 +4631,15 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalToSizedB i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Snapshot != nil { - size, err := m.Snapshot.MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x1a } if m.Slot != nil { size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) @@ -4555,7 +4649,7 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalToSizedB i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x12 } if m.Epoch != nil { size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) @@ -4565,32 +4659,12 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalToSizedB i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a - } - if m.Target != nil { - size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.Source != nil { - size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4603,12 +4677,12 @@ func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalVT() (dAtA []by return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4653,7 +4727,7 @@ func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalToSizedBufferVT return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4666,12 +4740,12 @@ func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalVT() (dAt return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4716,7 +4790,7 @@ func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalToSizedBu return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4729,12 +4803,12 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalVT() (dAtA []by return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4746,25 +4820,8 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalToSizedBufferVT i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.DataEmptySize != nil { - size, err := (*wrapperspb.UInt64Value)(m.DataEmptySize).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if len(m.VersionedHash) > 0 { - i -= len(m.VersionedHash) - copy(dAtA[i:], m.VersionedHash) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.VersionedHash))) - i-- - dAtA[i] = 0x22 - } - if m.DataSize != nil { - size, err := (*wrapperspb.UInt64Value)(m.DataSize).MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -4796,7 +4853,7 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalToSizedBufferVT return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4809,12 +4866,12 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalVT() (dAtA []byte return dAtA[:n], nil } -func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4826,46 +4883,6 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToSizedBufferVT(d i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Validated != nil { - size, err := (*wrapperspb.BoolValue)(m.Validated).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.Subnet != nil { - size, err := (*wrapperspb.UInt32Value)(m.Subnet).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if m.Peer != nil { - size, err := m.Peer.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if m.AttestingValidator != nil { - size, err := m.AttestingValidator.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } if m.Propagation != nil { size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -4874,17 +4891,7 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToSizedBufferVT(d i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a - } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 + dAtA[i] = 0x1a } if m.Slot != nil { size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) @@ -4894,20 +4901,10 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToSizedBufferVT(d i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a - } - if m.Target != nil { - size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- dAtA[i] = 0x12 } - if m.Source != nil { - size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -4919,7 +4916,7 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToSizedBufferVT(d return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4932,12 +4929,12 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalVT() (dAtA []byte, e return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4949,10 +4946,13 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalToSizedBufferVT(dAtA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.StateId) > 0 { - i -= len(m.StateId) - copy(dAtA[i:], m.StateId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StateId))) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1a } @@ -4979,7 +4979,7 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalToSizedBufferVT(dAtA return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4992,12 +4992,12 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Marshal return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5009,25 +5009,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Marshal i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Target != nil { - size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Source != nil { - size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x1a } if m.Slot != nil { size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) @@ -5037,7 +5027,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Marshal i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x12 } if m.Epoch != nil { size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) @@ -5047,32 +5037,12 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Marshal i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a - } - if m.PositionInBlock != nil { - size, err := (*wrapperspb.UInt64Value)(m.PositionInBlock).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.Block != nil { - size, err := m.Block.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5085,12 +5055,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalVT() (dAtA []byte, return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5102,8 +5072,8 @@ func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalToSizedBufferVT(dAt i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5115,7 +5085,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalToSizedBufferVT(dAt return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5128,12 +5098,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalVT() (dAtA []byt return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5145,8 +5115,28 @@ func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalToSizedBufferVT( i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5158,7 +5148,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalToSizedBufferVT( return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5171,12 +5161,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalVT() (dAtA []byte, return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5188,8 +5178,18 @@ func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalToSizedBufferVT(dAt i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Position != nil { + size, err := (*wrapperspb.UInt32Value)(m.Position).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Block != nil { + size, err := m.Block.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5201,7 +5201,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalToSizedBufferVT(dAt return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5214,12 +5214,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalVT() (dAtA []byte, return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5231,8 +5231,8 @@ func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalToSizedBufferVT(dAt i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Block != nil { + size, err := m.Block.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5244,7 +5244,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalToSizedBufferVT(dAt return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5257,12 +5257,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalVT() (dAtA []byte, return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5274,51 +5274,100 @@ func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalToSizedBufferVT(dAt i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x4a } - return len(dAtA) - i, nil -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a } - return dAtA[:n], nil -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x32 } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5330,7 +5379,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) MarshalToSized return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5343,12 +5392,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalVT() (d return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5360,8 +5409,100 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalToSized i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x32 + } + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5373,7 +5514,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalToSized return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5386,12 +5527,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalVT( return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5403,8 +5544,100 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalToS i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x32 + } + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5416,7 +5649,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalToS return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5429,12 +5662,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalVT() (d return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5446,8 +5679,100 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalToSized i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x32 + } + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5459,7 +5784,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalToSized return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AttestationDataSnapshot) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5472,12 +5797,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalVT() (d return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AttestationDataSnapshot) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AttestationDataSnapshot) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5489,8 +5814,28 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalToSized i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Timestamp != nil { + size, err := (*timestamppb.Timestamp)(m.Timestamp).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.RequestDurationMs != nil { + size, err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.RequestedAtSlotStartDiffMs != nil { + size, err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5502,7 +5847,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalToSized return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5515,12 +5860,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalVT() (dAtA []byte, err return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5532,21 +5877,61 @@ func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalToSizedBufferVT(dAtA [ i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Snapshot != nil { + size, err := m.Snapshot.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x2a } - return len(dAtA) - i, nil -} - -func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalVT() (dAtA []byte, err error) { - if m == nil { + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Target != nil { + size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Source != nil { + size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalVT() (dAtA []byte, err error) { + if m == nil { return nil, nil } size := m.SizeVT() @@ -5558,12 +5943,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalVT() (dAtA []byte, er return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5575,8 +5960,28 @@ func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalToSizedBufferVT(dAtA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5588,7 +5993,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalToSizedBufferVT(dAtA return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5601,12 +6006,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalVT() (dAtA []byte, er return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5618,8 +6023,28 @@ func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalToSizedBufferVT(dAtA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5631,7 +6056,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalToSizedBufferVT(dAtA return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5644,12 +6069,12 @@ func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalVT() (dAtA []byte, er return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5661,8 +6086,45 @@ func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalToSizedBufferVT(dAtA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.DataEmptySize != nil { + size, err := (*wrapperspb.UInt64Value)(m.DataEmptySize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if len(m.VersionedHash) > 0 { + i -= len(m.VersionedHash) + copy(dAtA[i:], m.VersionedHash) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.VersionedHash))) + i-- + dAtA[i] = 0x22 + } + if m.DataSize != nil { + size, err := (*wrapperspb.UInt64Value)(m.DataSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5674,7 +6136,7 @@ func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalToSizedBufferVT(dAtA return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5687,12 +6149,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalVT() (dAtA return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalBeaconP2PAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5704,8 +6166,100 @@ func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalToSizedBuf i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Validated != nil { + size, err := (*wrapperspb.BoolValue)(m.Validated).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.Subnet != nil { + size, err := (*wrapperspb.UInt32Value)(m.Subnet).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.Peer != nil { + if vtmsg, ok := interface{}(m.Peer).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Peer) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x3a + } + if m.AttestingValidator != nil { + size, err := m.AttestingValidator.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Target != nil { + size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Source != nil { + size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5717,7 +6271,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalToSizedBuf return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5730,12 +6284,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalVT() (dAtA [ return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1ProposerDutyData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5747,8 +6301,25 @@ func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalToSizedBuffe i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if len(m.StateId) > 0 { + i -= len(m.StateId) + copy(dAtA[i:], m.StateId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StateId))) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5760,7 +6331,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalToSizedBuffe return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5773,12 +6344,12 @@ func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalVT() (dAtA [ return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5790,8 +6361,58 @@ func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalToSizedBuffe i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Target != nil { + size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.Source != nil { + size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.PositionInBlock != nil { + size, err := (*wrapperspb.UInt64Value)(m.PositionInBlock).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Block != nil { + size, err := m.Block.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -5803,7 +6424,7 @@ func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalToSizedBuffe return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5816,12 +6437,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalVT() (dAtA [] return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5834,19 +6455,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalToSizedBuffer copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5859,12 +6492,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalVT() (dAtA []byte return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5877,19 +6510,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalToSizedBufferVT(d copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5902,12 +6547,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalVT() (dAtA []b return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5920,19 +6565,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalToSizedBufferV copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5945,12 +6602,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalVT() (dA return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5963,19 +6620,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalToSizedB copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5988,12 +6657,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalVT() (dAtA [ return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6006,19 +6675,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalToSizedBuffe copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6031,12 +6712,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalVT() (dAtA []b return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6049,19 +6730,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalToSizedBufferV copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6074,12 +6767,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalVT() (dAtA []byte, return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6092,19 +6785,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalToSizedBufferVT(dA copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6117,12 +6822,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalV return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6134,60 +6839,87 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalT i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.WallclockSlot != nil { - size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0xa } - if m.WallclockEpoch != nil { - size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6200,12 +6932,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalVT() (d return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6218,19 +6950,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalToSized copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6243,12 +6987,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalVT() (dAtA [ return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceJoinData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6261,19 +7005,31 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalToSizedBuffe copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6286,12 +7042,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalVT() ( return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6303,100 +7059,32 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalToSize i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.MessageId != nil { - size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.MessageSize != nil { - size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if m.Topic != nil { - size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Propagation != nil { - size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if m.WallclockSlot != nil { - size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if m.WallclockEpoch != nil { - size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6409,12 +7097,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) M return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGraftData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6426,20 +7114,32 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) M i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6452,12 +7152,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) M return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTracePruneData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6469,20 +7169,32 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) M i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6495,12 +7207,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Marshal return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6512,130 +7224,32 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Marshal i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.MessageId != nil { - size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x62 - } - if m.MessageSize != nil { - size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x5a - } - if m.Topic != nil { - size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.WallclockSlot != nil { - size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if m.WallclockEpoch != nil { - size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if m.AttestingValidator != nil { - size, err := m.AttestingValidator.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Propagation != nil { - size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.Target != nil { - size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.Source != nil { - size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6648,12 +7262,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Marshal return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6665,110 +7279,87 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Marshal i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.MessageId != nil { - size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if m.MessageSize != nil { - size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.Topic != nil { - size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if m.AggregatorIndex != nil { - size, err := (*wrapperspb.UInt64Value)(m.AggregatorIndex).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x32 + dAtA[i] = 0xa } - if m.Propagation != nil { - size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.WallclockSlot != nil { - size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.WallclockEpoch != nil { - size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6781,12 +7372,12 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalVT() ( return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6798,55 +7389,390 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToSize i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.MessageId != nil { - size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x4a + dAtA[i] = 0xa } - if m.MessageSize != nil { - size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x42 + dAtA[i] = 0xa } - if m.Topic != nil { - size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x3a + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x32 + dAtA[i] = 0xa } - if m.Propagation != nil { - size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } if m.WallclockSlot != nil { size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) @@ -6856,7 +7782,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToSize i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x2a } if m.WallclockEpoch != nil { size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) @@ -6866,7 +7792,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToSize i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x22 } if m.Slot != nil { size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) @@ -6876,7 +7802,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToSize i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a } if m.Epoch != nil { size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) @@ -6886,12 +7812,34 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToSize i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- + dAtA[i] = 0x12 + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -6904,12 +7852,122 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Marshal return dAtA[:n], nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -6952,12 +8010,24 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Marshal dAtA[i] = 0x3a } if m.Metadata != nil { - size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } @@ -7014,7 +8084,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Marshal return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7027,12 +8097,12 @@ func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalVT() (dAtA []byte, err return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7057,7 +8127,7 @@ func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalToSizedBufferVT(dAtA [ return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7070,12 +8140,12 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Marsha return dAtA[:n], nil } -func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7087,36 +8157,6 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Marsha i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.ResponseAtSlotTime != nil { - size, err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if m.RequestedAtSlotTime != nil { - size, err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.WallclockEpoch != nil { - size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } if m.Epoch != nil { size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -7125,42 +8165,12 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Marsha i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 - } - if m.WallclockSlot != nil { - size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.Relay != nil { - size, err := m.Relay.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7173,12 +8183,12 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalVT() (dAtA [] return dAtA[:n], nil } -func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7190,25 +8200,67 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBuffer i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.ResponseAtSlotTime != nil { - size, err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x62 } - if m.RequestedAtSlotTime != nil { - size, err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x5a + } + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x4a + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 } if m.WallclockEpoch != nil { size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) @@ -7218,6 +8270,26 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBuffer i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- + dAtA[i] = 0x3a + } + if m.AttestingValidator != nil { + size, err := m.AttestingValidator.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- dAtA[i] = 0x2a } if m.Epoch != nil { @@ -7230,8 +8302,8 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBuffer i-- dAtA[i] = 0x22 } - if m.WallclockSlot != nil { - size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7240,8 +8312,8 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBuffer i-- dAtA[i] = 0x1a } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if m.Target != nil { + size, err := m.Target.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7250,8 +8322,8 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBuffer i-- dAtA[i] = 0x12 } - if m.Relay != nil { - size, err := m.Relay.MarshalToSizedBufferVT(dAtA[:i]) + if m.Source != nil { + size, err := m.Source.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7263,7 +8335,7 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBuffer return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7276,12 +8348,12 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalVT() (dAtA []byte, return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7293,42 +8365,28 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.RequestedAt != nil { - size, err := (*timestamppb.Timestamp)(m.RequestedAt).MarshalToSizedBufferVT(dAtA[:i]) + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x62 + dAtA[i] = 0x52 } - if m.RequestDurationMs != nil { - size, err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).MarshalToSizedBufferVT(dAtA[:i]) + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x5a - } - if len(m.ConsensusValue) > 0 { - i -= len(m.ConsensusValue) - copy(dAtA[i:], m.ConsensusValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ConsensusValue))) - i-- - dAtA[i] = 0x52 - } - if len(m.ExecutionValue) > 0 { - i -= len(m.ExecutionValue) - copy(dAtA[i:], m.ExecutionValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExecutionValue))) - i-- dAtA[i] = 0x4a } - if m.TotalBytesCompressed != nil { - size, err := (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).MarshalToSizedBufferVT(dAtA[:i]) + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7337,18 +8395,30 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dA i-- dAtA[i] = 0x42 } - if m.TotalBytes != nil { - size, err := (*wrapperspb.UInt64Value)(m.TotalBytes).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } - if m.TransactionsTotalBytesCompressed != nil { - size, err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).MarshalToSizedBufferVT(dAtA[:i]) + if m.AggregatorIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.AggregatorIndex).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7357,8 +8427,8 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dA i-- dAtA[i] = 0x32 } - if m.TransactionsTotalBytes != nil { - size, err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7367,8 +8437,8 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dA i-- dAtA[i] = 0x2a } - if m.TransactionsCount != nil { - size, err := (*wrapperspb.UInt64Value)(m.TransactionsCount).MarshalToSizedBufferVT(dAtA[:i]) + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7377,10 +8447,13 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dA i-- dAtA[i] = 0x22 } - if len(m.Version) > 0 { - i -= len(m.Version) - copy(dAtA[i:], m.Version) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Version))) + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1a } @@ -7407,7 +8480,7 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dA return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7420,12 +8493,12 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalVT() (dA return dAtA[:n], nil } -func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7437,18 +8510,60 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToSizedB i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.ValidatorIndex != nil { - size, err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).MarshalToSizedBufferVT(dAtA[:i]) + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- + dAtA[i] = 0x4a + } + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- dAtA[i] = 0x32 } - if m.WallclockEpoch != nil { - size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7457,8 +8572,8 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToSizedB i-- dAtA[i] = 0x2a } - if m.Epoch != nil { - size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7467,8 +8582,8 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToSizedB i-- dAtA[i] = 0x22 } - if m.WallclockSlot != nil { - size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7487,8 +8602,8 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToSizedB i-- dAtA[i] = 0x12 } - if m.Relay != nil { - size, err := m.Relay.MarshalToSizedBufferVT(dAtA[:i]) + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7500,7 +8615,7 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToSizedB return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7513,12 +8628,12 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalVT() (dAtA []byte, return dAtA[:n], nil } -func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7530,8 +8645,70 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToSizedBufferVT(dA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.HeadEpoch != nil { - size, err := m.HeadEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if m.MessageId != nil { + size, err := (*wrapperspb.StringValue)(m.MessageId).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.MessageSize != nil { + size, err := (*wrapperspb.UInt32Value)(m.MessageSize).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.Topic != nil { + size, err := (*wrapperspb.StringValue)(m.Topic).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x32 + } + if m.Propagation != nil { + size, err := m.Propagation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7540,8 +8717,8 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToSizedBufferVT(dA i-- dAtA[i] = 0x22 } - if m.HeadSlot != nil { - size, err := m.HeadSlot.MarshalToSizedBufferVT(dAtA[:i]) + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7550,8 +8727,8 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToSizedBufferVT(dA i-- dAtA[i] = 0x1a } - if m.FinalizedEpoch != nil { - size, err := m.FinalizedEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -7560,10 +8737,20 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToSizedBufferVT(dA i-- dAtA[i] = 0x12 } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7576,12 +8763,12 @@ func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalVT() (dAt return dAtA[:n], nil } -func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV1ValidatorsData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7593,16 +8780,6 @@ func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalToSizedBu i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } if m.Epoch != nil { size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -7616,7 +8793,7 @@ func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalToSizedBu return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7629,12 +8806,12 @@ func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalVT() (dAtA return dAtA[:n], nil } -func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7646,15 +8823,35 @@ func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalToSizedBuff i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if m.ResponseAtSlotTime != nil { + size, err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x3a + } + if m.RequestedAtSlotTime != nil { + size, err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } if m.Epoch != nil { size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) @@ -7664,12 +8861,54 @@ func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalToSizedBuff i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- + dAtA[i] = 0x22 + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Relay != nil { + if vtmsg, ok := interface{}(m.Relay).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Relay) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7682,12 +8921,12 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalVT() (dAtA []byte, err return dAtA[:n], nil } -func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7699,15 +8938,35 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalToSizedBufferVT(dAtA [ i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Slot != nil { - size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if m.ResponseAtSlotTime != nil { + size, err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x3a + } + if m.RequestedAtSlotTime != nil { + size, err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } if m.Epoch != nil { size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) @@ -7717,12 +8976,54 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalToSizedBufferVT(dAtA [ i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- + dAtA[i] = 0x22 + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Relay != nil { + if vtmsg, ok := interface{}(m.Relay).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Relay) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ClientMeta) MarshalVT() (dAtA []byte, err error) { +func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -7735,12 +9036,12 @@ func (m *ClientMeta) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ClientMeta) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ClientMeta) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -7752,32 +9053,503 @@ func (m *ClientMeta) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if vtmsg, ok := m.AdditionalData.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if m.RequestedAt != nil { + size, err := (*timestamppb.Timestamp)(m.RequestedAt).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size - } - if len(m.PresetName) > 0 { - i -= len(m.PresetName) - copy(dAtA[i:], m.PresetName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PresetName))) - i-- - dAtA[i] = 0x4 + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x82 + dAtA[i] = 0x62 } - if m.ModuleName != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ModuleName)) + if m.RequestDurationMs != nil { + size, err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x3 + dAtA[i] = 0x5a + } + if len(m.ConsensusValue) > 0 { + i -= len(m.ConsensusValue) + copy(dAtA[i:], m.ConsensusValue) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ConsensusValue))) i-- - dAtA[i] = 0xf8 + dAtA[i] = 0x52 } - if len(m.Labels) > 0 { + if len(m.ExecutionValue) > 0 { + i -= len(m.ExecutionValue) + copy(dAtA[i:], m.ExecutionValue) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ExecutionValue))) + i-- + dAtA[i] = 0x4a + } + if m.TotalBytesCompressed != nil { + size, err := (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.TotalBytes != nil { + size, err := (*wrapperspb.UInt64Value)(m.TotalBytes).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.TransactionsTotalBytesCompressed != nil { + size, err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.TransactionsTotalBytes != nil { + size, err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.TransactionsCount != nil { + size, err := (*wrapperspb.UInt64Value)(m.TransactionsCount).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if len(m.Version) > 0 { + i -= len(m.Version) + copy(dAtA[i:], m.Version) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Version))) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ValidatorIndex != nil { + size, err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.WallclockEpoch != nil { + size, err := m.WallclockEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.WallclockSlot != nil { + size, err := m.WallclockSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Relay != nil { + if vtmsg, ok := interface{}(m.Relay).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Relay) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalNodeRecordConsensusData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.HeadEpoch != nil { + size, err := m.HeadEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.HeadSlot != nil { + size, err := m.HeadSlot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.FinalizedEpoch != nil { + size, err := m.FinalizedEpoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_AdditionalEthV1BeaconBlobData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Slot != nil { + size, err := m.Slot.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Epoch != nil { + size, err := m.Epoch.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ClientMeta) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClientMeta) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if vtmsg, ok := m.AdditionalData.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if len(m.PresetName) > 0 { + i -= len(m.PresetName) + copy(dAtA[i:], m.PresetName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PresetName))) + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x82 + } + if m.ModuleName != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ModuleName)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xf8 + } + if len(m.Labels) > 0 { for k := range m.Labels { v := m.Labels[k] baseI := i @@ -9559,6 +11331,342 @@ func (m *ClientMeta_EthV1EventsFastConfirmation) MarshalToSizedBufferVT(dAtA []b } return len(dAtA) - i, nil } +func (m *ClientMeta_EthV2BeaconBlockAccessList) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV2BeaconBlockAccessList) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockAccessList != nil { + size, err := m.EthV2BeaconBlockAccessList.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x82 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV1EventsExecutionPayload) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV1EventsExecutionPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayload != nil { + size, err := m.EthV1EventsExecutionPayload.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x8a + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV1EventsPayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV1EventsPayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsPayloadAttestation != nil { + size, err := m.EthV1EventsPayloadAttestation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV1EventsExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV1EventsExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayloadBid != nil { + size, err := m.EthV1EventsExecutionPayloadBid.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x9a + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV1EventsProposerPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV1EventsProposerPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsProposerPreferences != nil { + size, err := m.EthV1EventsProposerPreferences.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xa2 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV2BeaconBlockPayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV2BeaconBlockPayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockPayloadAttestation != nil { + size, err := m.EthV2BeaconBlockPayloadAttestation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xaa + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV2BeaconBlockExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV2BeaconBlockExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockExecutionPayloadBid != nil { + size, err := m.EthV2BeaconBlockExecutionPayloadBid.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xb2 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubExecutionPayloadEnvelope != nil { + size, err := m.Libp2PTraceGossipsubExecutionPayloadEnvelope.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xba + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubExecutionPayloadBid != nil { + size, err := m.Libp2PTraceGossipsubExecutionPayloadBid.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xc2 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubPayloadAttestationMessage != nil { + size, err := m.Libp2PTraceGossipsubPayloadAttestationMessage.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xca + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_Libp2PTraceGossipsubProposerPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_Libp2PTraceGossipsubProposerPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubProposerPreferences != nil { + size, err := m.Libp2PTraceGossipsubProposerPreferences.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xd2 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV1EventsExecutionPayloadGossip) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV1EventsExecutionPayloadGossip) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayloadGossip != nil { + size, err := m.EthV1EventsExecutionPayloadGossip.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xda + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_EthV1EventsExecutionPayloadAvailable) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_EthV1EventsExecutionPayloadAvailable) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayloadAvailable != nil { + size, err := m.EthV1EventsExecutionPayloadAvailable.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xe2 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_BeaconSyntheticPayloadStatusResolved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_BeaconSyntheticPayloadStatusResolved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.BeaconSyntheticPayloadStatusResolved != nil { + size, err := m.BeaconSyntheticPayloadStatusResolved.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xea + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.BeaconSyntheticBuilderPendingPaymentSettlement != nil { + size, err := m.BeaconSyntheticBuilderPendingPaymentSettlement.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xf2 + } + return len(dAtA) - i, nil +} +func (m *ClientMeta_BeaconSyntheticPayloadAttestationProcessed) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ClientMeta_BeaconSyntheticPayloadAttestationProcessed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.BeaconSyntheticPayloadAttestationProcessed != nil { + size, err := m.BeaconSyntheticPayloadAttestationProcessed.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xfa + } + return len(dAtA) - i, nil +} func (m *ServerMeta_Event) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -10973,12 +13081,24 @@ func (m *DecoratedEvent_EthV1EventsAttestation) MarshalToVT(dAtA []byte) (int, e func (m *DecoratedEvent_EthV1EventsAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsAttestation != nil { - size, err := m.EthV1EventsAttestation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsAttestation).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsAttestation) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1a } @@ -10992,12 +13112,24 @@ func (m *DecoratedEvent_EthV1EventsBlock) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_EthV1EventsBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsBlock != nil { - size, err := m.EthV1EventsBlock.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsBlock).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsBlock) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } @@ -11011,12 +13143,24 @@ func (m *DecoratedEvent_EthV1EventsChainReorg) MarshalToVT(dAtA []byte) (int, er func (m *DecoratedEvent_EthV1EventsChainReorg) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsChainReorg != nil { - size, err := m.EthV1EventsChainReorg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsChainReorg).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsChainReorg) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a } @@ -11030,12 +13174,24 @@ func (m *DecoratedEvent_EthV1EventsFinalizedCheckpoint) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_EthV1EventsFinalizedCheckpoint) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsFinalizedCheckpoint != nil { - size, err := m.EthV1EventsFinalizedCheckpoint.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsFinalizedCheckpoint).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsFinalizedCheckpoint) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x32 } @@ -11049,12 +13205,24 @@ func (m *DecoratedEvent_EthV1EventsHead) MarshalToVT(dAtA []byte) (int, error) { func (m *DecoratedEvent_EthV1EventsHead) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsHead != nil { - size, err := m.EthV1EventsHead.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsHead).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsHead) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3a } @@ -11068,12 +13236,24 @@ func (m *DecoratedEvent_EthV1EventsVoluntaryExit) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_EthV1EventsVoluntaryExit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsVoluntaryExit != nil { - size, err := m.EthV1EventsVoluntaryExit.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsVoluntaryExit).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsVoluntaryExit) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x42 } @@ -11087,12 +13267,24 @@ func (m *DecoratedEvent_EthV1EventsContributionAndProof) MarshalToVT(dAtA []byte func (m *DecoratedEvent_EthV1EventsContributionAndProof) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsContributionAndProof != nil { - size, err := m.EthV1EventsContributionAndProof.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsContributionAndProof).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsContributionAndProof) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4a } @@ -11120,12 +13312,24 @@ func (m *DecoratedEvent_EthV2BeaconBlock) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_EthV2BeaconBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlock != nil { - size, err := m.EthV2BeaconBlock.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlock).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlock) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x5a } @@ -11139,12 +13343,24 @@ func (m *DecoratedEvent_EthV1ForkChoice) MarshalToVT(dAtA []byte) (int, error) { func (m *DecoratedEvent_EthV1ForkChoice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1ForkChoice != nil { - size, err := m.EthV1ForkChoice.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1ForkChoice).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1ForkChoice) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x62 } @@ -11177,12 +13393,24 @@ func (m *DecoratedEvent_EthV1BeaconCommittee) MarshalToVT(dAtA []byte) (int, err func (m *DecoratedEvent_EthV1BeaconCommittee) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1BeaconCommittee != nil { - size, err := m.EthV1BeaconCommittee.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1BeaconCommittee).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1BeaconCommittee) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x72 } @@ -11196,12 +13424,24 @@ func (m *DecoratedEvent_EthV1ValidatorAttestationData) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_EthV1ValidatorAttestationData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1ValidatorAttestationData != nil { - size, err := m.EthV1ValidatorAttestationData.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1ValidatorAttestationData).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1ValidatorAttestationData) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x7a } @@ -11215,12 +13455,24 @@ func (m *DecoratedEvent_EthV1EventsAttestationV2) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_EthV1EventsAttestationV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsAttestationV2 != nil { - size, err := m.EthV1EventsAttestationV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsAttestationV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsAttestationV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11236,12 +13488,24 @@ func (m *DecoratedEvent_EthV1EventsBlockV2) MarshalToVT(dAtA []byte) (int, error func (m *DecoratedEvent_EthV1EventsBlockV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsBlockV2 != nil { - size, err := m.EthV1EventsBlockV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsBlockV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsBlockV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11257,12 +13521,24 @@ func (m *DecoratedEvent_EthV1EventsChainReorgV2) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_EthV1EventsChainReorgV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsChainReorgV2 != nil { - size, err := m.EthV1EventsChainReorgV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsChainReorgV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsChainReorgV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11278,12 +13554,24 @@ func (m *DecoratedEvent_EthV1EventsFinalizedCheckpointV2) MarshalToVT(dAtA []byt func (m *DecoratedEvent_EthV1EventsFinalizedCheckpointV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsFinalizedCheckpointV2 != nil { - size, err := m.EthV1EventsFinalizedCheckpointV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsFinalizedCheckpointV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsFinalizedCheckpointV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11299,12 +13587,24 @@ func (m *DecoratedEvent_EthV1EventsHeadV2) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_EthV1EventsHeadV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsHeadV2 != nil { - size, err := m.EthV1EventsHeadV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsHeadV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsHeadV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11320,12 +13620,24 @@ func (m *DecoratedEvent_EthV1EventsVoluntaryExitV2) MarshalToVT(dAtA []byte) (in func (m *DecoratedEvent_EthV1EventsVoluntaryExitV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsVoluntaryExitV2 != nil { - size, err := m.EthV1EventsVoluntaryExitV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsVoluntaryExitV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsVoluntaryExitV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11341,12 +13653,24 @@ func (m *DecoratedEvent_EthV1EventsContributionAndProofV2) MarshalToVT(dAtA []by func (m *DecoratedEvent_EthV1EventsContributionAndProofV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsContributionAndProofV2 != nil { - size, err := m.EthV1EventsContributionAndProofV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsContributionAndProofV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsContributionAndProofV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11378,12 +13702,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockV2) MarshalToVT(dAtA []byte) (int, error func (m *DecoratedEvent_EthV2BeaconBlockV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockV2 != nil { - size, err := m.EthV2BeaconBlockV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11399,12 +13735,24 @@ func (m *DecoratedEvent_EthV1ForkChoiceV2) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_EthV1ForkChoiceV2) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1ForkChoiceV2 != nil { - size, err := m.EthV1ForkChoiceV2.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1ForkChoiceV2).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1ForkChoiceV2) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11441,12 +13789,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockAttesterSlashing) MarshalToVT(dAtA []byt func (m *DecoratedEvent_EthV2BeaconBlockAttesterSlashing) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockAttesterSlashing != nil { - size, err := m.EthV2BeaconBlockAttesterSlashing.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockAttesterSlashing).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockAttesterSlashing) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11462,12 +13822,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockProposerSlashing) MarshalToVT(dAtA []byt func (m *DecoratedEvent_EthV2BeaconBlockProposerSlashing) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockProposerSlashing != nil { - size, err := m.EthV2BeaconBlockProposerSlashing.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockProposerSlashing).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockProposerSlashing) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11483,12 +13855,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockVoluntaryExit) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_EthV2BeaconBlockVoluntaryExit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockVoluntaryExit != nil { - size, err := m.EthV2BeaconBlockVoluntaryExit.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockVoluntaryExit).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockVoluntaryExit) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11504,12 +13888,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockDeposit) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_EthV2BeaconBlockDeposit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockDeposit != nil { - size, err := m.EthV2BeaconBlockDeposit.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockDeposit).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockDeposit) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11525,12 +13921,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange) MarshalToVT(dAtA [ func (m *DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockBlsToExecutionChange != nil { - size, err := m.EthV2BeaconBlockBlsToExecutionChange.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockBlsToExecutionChange).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockBlsToExecutionChange) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1 i-- @@ -11546,12 +13954,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockExecutionTransaction) MarshalToVT(dAtA [ func (m *DecoratedEvent_EthV2BeaconBlockExecutionTransaction) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockExecutionTransaction != nil { - size, err := m.EthV2BeaconBlockExecutionTransaction.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockExecutionTransaction).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockExecutionTransaction) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11567,12 +13987,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockWithdrawal) MarshalToVT(dAtA []byte) (in func (m *DecoratedEvent_EthV2BeaconBlockWithdrawal) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockWithdrawal != nil { - size, err := m.EthV2BeaconBlockWithdrawal.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockWithdrawal).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockWithdrawal) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11588,12 +14020,24 @@ func (m *DecoratedEvent_EthV1EventsBlobSidecar) MarshalToVT(dAtA []byte) (int, e func (m *DecoratedEvent_EthV1EventsBlobSidecar) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsBlobSidecar != nil { - size, err := m.EthV1EventsBlobSidecar.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsBlobSidecar).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsBlobSidecar) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11609,12 +14053,24 @@ func (m *DecoratedEvent_EthV1BeaconBlockBlobSidecar) MarshalToVT(dAtA []byte) (i func (m *DecoratedEvent_EthV1BeaconBlockBlobSidecar) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1BeaconBlockBlobSidecar != nil { - size, err := m.EthV1BeaconBlockBlobSidecar.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1BeaconBlockBlobSidecar).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1BeaconBlockBlobSidecar) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11630,12 +14086,24 @@ func (m *DecoratedEvent_BeaconP2PAttestation) MarshalToVT(dAtA []byte) (int, err func (m *DecoratedEvent_BeaconP2PAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.BeaconP2PAttestation != nil { - size, err := m.BeaconP2PAttestation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.BeaconP2PAttestation).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.BeaconP2PAttestation) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11651,12 +14119,24 @@ func (m *DecoratedEvent_EthV1ProposerDuty) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_EthV1ProposerDuty) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1ProposerDuty != nil { - size, err := m.EthV1ProposerDuty.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1ProposerDuty).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1ProposerDuty) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11672,12 +14152,24 @@ func (m *DecoratedEvent_EthV2BeaconBlockElaboratedAttestation) MarshalToVT(dAtA func (m *DecoratedEvent_EthV2BeaconBlockElaboratedAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV2BeaconBlockElaboratedAttestation != nil { - size, err := m.EthV2BeaconBlockElaboratedAttestation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV2BeaconBlockElaboratedAttestation).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockElaboratedAttestation) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11693,12 +14185,24 @@ func (m *DecoratedEvent_Libp2PTraceAddPeer) MarshalToVT(dAtA []byte) (int, error func (m *DecoratedEvent_Libp2PTraceAddPeer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceAddPeer != nil { - size, err := m.Libp2PTraceAddPeer.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceAddPeer).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceAddPeer) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11714,12 +14218,24 @@ func (m *DecoratedEvent_Libp2PTraceRemovePeer) MarshalToVT(dAtA []byte) (int, er func (m *DecoratedEvent_Libp2PTraceRemovePeer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRemovePeer != nil { - size, err := m.Libp2PTraceRemovePeer.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRemovePeer).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRemovePeer) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11735,12 +14251,24 @@ func (m *DecoratedEvent_Libp2PTraceRecvRpc) MarshalToVT(dAtA []byte) (int, error func (m *DecoratedEvent_Libp2PTraceRecvRpc) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRecvRpc != nil { - size, err := m.Libp2PTraceRecvRpc.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRecvRpc).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRecvRpc) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11756,12 +14284,24 @@ func (m *DecoratedEvent_Libp2PTraceSendRpc) MarshalToVT(dAtA []byte) (int, error func (m *DecoratedEvent_Libp2PTraceSendRpc) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceSendRpc != nil { - size, err := m.Libp2PTraceSendRpc.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceSendRpc).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceSendRpc) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11777,12 +14317,24 @@ func (m *DecoratedEvent_Libp2PTraceJoin) MarshalToVT(dAtA []byte) (int, error) { func (m *DecoratedEvent_Libp2PTraceJoin) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceJoin != nil { - size, err := m.Libp2PTraceJoin.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceJoin).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceJoin) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11798,12 +14350,24 @@ func (m *DecoratedEvent_Libp2PTraceConnected) MarshalToVT(dAtA []byte) (int, err func (m *DecoratedEvent_Libp2PTraceConnected) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceConnected != nil { - size, err := m.Libp2PTraceConnected.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceConnected).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceConnected) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11819,12 +14383,24 @@ func (m *DecoratedEvent_Libp2PTraceDisconnected) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_Libp2PTraceDisconnected) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceDisconnected != nil { - size, err := m.Libp2PTraceDisconnected.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceDisconnected).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceDisconnected) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11840,12 +14416,24 @@ func (m *DecoratedEvent_Libp2PTraceHandleMetadata) MarshalToVT(dAtA []byte) (int func (m *DecoratedEvent_Libp2PTraceHandleMetadata) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceHandleMetadata != nil { - size, err := m.Libp2PTraceHandleMetadata.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceHandleMetadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceHandleMetadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2 i-- @@ -11861,12 +14449,24 @@ func (m *DecoratedEvent_Libp2PTraceHandleStatus) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_Libp2PTraceHandleStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceHandleStatus != nil { - size, err := m.Libp2PTraceHandleStatus.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceHandleStatus).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceHandleStatus) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -11882,12 +14482,24 @@ func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconBlock) MarshalToVT(dAtA []byte func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceGossipsubBeaconBlock != nil { - size, err := m.Libp2PTraceGossipsubBeaconBlock.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubBeaconBlock).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubBeaconBlock) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -11903,12 +14515,24 @@ func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation) MarshalToVT(dAtA func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceGossipsubBeaconAttestation != nil { - size, err := m.Libp2PTraceGossipsubBeaconAttestation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubBeaconAttestation).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubBeaconAttestation) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -11924,17 +14548,29 @@ func (m *DecoratedEvent_Libp2PTraceGossipsubBlobSidecar) MarshalToVT(dAtA []byte func (m *DecoratedEvent_Libp2PTraceGossipsubBlobSidecar) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceGossipsubBlobSidecar != nil { - size, err := m.Libp2PTraceGossipsubBlobSidecar.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3 - i-- - dAtA[i] = 0x9a - } + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubBlobSidecar).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubBlobSidecar) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0x9a + } return len(dAtA) - i, nil } func (m *DecoratedEvent_EthV1Validators) MarshalToVT(dAtA []byte) (int, error) { @@ -11966,12 +14602,24 @@ func (m *DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission) MarshalToVT(dAtA func (m *DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.MevRelayBidTraceBuilderBlockSubmission != nil { - size, err := m.MevRelayBidTraceBuilderBlockSubmission.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.MevRelayBidTraceBuilderBlockSubmission).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.MevRelayBidTraceBuilderBlockSubmission) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -11987,12 +14635,24 @@ func (m *DecoratedEvent_MevRelayPayloadDelivered) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_MevRelayPayloadDelivered) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.MevRelayPayloadDelivered != nil { - size, err := m.MevRelayPayloadDelivered.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.MevRelayPayloadDelivered).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.MevRelayPayloadDelivered) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12008,12 +14668,24 @@ func (m *DecoratedEvent_EthV3ValidatorBlock) MarshalToVT(dAtA []byte) (int, erro func (m *DecoratedEvent_EthV3ValidatorBlock) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV3ValidatorBlock != nil { - size, err := m.EthV3ValidatorBlock.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV3ValidatorBlock).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV3ValidatorBlock) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12029,12 +14701,24 @@ func (m *DecoratedEvent_MevRelayValidatorRegistration) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_MevRelayValidatorRegistration) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.MevRelayValidatorRegistration != nil { - size, err := m.MevRelayValidatorRegistration.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.MevRelayValidatorRegistration).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.MevRelayValidatorRegistration) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12050,12 +14734,24 @@ func (m *DecoratedEvent_EthV1EventsBlockGossip) MarshalToVT(dAtA []byte) (int, e func (m *DecoratedEvent_EthV1EventsBlockGossip) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsBlockGossip != nil { - size, err := m.EthV1EventsBlockGossip.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsBlockGossip).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsBlockGossip) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12071,12 +14767,24 @@ func (m *DecoratedEvent_Libp2PTraceDropRpc) MarshalToVT(dAtA []byte) (int, error func (m *DecoratedEvent_Libp2PTraceDropRpc) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceDropRpc != nil { - size, err := m.Libp2PTraceDropRpc.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceDropRpc).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceDropRpc) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12092,12 +14800,24 @@ func (m *DecoratedEvent_Libp2PTraceLeave) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_Libp2PTraceLeave) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceLeave != nil { - size, err := m.Libp2PTraceLeave.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceLeave).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceLeave) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12113,12 +14833,24 @@ func (m *DecoratedEvent_Libp2PTraceGraft) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_Libp2PTraceGraft) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceGraft != nil { - size, err := m.Libp2PTraceGraft.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceGraft).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGraft) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12134,12 +14866,24 @@ func (m *DecoratedEvent_Libp2PTracePrune) MarshalToVT(dAtA []byte) (int, error) func (m *DecoratedEvent_Libp2PTracePrune) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTracePrune != nil { - size, err := m.Libp2PTracePrune.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTracePrune).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTracePrune) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12155,12 +14899,24 @@ func (m *DecoratedEvent_Libp2PTraceDuplicateMessage) MarshalToVT(dAtA []byte) (i func (m *DecoratedEvent_Libp2PTraceDuplicateMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceDuplicateMessage != nil { - size, err := m.Libp2PTraceDuplicateMessage.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceDuplicateMessage).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceDuplicateMessage) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12176,12 +14932,24 @@ func (m *DecoratedEvent_Libp2PTraceDeliverMessage) MarshalToVT(dAtA []byte) (int func (m *DecoratedEvent_Libp2PTraceDeliverMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceDeliverMessage != nil { - size, err := m.Libp2PTraceDeliverMessage.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceDeliverMessage).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceDeliverMessage) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x3 i-- @@ -12197,12 +14965,24 @@ func (m *DecoratedEvent_Libp2PTracePublishMessage) MarshalToVT(dAtA []byte) (int func (m *DecoratedEvent_Libp2PTracePublishMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTracePublishMessage != nil { - size, err := m.Libp2PTracePublishMessage.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTracePublishMessage).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTracePublishMessage) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12218,12 +14998,24 @@ func (m *DecoratedEvent_Libp2PTraceRejectMessage) MarshalToVT(dAtA []byte) (int, func (m *DecoratedEvent_Libp2PTraceRejectMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRejectMessage != nil { - size, err := m.Libp2PTraceRejectMessage.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRejectMessage).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRejectMessage) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12239,12 +15031,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIhave) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIhave) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcMetaControlIhave != nil { - size, err := m.Libp2PTraceRpcMetaControlIhave.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcMetaControlIhave).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcMetaControlIhave) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12260,12 +15064,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIwant) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIwant) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcMetaControlIwant != nil { - size, err := m.Libp2PTraceRpcMetaControlIwant.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcMetaControlIwant).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcMetaControlIwant) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12281,12 +15097,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant) MarshalToVT(dAtA []b func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcMetaControlIdontwant != nil { - size, err := m.Libp2PTraceRpcMetaControlIdontwant.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcMetaControlIdontwant).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcMetaControlIdontwant) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12302,12 +15130,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcMetaControlGraft) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_Libp2PTraceRpcMetaControlGraft) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcMetaControlGraft != nil { - size, err := m.Libp2PTraceRpcMetaControlGraft.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcMetaControlGraft).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcMetaControlGraft) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12323,12 +15163,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcMetaControlPrune) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_Libp2PTraceRpcMetaControlPrune) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcMetaControlPrune != nil { - size, err := m.Libp2PTraceRpcMetaControlPrune.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcMetaControlPrune).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcMetaControlPrune) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12344,12 +15196,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcMetaSubscription) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_Libp2PTraceRpcMetaSubscription) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcMetaSubscription != nil { - size, err := m.Libp2PTraceRpcMetaSubscription.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcMetaSubscription).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcMetaSubscription) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12365,12 +15229,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcMetaMessage) MarshalToVT(dAtA []byte) (int func (m *DecoratedEvent_Libp2PTraceRpcMetaMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcMetaMessage != nil { - size, err := m.Libp2PTraceRpcMetaMessage.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcMetaMessage).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcMetaMessage) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12386,12 +15262,24 @@ func (m *DecoratedEvent_NodeRecordConsensus) MarshalToVT(dAtA []byte) (int, erro func (m *DecoratedEvent_NodeRecordConsensus) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.NodeRecordConsensus != nil { - size, err := m.NodeRecordConsensus.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.NodeRecordConsensus).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.NodeRecordConsensus) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12407,12 +15295,24 @@ func (m *DecoratedEvent_NodeRecordExecution) MarshalToVT(dAtA []byte) (int, erro func (m *DecoratedEvent_NodeRecordExecution) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.NodeRecordExecution != nil { - size, err := m.NodeRecordExecution.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.NodeRecordExecution).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.NodeRecordExecution) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12428,12 +15328,24 @@ func (m *DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof) MarshalToVT(dAtA func (m *DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceGossipsubAggregateAndProof != nil { - size, err := m.Libp2PTraceGossipsubAggregateAndProof.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubAggregateAndProof).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubAggregateAndProof) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12449,12 +15361,24 @@ func (m *DecoratedEvent_EthV1EventsDataColumnSidecar) MarshalToVT(dAtA []byte) ( func (m *DecoratedEvent_EthV1EventsDataColumnSidecar) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsDataColumnSidecar != nil { - size, err := m.EthV1EventsDataColumnSidecar.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsDataColumnSidecar).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsDataColumnSidecar) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12470,12 +15394,24 @@ func (m *DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar) MarshalToVT(dAtA func (m *DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceGossipsubDataColumnSidecar != nil { - size, err := m.Libp2PTraceGossipsubDataColumnSidecar.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubDataColumnSidecar).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubDataColumnSidecar) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12491,12 +15427,24 @@ func (m *DecoratedEvent_Libp2PTraceSyntheticHeartbeat) MarshalToVT(dAtA []byte) func (m *DecoratedEvent_Libp2PTraceSyntheticHeartbeat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceSyntheticHeartbeat != nil { - size, err := m.Libp2PTraceSyntheticHeartbeat.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceSyntheticHeartbeat).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceSyntheticHeartbeat) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12512,12 +15460,24 @@ func (m *DecoratedEvent_Libp2PTraceIdentify) MarshalToVT(dAtA []byte) (int, erro func (m *DecoratedEvent_Libp2PTraceIdentify) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceIdentify != nil { - size, err := m.Libp2PTraceIdentify.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceIdentify).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceIdentify) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x4 i-- @@ -12533,12 +15493,24 @@ func (m *DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe) MarshalToVT(dAtA [ func (m *DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Libp2PTraceRpcDataColumnCustodyProbe != nil { - size, err := m.Libp2PTraceRpcDataColumnCustodyProbe.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.Libp2PTraceRpcDataColumnCustodyProbe).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceRpcDataColumnCustodyProbe) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xc i-- @@ -12659,12 +15631,24 @@ func (m *DecoratedEvent_EthV1BeaconBlob) MarshalToVT(dAtA []byte) (int, error) { func (m *DecoratedEvent_EthV1BeaconBlob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1BeaconBlob != nil { - size, err := m.EthV1BeaconBlob.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1BeaconBlob).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1BeaconBlob) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xc i-- @@ -12743,12 +15727,24 @@ func (m *DecoratedEvent_EthV1EventsFastConfirmation) MarshalToVT(dAtA []byte) (i func (m *DecoratedEvent_EthV1EventsFastConfirmation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.EthV1EventsFastConfirmation != nil { - size, err := m.EthV1EventsFastConfirmation.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if vtmsg, ok := interface{}(m.EthV1EventsFastConfirmation).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsFastConfirmation) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xd i-- @@ -12756,58 +15752,586 @@ func (m *DecoratedEvent_EthV1EventsFastConfirmation) MarshalToSizedBufferVT(dAtA } return len(dAtA) - i, nil } - -var vtprotoPool_CreateEventsRequest = sync.Pool{ - New: func() interface{} { - return &CreateEventsRequest{} - }, +func (m *DecoratedEvent_EthV2BeaconBlockAccessList) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CreateEventsRequest) ResetVT() { - if m != nil { - for _, mm := range m.Events { - mm.ResetVT() +func (m *DecoratedEvent_EthV2BeaconBlockAccessList) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockAccessList != nil { + if vtmsg, ok := interface{}(m.EthV2BeaconBlockAccessList).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockAccessList) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - f0 := m.Events[:0] - m.Reset() - m.Events = f0 - } -} -func (m *CreateEventsRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_CreateEventsRequest.Put(m) + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0x9a } + return len(dAtA) - i, nil } -func CreateEventsRequestFromVTPool() *CreateEventsRequest { - return vtprotoPool_CreateEventsRequest.Get().(*CreateEventsRequest) -} - -var vtprotoPool_CreateEventsResponse = sync.Pool{ - New: func() interface{} { - return &CreateEventsResponse{} - }, +func (m *DecoratedEvent_EthV1EventsExecutionPayload) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CreateEventsResponse) ResetVT() { - if m != nil { - m.Reset() - } -} -func (m *CreateEventsResponse) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_CreateEventsResponse.Put(m) +func (m *DecoratedEvent_EthV1EventsExecutionPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayload != nil { + if vtmsg, ok := interface{}(m.EthV1EventsExecutionPayload).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsExecutionPayload) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xa2 } + return len(dAtA) - i, nil } -func CreateEventsResponseFromVTPool() *CreateEventsResponse { - return vtprotoPool_CreateEventsResponse.Get().(*CreateEventsResponse) +func (m *DecoratedEvent_EthV1EventsPayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -var vtprotoPool_Epoch = sync.Pool{ - New: func() interface{} { - return &Epoch{} - }, +func (m *DecoratedEvent_EthV1EventsPayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsPayloadAttestation != nil { + if vtmsg, ok := interface{}(m.EthV1EventsPayloadAttestation).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsPayloadAttestation) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xaa + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_EthV1EventsExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_EthV1EventsExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayloadBid != nil { + if vtmsg, ok := interface{}(m.EthV1EventsExecutionPayloadBid).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsExecutionPayloadBid) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xb2 + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_EthV1EventsProposerPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_EthV1EventsProposerPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsProposerPreferences != nil { + if vtmsg, ok := interface{}(m.EthV1EventsProposerPreferences).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsProposerPreferences) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xba + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_EthV2BeaconBlockPayloadAttestation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_EthV2BeaconBlockPayloadAttestation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockPayloadAttestation != nil { + if vtmsg, ok := interface{}(m.EthV2BeaconBlockPayloadAttestation).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockPayloadAttestation) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xc2 + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV2BeaconBlockExecutionPayloadBid != nil { + if vtmsg, ok := interface{}(m.EthV2BeaconBlockExecutionPayloadBid).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV2BeaconBlockExecutionPayloadBid) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xca + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubExecutionPayloadEnvelope != nil { + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubExecutionPayloadEnvelope).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubExecutionPayloadEnvelope) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xd2 + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubExecutionPayloadBid != nil { + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubExecutionPayloadBid).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubExecutionPayloadBid) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xda + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubPayloadAttestationMessage != nil { + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubPayloadAttestationMessage).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubPayloadAttestationMessage) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xe2 + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_Libp2PTraceGossipsubProposerPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_Libp2PTraceGossipsubProposerPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Libp2PTraceGossipsubProposerPreferences != nil { + if vtmsg, ok := interface{}(m.Libp2PTraceGossipsubProposerPreferences).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Libp2PTraceGossipsubProposerPreferences) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xea + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_EthV1EventsExecutionPayloadGossip) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_EthV1EventsExecutionPayloadGossip) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayloadGossip != nil { + if vtmsg, ok := interface{}(m.EthV1EventsExecutionPayloadGossip).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsExecutionPayloadGossip) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xf2 + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_EthV1EventsExecutionPayloadAvailable) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_EthV1EventsExecutionPayloadAvailable) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EthV1EventsExecutionPayloadAvailable != nil { + if vtmsg, ok := interface{}(m.EthV1EventsExecutionPayloadAvailable).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.EthV1EventsExecutionPayloadAvailable) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xd + i-- + dAtA[i] = 0xfa + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_BeaconSyntheticPayloadStatusResolved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_BeaconSyntheticPayloadStatusResolved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.BeaconSyntheticPayloadStatusResolved != nil { + if vtmsg, ok := interface{}(m.BeaconSyntheticPayloadStatusResolved).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.BeaconSyntheticPayloadStatusResolved) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xe + i-- + dAtA[i] = 0x82 + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.BeaconSyntheticBuilderPendingPaymentSettlement != nil { + if vtmsg, ok := interface{}(m.BeaconSyntheticBuilderPendingPaymentSettlement).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.BeaconSyntheticBuilderPendingPaymentSettlement) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xe + i-- + dAtA[i] = 0x8a + } + return len(dAtA) - i, nil +} +func (m *DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.BeaconSyntheticPayloadAttestationProcessed != nil { + if vtmsg, ok := interface{}(m.BeaconSyntheticPayloadAttestationProcessed).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.BeaconSyntheticPayloadAttestationProcessed) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xe + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} + +var vtprotoPool_CreateEventsRequest = sync.Pool{ + New: func() interface{} { + return &CreateEventsRequest{} + }, +} + +func (m *CreateEventsRequest) ResetVT() { + if m != nil { + for _, mm := range m.Events { + mm.ResetVT() + } + f0 := m.Events[:0] + m.Reset() + m.Events = f0 + } +} +func (m *CreateEventsRequest) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_CreateEventsRequest.Put(m) + } +} +func CreateEventsRequestFromVTPool() *CreateEventsRequest { + return vtprotoPool_CreateEventsRequest.Get().(*CreateEventsRequest) +} + +var vtprotoPool_CreateEventsResponse = sync.Pool{ + New: func() interface{} { + return &CreateEventsResponse{} + }, +} + +func (m *CreateEventsResponse) ResetVT() { + if m != nil { + m.Reset() + } +} +func (m *CreateEventsResponse) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_CreateEventsResponse.Put(m) + } +} +func CreateEventsResponseFromVTPool() *CreateEventsResponse { + return vtprotoPool_CreateEventsResponse.Get().(*CreateEventsResponse) +} + +var vtprotoPool_Epoch = sync.Pool{ + New: func() interface{} { + return &Epoch{} + }, } func (m *Epoch) ResetVT() { @@ -14310,6 +17834,394 @@ func ClientMeta_AdditionalEthV2BeaconBlockWithdrawalDataFromVTPool() *ClientMeta return vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData.Get().(*ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) } +var vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockAccessListData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV2BeaconBlockAccessListData{} + }, +} + +func (m *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) ResetVT() { + if m != nil { + m.Block.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockAccessListData.Put(m) + } +} +func ClientMeta_AdditionalEthV2BeaconBlockAccessListDataFromVTPool() *ClientMeta_AdditionalEthV2BeaconBlockAccessListData { + return vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockAccessListData.Get().(*ClientMeta_AdditionalEthV2BeaconBlockAccessListData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV1EventsExecutionPayloadData{} + }, +} + +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadData.Put(m) + } +} +func ClientMeta_AdditionalEthV1EventsExecutionPayloadDataFromVTPool() *ClientMeta_AdditionalEthV1EventsExecutionPayloadData { + return vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadData.Get().(*ClientMeta_AdditionalEthV1EventsExecutionPayloadData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV1EventsPayloadAttestationData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV1EventsPayloadAttestationData{} + }, +} + +func (m *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV1EventsPayloadAttestationData.Put(m) + } +} +func ClientMeta_AdditionalEthV1EventsPayloadAttestationDataFromVTPool() *ClientMeta_AdditionalEthV1EventsPayloadAttestationData { + return vtprotoPool_ClientMeta_AdditionalEthV1EventsPayloadAttestationData.Get().(*ClientMeta_AdditionalEthV1EventsPayloadAttestationData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData{} + }, +} + +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData.Put(m) + } +} +func ClientMeta_AdditionalEthV1EventsExecutionPayloadBidDataFromVTPool() *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData { + return vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData.Get().(*ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV1EventsProposerPreferencesData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV1EventsProposerPreferencesData{} + }, +} + +func (m *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV1EventsProposerPreferencesData.Put(m) + } +} +func ClientMeta_AdditionalEthV1EventsProposerPreferencesDataFromVTPool() *ClientMeta_AdditionalEthV1EventsProposerPreferencesData { + return vtprotoPool_ClientMeta_AdditionalEthV1EventsProposerPreferencesData.Get().(*ClientMeta_AdditionalEthV1EventsProposerPreferencesData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData{} + }, +} + +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData.Put(m) + } +} +func ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipDataFromVTPool() *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData { + return vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData.Get().(*ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData{} + }, +} + +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData.Put(m) + } +} +func ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableDataFromVTPool() *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData { + return vtprotoPool_ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData.Get().(*ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) +} + +var vtprotoPool_ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData{} + }, +} + +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData.Put(m) + } +} +func ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedDataFromVTPool() *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData { + return vtprotoPool_ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData.Get().(*ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) +} + +var vtprotoPool_ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData{} + }, +} + +func (m *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData.Put(m) + } +} +func ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementDataFromVTPool() *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData { + return vtprotoPool_ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData.Get().(*ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) +} + +var vtprotoPool_ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData{} + }, +} + +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData.Put(m) + } +} +func ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedDataFromVTPool() *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData { + return vtprotoPool_ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData.Get().(*ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData{} + }, +} + +func (m *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) ResetVT() { + if m != nil { + m.Block.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData.Put(m) + } +} +func ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationDataFromVTPool() *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData { + return vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData.Get().(*ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) +} + +var vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData{} + }, +} + +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) ResetVT() { + if m != nil { + m.Block.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData.Put(m) + } +} +func ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidDataFromVTPool() *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData { + return vtprotoPool_ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData.Get().(*ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) +} + +var vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData{} + }, +} + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.WallclockEpoch.ReturnToVTPool() + m.WallclockSlot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Metadata.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.Put(m) + } +} +func ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeDataFromVTPool() *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData { + return vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData.Get().(*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) +} + +var vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData{} + }, +} + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.WallclockEpoch.ReturnToVTPool() + m.WallclockSlot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Metadata.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.Put(m) + } +} +func ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidDataFromVTPool() *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData { + return vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData.Get().(*ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) +} + +var vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData{} + }, +} + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.WallclockEpoch.ReturnToVTPool() + m.WallclockSlot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Metadata.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.Put(m) + } +} +func ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageDataFromVTPool() *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData { + return vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData.Get().(*ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) +} + +var vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData = sync.Pool{ + New: func() interface{} { + return &ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData{} + }, +} + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) ResetVT() { + if m != nil { + m.Epoch.ReturnToVTPool() + m.Slot.ReturnToVTPool() + m.WallclockEpoch.ReturnToVTPool() + m.WallclockSlot.ReturnToVTPool() + m.Propagation.ReturnToVTPool() + m.Metadata.ReturnToVTPool() + m.Reset() + } +} +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) ReturnToVTPool() { + if m != nil { + m.ResetVT() + vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData.Put(m) + } +} +func ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesDataFromVTPool() *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData { + return vtprotoPool_ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData.Get().(*ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) +} + var vtprotoPool_ClientMeta_AttestationDataSnapshot = sync.Pool{ New: func() interface{} { return &ClientMeta_AttestationDataSnapshot{} @@ -15756,6 +19668,54 @@ func (m *ClientMeta) ResetVT() { if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsFastConfirmation); ok { oneof.EthV1EventsFastConfirmation.ReturnToVTPool() } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockAccessList); ok { + oneof.EthV2BeaconBlockAccessList.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayload); ok { + oneof.EthV1EventsExecutionPayload.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsPayloadAttestation); ok { + oneof.EthV1EventsPayloadAttestation.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayloadBid); ok { + oneof.EthV1EventsExecutionPayloadBid.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsProposerPreferences); ok { + oneof.EthV1EventsProposerPreferences.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockPayloadAttestation); ok { + oneof.EthV2BeaconBlockPayloadAttestation.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockExecutionPayloadBid); ok { + oneof.EthV2BeaconBlockExecutionPayloadBid.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope); ok { + oneof.Libp2PTraceGossipsubExecutionPayloadEnvelope.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid); ok { + oneof.Libp2PTraceGossipsubExecutionPayloadBid.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage); ok { + oneof.Libp2PTraceGossipsubPayloadAttestationMessage.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubProposerPreferences); ok { + oneof.Libp2PTraceGossipsubProposerPreferences.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayloadGossip); ok { + oneof.EthV1EventsExecutionPayloadGossip.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayloadAvailable); ok { + oneof.EthV1EventsExecutionPayloadAvailable.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconSyntheticPayloadStatusResolved); ok { + oneof.BeaconSyntheticPayloadStatusResolved.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement); ok { + oneof.BeaconSyntheticBuilderPendingPaymentSettlement.ReturnToVTPool() + } + if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconSyntheticPayloadAttestationProcessed); ok { + oneof.BeaconSyntheticPayloadAttestationProcessed.ReturnToVTPool() + } m.Reset() } } @@ -16472,6 +20432,54 @@ func (m *DecoratedEvent) ResetVT() { if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsFastConfirmation); ok { oneof.EthV1EventsFastConfirmation.ReturnToVTPool() } + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockAccessList); ok { + oneof.EthV2BeaconBlockAccessList.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayload); ok { + oneof.EthV1EventsExecutionPayload.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsPayloadAttestation); ok { + oneof.EthV1EventsPayloadAttestation.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayloadBid); ok { + oneof.EthV1EventsExecutionPayloadBid.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsProposerPreferences); ok { + oneof.EthV1EventsProposerPreferences.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockPayloadAttestation); ok { + oneof.EthV2BeaconBlockPayloadAttestation.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid); ok { + oneof.EthV2BeaconBlockExecutionPayloadBid.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope); ok { + oneof.Libp2PTraceGossipsubExecutionPayloadEnvelope.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid); ok { + oneof.Libp2PTraceGossipsubExecutionPayloadBid.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage); ok { + oneof.Libp2PTraceGossipsubPayloadAttestationMessage.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubProposerPreferences); ok { + oneof.Libp2PTraceGossipsubProposerPreferences.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayloadGossip); ok { + oneof.EthV1EventsExecutionPayloadGossip.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayloadAvailable); ok { + oneof.EthV1EventsExecutionPayloadAvailable.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_BeaconSyntheticPayloadStatusResolved); ok { + oneof.BeaconSyntheticPayloadStatusResolved.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement); ok { + oneof.BeaconSyntheticBuilderPendingPaymentSettlement.ReturnToVTPool() + } + if oneof, ok := m.Data.(*DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed); ok { + oneof.BeaconSyntheticPayloadAttestationProcessed.ReturnToVTPool() + } m.Reset() } } @@ -16670,15 +20678,33 @@ func (m *DebugForkChoiceReorg) SizeVT() (n int) { var l int _ = l if m.Before != nil { - l = m.Before.SizeVT() + if size, ok := interface{}(m.Before).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Before) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.After != nil { - l = m.After.SizeVT() + if size, ok := interface{}(m.After).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.After) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Event != nil { - l = m.Event.SizeVT() + if size, ok := interface{}(m.Event).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Event) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -16692,15 +20718,33 @@ func (m *DebugForkChoiceReorgV2) SizeVT() (n int) { var l int _ = l if m.Before != nil { - l = m.Before.SizeVT() + if size, ok := interface{}(m.Before).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Before) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.After != nil { - l = m.After.SizeVT() + if size, ok := interface{}(m.After).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.After) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Event != nil { - l = m.Event.SizeVT() + if size, ok := interface{}(m.Event).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Event) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -16715,7 +20759,13 @@ func (m *Validators) SizeVT() (n int) { _ = l if len(m.Validators) > 0 { for _, e := range m.Validators { - l = e.SizeVT() + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } @@ -16730,7 +20780,13 @@ func (m *SyncCommitteeData) SizeVT() (n int) { var l int _ = l if m.SyncCommittee != nil { - l = m.SyncCommittee.SizeVT() + if size, ok := interface{}(m.SyncCommittee).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.SyncCommittee) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) @@ -18145,42 +22201,34 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) SizeVT() (n int) { return n } -func (m *ClientMeta_AttestationDataSnapshot) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.RequestedAtSlotStartDiffMs != nil { - l = (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).SizeVT() + if m.Block != nil { + l = m.Block.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.RequestDurationMs != nil { - l = (*wrapperspb.UInt64Value)(m.RequestDurationMs).SizeVT() + if m.BlockNumber != nil { + l = (*wrapperspb.UInt64Value)(m.BlockNumber).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Timestamp != nil { - l = (*timestamppb.Timestamp)(m.Timestamp).SizeVT() + l = len(m.BlockHash) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Source != nil { - l = m.Source.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Target != nil { - l = m.Target.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Epoch != nil { l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) @@ -18189,15 +22237,15 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) SizeVT() (n int l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Snapshot != nil { - l = m.Snapshot.SizeVT() + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) SizeVT() (n int) { if m == nil { return 0 } @@ -18219,7 +22267,7 @@ func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) SizeVT() (n int) { return n } -func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) SizeVT() (n int) { if m == nil { return 0 } @@ -18241,7 +22289,7 @@ func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) SizeVT() (n int) return n } -func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) SizeVT() (n int) { if m == nil { return 0 } @@ -18255,69 +22303,37 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) SizeVT() (n int) { l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.DataSize != nil { - l = (*wrapperspb.UInt64Value)(m.DataSize).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.VersionedHash) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.DataEmptySize != nil { - l = (*wrapperspb.UInt64Value)(m.DataEmptySize).SizeVT() + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalBeaconP2PAttestationData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Source != nil { - l = m.Source.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Target != nil { - l = m.Target.SizeVT() + if m.Epoch != nil { + l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Slot != nil { l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Epoch != nil { - l = m.Epoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Propagation != nil { l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.AttestingValidator != nil { - l = m.AttestingValidator.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Peer != nil { - l = m.Peer.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Subnet != nil { - l = (*wrapperspb.UInt32Value)(m.Subnet).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Validated != nil { - l = (*wrapperspb.BoolValue)(m.Validated).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalEthV1ProposerDutyData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) SizeVT() (n int) { if m == nil { return 0 } @@ -18331,28 +22347,20 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) SizeVT() (n int) { l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - l = len(m.StateId) - if l > 0 { + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Block != nil { - l = m.Block.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.PositionInBlock != nil { - l = (*wrapperspb.UInt64Value)(m.PositionInBlock).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Epoch != nil { l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) @@ -18361,364 +22369,192 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) SizeVT( l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Source != nil { - l = m.Source.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Target != nil { - l = m.Target.SizeVT() + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Epoch != nil { + l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Epoch != nil { + l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Slot != nil { + l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Block != nil { + l = m.Block.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Position != nil { + l = (*wrapperspb.UInt32Value)(m.Position).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Block != nil { + l = m.Block.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Epoch != nil { + l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Slot != nil { + l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceJoinData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceGraftData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.Metadata != nil { - l = m.Metadata.SizeVT() + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTracePruneData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Epoch != nil { + l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Slot != nil { + l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l if m.Metadata != nil { - l = m.Metadata.SizeVT() + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) SizeVT() (n int) { - if m == nil { - return 0 + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Epoch != nil { l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) @@ -18735,39 +22571,37 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) SizeVT() l = m.WallclockSlot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) SizeVT() (n int) { - if m == nil { - return 0 + if m.Propagation != nil { + l = m.Propagation.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l if m.Metadata != nil { - l = m.Metadata.SizeVT() + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) SizeVT() (n int) { - if m == nil { - return 0 + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) SizeVT() (n int) { if m == nil { return 0 } @@ -18794,7 +22628,13 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) SizeVT() (n i n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Metadata != nil { - l = m.Metadata.SizeVT() + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Topic != nil { @@ -18813,35 +22653,29 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) SizeVT() (n i return n } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) SizeVT() (n int) { +func (m *ClientMeta_AttestationDataSnapshot) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Epoch != nil { - l = m.Epoch.SizeVT() + if m.RequestedAtSlotStartDiffMs != nil { + l = (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) SizeVT() (n int) { - if m == nil { - return 0 + if m.RequestDurationMs != nil { + l = (*wrapperspb.UInt64Value)(m.RequestDurationMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Epoch != nil { - l = m.Epoch.SizeVT() + if m.Timestamp != nil { + l = (*timestamppb.Timestamp)(m.Timestamp).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) SizeVT() (n int) { if m == nil { return 0 } @@ -18855,51 +22689,23 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) SizeVT( l = m.Target.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Slot != nil { - l = m.Slot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Epoch != nil { l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Propagation != nil { - l = m.Propagation.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.AttestingValidator != nil { - l = m.AttestingValidator.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.WallclockEpoch != nil { - l = m.WallclockEpoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.WallclockSlot != nil { - l = m.WallclockSlot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Metadata != nil { - l = m.Metadata.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Topic != nil { - l = (*wrapperspb.StringValue)(m.Topic).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.MessageSize != nil { - l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + if m.Slot != nil { + l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.MessageId != nil { - l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() + if m.Snapshot != nil { + l = m.Snapshot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) SizeVT() (n int) { if m == nil { return 0 } @@ -18913,43 +22719,15 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) SizeVT( l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockEpoch != nil { - l = m.WallclockEpoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.WallclockSlot != nil { - l = m.WallclockSlot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Propagation != nil { l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.AggregatorIndex != nil { - l = (*wrapperspb.UInt64Value)(m.AggregatorIndex).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Metadata != nil { - l = m.Metadata.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Topic != nil { - l = (*wrapperspb.StringValue)(m.Topic).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.MessageSize != nil { - l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.MessageId != nil { - l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) SizeVT() (n int) { if m == nil { return 0 } @@ -18963,39 +22741,15 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) SizeVT() (n i l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockEpoch != nil { - l = m.WallclockEpoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.WallclockSlot != nil { - l = m.WallclockSlot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Propagation != nil { l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Metadata != nil { - l = m.Metadata.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Topic != nil { - l = (*wrapperspb.StringValue)(m.Topic).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.MessageSize != nil { - l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.MessageId != nil { - l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) SizeVT() (n int) { if m == nil { return 0 } @@ -19009,129 +22763,75 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) SizeVT( l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockEpoch != nil { - l = m.WallclockEpoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.WallclockSlot != nil { - l = m.WallclockSlot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Propagation != nil { - l = m.Propagation.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Metadata != nil { - l = m.Metadata.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Topic != nil { - l = (*wrapperspb.StringValue)(m.Topic).SizeVT() + if m.DataSize != nil { + l = (*wrapperspb.UInt64Value)(m.DataSize).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.MessageSize != nil { - l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + l = len(m.VersionedHash) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.MessageId != nil { - l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() + if m.DataEmptySize != nil { + l = (*wrapperspb.UInt64Value)(m.DataEmptySize).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalEthV1ValidatorsData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalBeaconP2PAttestationData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Epoch != nil { - l = m.Epoch.SizeVT() + if m.Source != nil { + l = m.Source.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Relay != nil { - l = m.Relay.SizeVT() + if m.Target != nil { + l = m.Target.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Slot != nil { l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockSlot != nil { - l = m.WallclockSlot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Epoch != nil { l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockEpoch != nil { - l = m.WallclockEpoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.RequestedAtSlotTime != nil { - l = (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ResponseAtSlotTime != nil { - l = (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Relay != nil { - l = m.Relay.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Slot != nil { - l = m.Slot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.WallclockSlot != nil { - l = m.WallclockSlot.SizeVT() + if m.Propagation != nil { + l = m.Propagation.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Epoch != nil { - l = m.Epoch.SizeVT() + if m.AttestingValidator != nil { + l = m.AttestingValidator.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockEpoch != nil { - l = m.WallclockEpoch.SizeVT() + if m.Peer != nil { + if size, ok := interface{}(m.Peer).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Peer) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.RequestedAtSlotTime != nil { - l = (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).SizeVT() + if m.Subnet != nil { + l = (*wrapperspb.UInt32Value)(m.Subnet).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.ResponseAtSlotTime != nil { - l = (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).SizeVT() + if m.Validated != nil { + l = (*wrapperspb.BoolValue)(m.Validated).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV1ProposerDutyData) SizeVT() (n int) { if m == nil { return 0 } @@ -19145,2813 +22845,8443 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) SizeVT() (n int) { l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - l = len(m.Version) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TransactionsCount != nil { - l = (*wrapperspb.UInt64Value)(m.TransactionsCount).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TransactionsTotalBytes != nil { - l = (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TransactionsTotalBytesCompressed != nil { - l = (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TotalBytes != nil { - l = (*wrapperspb.UInt64Value)(m.TotalBytes).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TotalBytesCompressed != nil { - l = (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ExecutionValue) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ConsensusValue) + l = len(m.StateId) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.RequestDurationMs != nil { - l = (*wrapperspb.UInt64Value)(m.RequestDurationMs).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.RequestedAt != nil { - l = (*timestamppb.Timestamp)(m.RequestedAt).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Relay != nil { - l = m.Relay.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Slot != nil { - l = m.Slot.SizeVT() + if m.Block != nil { + l = m.Block.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockSlot != nil { - l = m.WallclockSlot.SizeVT() + if m.PositionInBlock != nil { + l = (*wrapperspb.UInt64Value)(m.PositionInBlock).SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.Epoch != nil { l = m.Epoch.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.WallclockEpoch != nil { - l = m.WallclockEpoch.SizeVT() + if m.Slot != nil { + l = m.Slot.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.ValidatorIndex != nil { - l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + if m.Source != nil { + l = m.Source.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Target != nil { + l = m.Target.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalNodeRecordConsensusData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.FinalizedEpoch != nil { - l = m.FinalizedEpoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.HeadSlot != nil { - l = m.HeadSlot.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.HeadEpoch != nil { - l = m.HeadEpoch.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Epoch != nil { - l = m.Epoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Slot != nil { - l = m.Slot.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Epoch != nil { - l = m.Epoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Slot != nil { - l = m.Slot.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_AdditionalEthV1BeaconBlobData) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Epoch != nil { - l = m.Epoch.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Slot != nil { - l = m.Slot.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Version) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Id) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Implementation) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Os) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ClockDrift != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.ClockDrift)) - } - if m.Ethereum != nil { - l = m.Ethereum.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if len(m.Labels) > 0 { - for k, v := range m.Labels { - _ = k - _ = v - mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v))) - n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) } - } - if vtmsg, ok := m.AdditionalData.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - if m.ModuleName != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.ModuleName)) - } - l = len(m.PresetName) - if l > 0 { - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsAttestation) SizeVT() (n int) { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsAttestation != nil { - l = m.EthV1EventsAttestation.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsHead) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsHead != nil { - l = m.EthV1EventsHead.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsBlock) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlock != nil { - l = m.EthV1EventsBlock.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsVoluntaryExit) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsVoluntaryExit != nil { - l = m.EthV1EventsVoluntaryExit.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsFinalizedCheckpoint) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsFinalizedCheckpoint != nil { - l = m.EthV1EventsFinalizedCheckpoint.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsChainReorg) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceJoinData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsChainReorg != nil { - l = m.EthV1EventsChainReorg.SizeVT() + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsContributionAndProof) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsContributionAndProof != nil { - l = m.EthV1EventsContributionAndProof.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_MempoolTransaction) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGraftData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MempoolTransaction != nil { - l = m.MempoolTransaction.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV2BeaconBlock) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTracePruneData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlock != nil { - l = m.EthV2BeaconBlock.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1DebugForkChoice) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1DebugForkChoice != nil { - l = m.EthV1DebugForkChoice.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1DebugForkChoiceReorg) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1DebugForkChoiceReorg != nil { - l = m.EthV1DebugForkChoiceReorg.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1BeaconCommittee) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1BeaconCommittee != nil { - l = m.EthV1BeaconCommittee.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1ValidatorAttestationData) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1ValidatorAttestationData != nil { - l = m.EthV1ValidatorAttestationData.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsAttestationV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsAttestationV2 != nil { - l = m.EthV1EventsAttestationV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsHeadV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsHeadV2 != nil { - l = m.EthV1EventsHeadV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsBlockV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlockV2 != nil { - l = m.EthV1EventsBlockV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsVoluntaryExitV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsVoluntaryExitV2 != nil { - l = m.EthV1EventsVoluntaryExitV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsFinalizedCheckpointV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsFinalizedCheckpointV2 != nil { - l = m.EthV1EventsFinalizedCheckpointV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsChainReorgV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsChainReorgV2 != nil { - l = m.EthV1EventsChainReorgV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsContributionAndProofV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsContributionAndProofV2 != nil { - l = m.EthV1EventsContributionAndProofV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_MempoolTransactionV2) SizeVT() (n int) { - if m == nil { - return 0 + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.MempoolTransactionV2 != nil { - l = m.MempoolTransactionV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV2BeaconBlockV2) SizeVT() (n int) { - if m == nil { - return 0 + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV2BeaconBlockV2 != nil { - l = m.EthV2BeaconBlockV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1DebugForkChoiceV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1DebugForkChoiceV2 != nil { - l = m.EthV1DebugForkChoiceV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1DebugForkChoiceReorgV2) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1DebugForkChoiceReorgV2 != nil { - l = m.EthV1DebugForkChoiceReorgV2.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV2BeaconBlockAttesterSlashing) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockAttesterSlashing != nil { - l = m.EthV2BeaconBlockAttesterSlashing.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV2BeaconBlockProposerSlashing) SizeVT() (n int) { - if m == nil { - return 0 + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV2BeaconBlockProposerSlashing != nil { - l = m.EthV2BeaconBlockProposerSlashing.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV2BeaconBlockVoluntaryExit) SizeVT() (n int) { - if m == nil { - return 0 + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV2BeaconBlockVoluntaryExit != nil { - l = m.EthV2BeaconBlockVoluntaryExit.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Propagation != nil { + l = m.Propagation.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV2BeaconBlockDeposit) SizeVT() (n int) { - if m == nil { - return 0 + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV2BeaconBlockDeposit != nil { - l = m.EthV2BeaconBlockDeposit.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV2BeaconBlockBlsToExecutionChange) SizeVT() (n int) { - if m == nil { - return 0 + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV2BeaconBlockBlsToExecutionChange != nil { - l = m.EthV2BeaconBlockBlsToExecutionChange.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV2BeaconBlockExecutionTransaction) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockExecutionTransaction != nil { - l = m.EthV2BeaconBlockExecutionTransaction.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV2BeaconBlockWithdrawal) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockWithdrawal != nil { - l = m.EthV2BeaconBlockWithdrawal.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsBlobSidecar) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlobSidecar != nil { - l = m.EthV1EventsBlobSidecar.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Source != nil { + l = m.Source.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV1BeaconBlobSidecar) SizeVT() (n int) { - if m == nil { - return 0 + if m.Target != nil { + l = m.Target.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV1BeaconBlobSidecar != nil { - l = m.EthV1BeaconBlobSidecar.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_BeaconP2PAttestation) SizeVT() (n int) { - if m == nil { - return 0 + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.BeaconP2PAttestation != nil { - l = m.BeaconP2PAttestation.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Propagation != nil { + l = m.Propagation.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV1ProposerDuty) SizeVT() (n int) { - if m == nil { - return 0 + if m.AttestingValidator != nil { + l = m.AttestingValidator.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV1ProposerDuty != nil { - l = m.EthV1ProposerDuty.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_EthV2BeaconBlockElaboratedAttestation) SizeVT() (n int) { - if m == nil { - return 0 + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV2BeaconBlockElaboratedAttestation != nil { - l = m.EthV2BeaconBlockElaboratedAttestation.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_Libp2PTraceAddPeer) SizeVT() (n int) { - if m == nil { - return 0 + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceAddPeer != nil { - l = m.Libp2PTraceAddPeer.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceRemovePeer) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRemovePeer != nil { - l = m.Libp2PTraceRemovePeer.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_Libp2PTraceRecvRpc) SizeVT() (n int) { - if m == nil { - return 0 + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceRecvRpc != nil { - l = m.Libp2PTraceRecvRpc.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_Libp2PTraceSendRpc) SizeVT() (n int) { - if m == nil { - return 0 + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceSendRpc != nil { - l = m.Libp2PTraceSendRpc.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Propagation != nil { + l = m.Propagation.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_Libp2PTraceJoin) SizeVT() (n int) { - if m == nil { - return 0 + if m.AggregatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.AggregatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceJoin != nil { - l = m.Libp2PTraceJoin.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_Libp2PTraceConnected) SizeVT() (n int) { - if m == nil { - return 0 + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceConnected != nil { - l = m.Libp2PTraceConnected.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceDisconnected) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDisconnected != nil { - l = m.Libp2PTraceDisconnected.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_Libp2PTraceHandleMetadata) SizeVT() (n int) { - if m == nil { - return 0 + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceHandleMetadata != nil { - l = m.Libp2PTraceHandleMetadata.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *ClientMeta_Libp2PTraceHandleStatus) SizeVT() (n int) { - if m == nil { - return 0 + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceHandleStatus != nil { - l = m.Libp2PTraceHandleStatus.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Propagation != nil { + l = m.Propagation.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceGossipsubBeaconBlock) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGossipsubBeaconBlock != nil { - l = m.Libp2PTraceGossipsubBeaconBlock.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Propagation != nil { + l = m.Propagation.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Topic != nil { + l = (*wrapperspb.StringValue)(m.Topic).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MessageSize != nil { + l = (*wrapperspb.UInt32Value)(m.MessageSize).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MessageId != nil { + l = (*wrapperspb.StringValue)(m.MessageId).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceGossipsubBeaconAttestation) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalEthV1ValidatorsData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGossipsubBeaconAttestation != nil { - l = m.Libp2PTraceGossipsubBeaconAttestation.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceGossipsubBlobSidecar) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGossipsubBlobSidecar != nil { - l = m.Libp2PTraceGossipsubBlobSidecar.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Relay != nil { + if size, ok := interface{}(m.Relay).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Relay) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.RequestedAtSlotTime != nil { + l = (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ResponseAtSlotTime != nil { + l = (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1Validators) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1Validators != nil { - l = m.EthV1Validators.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Relay != nil { + if size, ok := interface{}(m.Relay).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Relay) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.RequestedAtSlotTime != nil { + l = (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ResponseAtSlotTime != nil { + l = (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_MevRelayBidTraceBuilderBlockSubmission) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MevRelayBidTraceBuilderBlockSubmission != nil { - l = m.MevRelayBidTraceBuilderBlockSubmission.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Version) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TransactionsCount != nil { + l = (*wrapperspb.UInt64Value)(m.TransactionsCount).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TransactionsTotalBytes != nil { + l = (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TransactionsTotalBytesCompressed != nil { + l = (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TotalBytes != nil { + l = (*wrapperspb.UInt64Value)(m.TotalBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TotalBytesCompressed != nil { + l = (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ExecutionValue) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ConsensusValue) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.RequestDurationMs != nil { + l = (*wrapperspb.UInt64Value)(m.RequestDurationMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.RequestedAt != nil { + l = (*timestamppb.Timestamp)(m.RequestedAt).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_MevRelayPayloadDelivered) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MevRelayPayloadDelivered != nil { - l = m.MevRelayPayloadDelivered.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Relay != nil { + if size, ok := interface{}(m.Relay).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Relay) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockSlot != nil { + l = m.WallclockSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WallclockEpoch != nil { + l = m.WallclockEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValidatorIndex != nil { + l = (*wrapperspb.UInt64Value)(m.ValidatorIndex).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV3ValidatorBlock) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalNodeRecordConsensusData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV3ValidatorBlock != nil { - l = m.EthV3ValidatorBlock.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.FinalizedEpoch != nil { + l = m.FinalizedEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.HeadSlot != nil { + l = m.HeadSlot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.HeadEpoch != nil { + l = m.HeadEpoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) return n } -func (m *ClientMeta_MevRelayValidatorRegistration) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MevRelayValidatorRegistration != nil { - l = m.MevRelayValidatorRegistration.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_EthV1EventsBlockGossip) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlockGossip != nil { - l = m.EthV1EventsBlockGossip.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceDropRpc) SizeVT() (n int) { + +func (m *ClientMeta_AdditionalEthV1BeaconBlobData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDropRpc != nil { - l = m.Libp2PTraceDropRpc.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Epoch != nil { + l = m.Epoch.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Slot != nil { + l = m.Slot.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceLeave) SizeVT() (n int) { + +func (m *ClientMeta) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceLeave != nil { - l = m.Libp2PTraceLeave.SizeVT() + l = len(m.Name) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Version) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Id) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Implementation) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Os) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ClockDrift != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ClockDrift)) + } + if m.Ethereum != nil { + l = m.Ethereum.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.Labels) > 0 { + for k, v := range m.Labels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v))) + n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize)) + } + } + if vtmsg, ok := m.AdditionalData.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + if m.ModuleName != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.ModuleName)) + } + l = len(m.PresetName) + if l > 0 { n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *ClientMeta_Libp2PTraceGraft) SizeVT() (n int) { + +func (m *ClientMeta_EthV1EventsAttestation) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGraft != nil { - l = m.Libp2PTraceGraft.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsAttestation != nil { + l = m.EthV1EventsAttestation.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTracePrune) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsHead) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTracePrune != nil { - l = m.Libp2PTracePrune.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsHead != nil { + l = m.EthV1EventsHead.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceDuplicateMessage) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsBlock) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDuplicateMessage != nil { - l = m.Libp2PTraceDuplicateMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsBlock != nil { + l = m.EthV1EventsBlock.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceDeliverMessage) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsVoluntaryExit) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDeliverMessage != nil { - l = m.Libp2PTraceDeliverMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsVoluntaryExit != nil { + l = m.EthV1EventsVoluntaryExit.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTracePublishMessage) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsFinalizedCheckpoint) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTracePublishMessage != nil { - l = m.Libp2PTracePublishMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsFinalizedCheckpoint != nil { + l = m.EthV1EventsFinalizedCheckpoint.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRejectMessage) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsChainReorg) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRejectMessage != nil { - l = m.Libp2PTraceRejectMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsChainReorg != nil { + l = m.EthV1EventsChainReorg.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcMetaControlIhave) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsContributionAndProof) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlIhave != nil { - l = m.Libp2PTraceRpcMetaControlIhave.SizeVT() + if m.EthV1EventsContributionAndProof != nil { + l = m.EthV1EventsContributionAndProof.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcMetaControlIwant) SizeVT() (n int) { +func (m *ClientMeta_MempoolTransaction) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlIwant != nil { - l = m.Libp2PTraceRpcMetaControlIwant.SizeVT() + if m.MempoolTransaction != nil { + l = m.MempoolTransaction.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcMetaControlIdontwant) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlock) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlIdontwant != nil { - l = m.Libp2PTraceRpcMetaControlIdontwant.SizeVT() + if m.EthV2BeaconBlock != nil { + l = m.EthV2BeaconBlock.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcMetaControlGraft) SizeVT() (n int) { +func (m *ClientMeta_EthV1DebugForkChoice) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlGraft != nil { - l = m.Libp2PTraceRpcMetaControlGraft.SizeVT() + if m.EthV1DebugForkChoice != nil { + l = m.EthV1DebugForkChoice.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcMetaControlPrune) SizeVT() (n int) { +func (m *ClientMeta_EthV1DebugForkChoiceReorg) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlPrune != nil { - l = m.Libp2PTraceRpcMetaControlPrune.SizeVT() + if m.EthV1DebugForkChoiceReorg != nil { + l = m.EthV1DebugForkChoiceReorg.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcMetaSubscription) SizeVT() (n int) { +func (m *ClientMeta_EthV1BeaconCommittee) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaSubscription != nil { - l = m.Libp2PTraceRpcMetaSubscription.SizeVT() + if m.EthV1BeaconCommittee != nil { + l = m.EthV1BeaconCommittee.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcMetaMessage) SizeVT() (n int) { +func (m *ClientMeta_EthV1ValidatorAttestationData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaMessage != nil { - l = m.Libp2PTraceRpcMetaMessage.SizeVT() + if m.EthV1ValidatorAttestationData != nil { + l = m.EthV1ValidatorAttestationData.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_NodeRecordConsensus) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsAttestationV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NodeRecordConsensus != nil { - l = m.NodeRecordConsensus.SizeVT() + if m.EthV1EventsAttestationV2 != nil { + l = m.EthV1EventsAttestationV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceGossipsubAggregateAndProof) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsHeadV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGossipsubAggregateAndProof != nil { - l = m.Libp2PTraceGossipsubAggregateAndProof.SizeVT() + if m.EthV1EventsHeadV2 != nil { + l = m.EthV1EventsHeadV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_EthV1EventsDataColumnSidecar) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsBlockV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsDataColumnSidecar != nil { - l = m.EthV1EventsDataColumnSidecar.SizeVT() + if m.EthV1EventsBlockV2 != nil { + l = m.EthV1EventsBlockV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceGossipsubDataColumnSidecar) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsVoluntaryExitV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGossipsubDataColumnSidecar != nil { - l = m.Libp2PTraceGossipsubDataColumnSidecar.SizeVT() + if m.EthV1EventsVoluntaryExitV2 != nil { + l = m.EthV1EventsVoluntaryExitV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceSyntheticHeartbeat) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsFinalizedCheckpointV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceSyntheticHeartbeat != nil { - l = m.Libp2PTraceSyntheticHeartbeat.SizeVT() + if m.EthV1EventsFinalizedCheckpointV2 != nil { + l = m.EthV1EventsFinalizedCheckpointV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceRpcDataColumnCustodyProbe) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsChainReorgV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcDataColumnCustodyProbe != nil { - l = m.Libp2PTraceRpcDataColumnCustodyProbe.SizeVT() + if m.EthV1EventsChainReorgV2 != nil { + l = m.EthV1EventsChainReorgV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_ConsensusEngineApiNewPayload) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsContributionAndProofV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ConsensusEngineApiNewPayload != nil { - l = m.ConsensusEngineApiNewPayload.SizeVT() + if m.EthV1EventsContributionAndProofV2 != nil { + l = m.EthV1EventsContributionAndProofV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_ConsensusEngineApiGetBlobs) SizeVT() (n int) { +func (m *ClientMeta_MempoolTransactionV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ConsensusEngineApiGetBlobs != nil { - l = m.ConsensusEngineApiGetBlobs.SizeVT() + if m.MempoolTransactionV2 != nil { + l = m.MempoolTransactionV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_EthV1BeaconBlob) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1BeaconBlob != nil { - l = m.EthV1BeaconBlob.SizeVT() + if m.EthV2BeaconBlockV2 != nil { + l = m.EthV2BeaconBlockV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_EthV1BeaconSyncCommittee) SizeVT() (n int) { +func (m *ClientMeta_EthV1DebugForkChoiceV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1BeaconSyncCommittee != nil { - l = m.EthV1BeaconSyncCommittee.SizeVT() + if m.EthV1DebugForkChoiceV2 != nil { + l = m.EthV1DebugForkChoiceV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_EthV2BeaconBlockSyncAggregate) SizeVT() (n int) { +func (m *ClientMeta_EthV1DebugForkChoiceReorgV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockSyncAggregate != nil { - l = m.EthV2BeaconBlockSyncAggregate.SizeVT() + if m.EthV1DebugForkChoiceReorgV2 != nil { + l = m.EthV1DebugForkChoiceReorgV2.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_Libp2PTraceIdentify) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockAttesterSlashing) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceIdentify != nil { - l = m.Libp2PTraceIdentify.SizeVT() + if m.EthV2BeaconBlockAttesterSlashing != nil { + l = m.EthV2BeaconBlockAttesterSlashing.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ClientMeta_EthV1EventsFastConfirmation) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockProposerSlashing) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsFastConfirmation != nil { - l = m.EthV1EventsFastConfirmation.SizeVT() + if m.EthV2BeaconBlockProposerSlashing != nil { + l = m.EthV2BeaconBlockProposerSlashing.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ServerMeta_Event) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockVoluntaryExit) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ReceivedDateTime != nil { - l = (*timestamppb.Timestamp)(m.ReceivedDateTime).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV2BeaconBlockVoluntaryExit != nil { + l = m.EthV2BeaconBlockVoluntaryExit.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_Geo) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockDeposit) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.City) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Country) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.CountryCode) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ContinentCode) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Latitude != 0 { - n += 9 - } - if m.Longitude != 0 { - n += 9 - } - if m.AutonomousSystemNumber != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.AutonomousSystemNumber)) - } - l = len(m.AutonomousSystemOrganization) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV2BeaconBlockDeposit != nil { + l = m.EthV2BeaconBlockDeposit.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_Client) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockBlsToExecutionChange) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.IP) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Geo != nil { - l = m.Geo.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Group) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.User) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV2BeaconBlockBlsToExecutionChange != nil { + l = m.EthV2BeaconBlockBlsToExecutionChange.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_Peer) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockExecutionTransaction) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Geo != nil { - l = m.Geo.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV2BeaconBlockExecutionTransaction != nil { + l = m.EthV2BeaconBlockExecutionTransaction.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_AdditionalBeaconP2PAttestationData) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockWithdrawal) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Peer != nil { - l = m.Peer.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) + if m.EthV2BeaconBlockWithdrawal != nil { + l = m.EthV2BeaconBlockWithdrawal.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } return n } - -func (m *ServerMeta_AdditionalLibp2PTraceConnectedData) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsBlobSidecar) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Peer != nil { - l = m.Peer.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsBlobSidecar != nil { + l = m.EthV1EventsBlobSidecar.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_AdditionalLibp2PTraceDisconnectedData) SizeVT() (n int) { +func (m *ClientMeta_EthV1BeaconBlobSidecar) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Peer != nil { - l = m.Peer.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1BeaconBlobSidecar != nil { + l = m.EthV1BeaconBlobSidecar.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) SizeVT() (n int) { +func (m *ClientMeta_BeaconP2PAttestation) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Peer != nil { - l = m.Peer.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.BeaconP2PAttestation != nil { + l = m.BeaconP2PAttestation.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_AdditionalLibp2PTraceIdentifyData) SizeVT() (n int) { +func (m *ClientMeta_EthV1ProposerDuty) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Peer != nil { - l = m.Peer.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1ProposerDuty != nil { + l = m.EthV1ProposerDuty.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_AdditionalNodeRecordConsensusData) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockElaboratedAttestation) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Geo != nil { - l = m.Geo.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV2BeaconBlockElaboratedAttestation != nil { + l = m.EthV2BeaconBlockElaboratedAttestation.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_AdditionalNodeRecordExecutionData) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceAddPeer) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Geo != nil { - l = m.Geo.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceAddPeer != nil { + l = m.Libp2PTraceAddPeer.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRemovePeer) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Event != nil { - l = m.Event.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Client != nil { - l = m.Client.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if vtmsg, ok := m.AdditionalData.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() + if m.Libp2PTraceRemovePeer != nil { + l = m.Libp2PTraceRemovePeer.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ServerMeta_BEACON_P2P_ATTESTATION) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRecvRpc) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.BEACON_P2P_ATTESTATION != nil { - l = m.BEACON_P2P_ATTESTATION.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceRecvRpc != nil { + l = m.Libp2PTraceRecvRpc.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ServerMeta_LIBP2P_TRACE_CONNECTED) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceSendRpc) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.LIBP2P_TRACE_CONNECTED != nil { - l = m.LIBP2P_TRACE_CONNECTED.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceSendRpc != nil { + l = m.Libp2PTraceSendRpc.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ServerMeta_LIBP2P_TRACE_DISCONNECTED) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceJoin) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.LIBP2P_TRACE_DISCONNECTED != nil { - l = m.LIBP2P_TRACE_DISCONNECTED.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceJoin != nil { + l = m.Libp2PTraceJoin.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ServerMeta_NODE_RECORD_CONSENSUS) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceConnected) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NODE_RECORD_CONSENSUS != nil { - l = m.NODE_RECORD_CONSENSUS.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceConnected != nil { + l = m.Libp2PTraceConnected.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ServerMeta_NODE_RECORD_EXECUTION) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceDisconnected) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NODE_RECORD_EXECUTION != nil { - l = m.NODE_RECORD_EXECUTION.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceDisconnected != nil { + l = m.Libp2PTraceDisconnected.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ServerMeta_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceHandleMetadata) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT != nil { - l = m.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT.SizeVT() + if m.Libp2PTraceHandleMetadata != nil { + l = m.Libp2PTraceHandleMetadata.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ServerMeta_LIBP2P_TRACE_IDENTIFY) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceHandleStatus) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.LIBP2P_TRACE_IDENTIFY != nil { - l = m.LIBP2P_TRACE_IDENTIFY.SizeVT() + if m.Libp2PTraceHandleStatus != nil { + l = m.Libp2PTraceHandleStatus.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *Meta) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubBeaconBlock) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Client != nil { - l = m.Client.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Server != nil { - l = m.Server.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceGossipsubBeaconBlock != nil { + l = m.Libp2PTraceGossipsubBeaconBlock.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *Event) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubBeaconAttestation) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Name != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Name)) - } - if m.DateTime != nil { - l = (*timestamppb.Timestamp)(m.DateTime).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Id) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceGossipsubBeaconAttestation != nil { + l = m.Libp2PTraceGossipsubBeaconAttestation.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ExecutionBlockMetrics_StateReads) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubBlobSidecar) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Accounts != nil { - l = (*wrapperspb.UInt64Value)(m.Accounts).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StorageSlots != nil { - l = (*wrapperspb.UInt64Value)(m.StorageSlots).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Code != nil { - l = (*wrapperspb.UInt64Value)(m.Code).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CodeBytes != nil { - l = (*wrapperspb.UInt64Value)(m.CodeBytes).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceGossipsubBlobSidecar != nil { + l = m.Libp2PTraceGossipsubBlobSidecar.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ExecutionBlockMetrics_StateWrites) SizeVT() (n int) { +func (m *ClientMeta_EthV1Validators) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Accounts != nil { - l = (*wrapperspb.UInt64Value)(m.Accounts).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.AccountsDeleted != nil { - l = (*wrapperspb.UInt64Value)(m.AccountsDeleted).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StorageSlots != nil { - l = (*wrapperspb.UInt64Value)(m.StorageSlots).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StorageSlotsDeleted != nil { - l = (*wrapperspb.UInt64Value)(m.StorageSlotsDeleted).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Code != nil { - l = (*wrapperspb.UInt64Value)(m.Code).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CodeBytes != nil { - l = (*wrapperspb.UInt64Value)(m.CodeBytes).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1Validators != nil { + l = m.EthV1Validators.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ExecutionBlockMetrics_CacheEntry) SizeVT() (n int) { +func (m *ClientMeta_MevRelayBidTraceBuilderBlockSubmission) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Hits != nil { - l = (*wrapperspb.Int64Value)(m.Hits).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Misses != nil { - l = (*wrapperspb.Int64Value)(m.Misses).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.HitRate != nil { - l = (*wrapperspb.DoubleValue)(m.HitRate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.MevRelayBidTraceBuilderBlockSubmission != nil { + l = m.MevRelayBidTraceBuilderBlockSubmission.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ExecutionBlockMetrics_CodeCacheEntry) SizeVT() (n int) { +func (m *ClientMeta_MevRelayPayloadDelivered) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Hits != nil { - l = (*wrapperspb.Int64Value)(m.Hits).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Misses != nil { - l = (*wrapperspb.Int64Value)(m.Misses).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.HitRate != nil { - l = (*wrapperspb.DoubleValue)(m.HitRate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.HitBytes != nil { - l = (*wrapperspb.Int64Value)(m.HitBytes).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.MissBytes != nil { - l = (*wrapperspb.Int64Value)(m.MissBytes).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.MevRelayPayloadDelivered != nil { + l = m.MevRelayPayloadDelivered.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *ExecutionBlockMetrics) SizeVT() (n int) { +func (m *ClientMeta_EthV3ValidatorBlock) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Source) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.BlockNumber != nil { - l = (*wrapperspb.UInt64Value)(m.BlockNumber).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.BlockHash) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.GasUsed != nil { - l = (*wrapperspb.UInt64Value)(m.GasUsed).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TxCount != nil { - l = (*wrapperspb.UInt32Value)(m.TxCount).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ExecutionMs != nil { - l = (*wrapperspb.DoubleValue)(m.ExecutionMs).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StateReadMs != nil { - l = (*wrapperspb.DoubleValue)(m.StateReadMs).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StateHashMs != nil { - l = (*wrapperspb.DoubleValue)(m.StateHashMs).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CommitMs != nil { - l = (*wrapperspb.DoubleValue)(m.CommitMs).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TotalMs != nil { - l = (*wrapperspb.DoubleValue)(m.TotalMs).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.MgasPerSec != nil { - l = (*wrapperspb.DoubleValue)(m.MgasPerSec).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StateReads != nil { - l = m.StateReads.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StateWrites != nil { - l = m.StateWrites.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.AccountCache != nil { - l = m.AccountCache.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.StorageCache != nil { - l = m.StorageCache.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CodeCache != nil { - l = m.CodeCache.SizeVT() + if m.EthV3ValidatorBlock != nil { + l = m.EthV3ValidatorBlock.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *DecoratedEvent) SizeVT() (n int) { +func (m *ClientMeta_MevRelayValidatorRegistration) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Event != nil { - l = m.Event.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Meta != nil { - l = m.Meta.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if vtmsg, ok := m.Data.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() + if m.MevRelayValidatorRegistration != nil { + l = m.MevRelayValidatorRegistration.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) return n } - -func (m *DecoratedEvent_EthV1EventsAttestation) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsBlockGossip) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsAttestation != nil { - l = m.EthV1EventsAttestation.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.EthV1EventsBlockGossip != nil { + l = m.EthV1EventsBlockGossip.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsBlock) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceDropRpc) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlock != nil { - l = m.EthV1EventsBlock.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceDropRpc != nil { + l = m.Libp2PTraceDropRpc.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsChainReorg) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceLeave) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsChainReorg != nil { - l = m.EthV1EventsChainReorg.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceLeave != nil { + l = m.Libp2PTraceLeave.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsFinalizedCheckpoint) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGraft) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsFinalizedCheckpoint != nil { - l = m.EthV1EventsFinalizedCheckpoint.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceGraft != nil { + l = m.Libp2PTraceGraft.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsHead) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTracePrune) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsHead != nil { - l = m.EthV1EventsHead.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTracePrune != nil { + l = m.Libp2PTracePrune.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsVoluntaryExit) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceDuplicateMessage) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsVoluntaryExit != nil { - l = m.EthV1EventsVoluntaryExit.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceDuplicateMessage != nil { + l = m.Libp2PTraceDuplicateMessage.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsContributionAndProof) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceDeliverMessage) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsContributionAndProof != nil { - l = m.EthV1EventsContributionAndProof.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceDeliverMessage != nil { + l = m.Libp2PTraceDeliverMessage.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_MempoolTransaction) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTracePublishMessage) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.MempoolTransaction) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTracePublishMessage != nil { + l = m.Libp2PTracePublishMessage.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } return n } -func (m *DecoratedEvent_EthV2BeaconBlock) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRejectMessage) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlock != nil { - l = m.EthV2BeaconBlock.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceRejectMessage != nil { + l = m.Libp2PTraceRejectMessage.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1ForkChoice) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcMetaControlIhave) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1ForkChoice != nil { - l = m.EthV1ForkChoice.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceRpcMetaControlIhave != nil { + l = m.Libp2PTraceRpcMetaControlIhave.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1ForkChoiceReorg) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcMetaControlIwant) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1ForkChoiceReorg != nil { - l = m.EthV1ForkChoiceReorg.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceRpcMetaControlIwant != nil { + l = m.Libp2PTraceRpcMetaControlIwant.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1BeaconCommittee) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcMetaControlIdontwant) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1BeaconCommittee != nil { - l = m.EthV1BeaconCommittee.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceRpcMetaControlIdontwant != nil { + l = m.Libp2PTraceRpcMetaControlIdontwant.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1ValidatorAttestationData) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcMetaControlGraft) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1ValidatorAttestationData != nil { - l = m.EthV1ValidatorAttestationData.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceRpcMetaControlGraft != nil { + l = m.Libp2PTraceRpcMetaControlGraft.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsAttestationV2) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcMetaControlPrune) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsAttestationV2 != nil { - l = m.EthV1EventsAttestationV2.SizeVT() + if m.Libp2PTraceRpcMetaControlPrune != nil { + l = m.Libp2PTraceRpcMetaControlPrune.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsBlockV2) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcMetaSubscription) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlockV2 != nil { - l = m.EthV1EventsBlockV2.SizeVT() + if m.Libp2PTraceRpcMetaSubscription != nil { + l = m.Libp2PTraceRpcMetaSubscription.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsChainReorgV2) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcMetaMessage) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsChainReorgV2 != nil { - l = m.EthV1EventsChainReorgV2.SizeVT() + if m.Libp2PTraceRpcMetaMessage != nil { + l = m.Libp2PTraceRpcMetaMessage.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsFinalizedCheckpointV2) SizeVT() (n int) { +func (m *ClientMeta_NodeRecordConsensus) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsFinalizedCheckpointV2 != nil { - l = m.EthV1EventsFinalizedCheckpointV2.SizeVT() + if m.NodeRecordConsensus != nil { + l = m.NodeRecordConsensus.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsHeadV2) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubAggregateAndProof) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsHeadV2 != nil { - l = m.EthV1EventsHeadV2.SizeVT() + if m.Libp2PTraceGossipsubAggregateAndProof != nil { + l = m.Libp2PTraceGossipsubAggregateAndProof.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsVoluntaryExitV2) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsDataColumnSidecar) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsVoluntaryExitV2 != nil { - l = m.EthV1EventsVoluntaryExitV2.SizeVT() + if m.EthV1EventsDataColumnSidecar != nil { + l = m.EthV1EventsDataColumnSidecar.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsContributionAndProofV2) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubDataColumnSidecar) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsContributionAndProofV2 != nil { - l = m.EthV1EventsContributionAndProofV2.SizeVT() + if m.Libp2PTraceGossipsubDataColumnSidecar != nil { + l = m.Libp2PTraceGossipsubDataColumnSidecar.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_MempoolTransactionV2) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceSyntheticHeartbeat) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.MempoolTransactionV2) - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Libp2PTraceSyntheticHeartbeat != nil { + l = m.Libp2PTraceSyntheticHeartbeat.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } return n } -func (m *DecoratedEvent_EthV2BeaconBlockV2) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceRpcDataColumnCustodyProbe) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockV2 != nil { - l = m.EthV2BeaconBlockV2.SizeVT() + if m.Libp2PTraceRpcDataColumnCustodyProbe != nil { + l = m.Libp2PTraceRpcDataColumnCustodyProbe.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1ForkChoiceV2) SizeVT() (n int) { +func (m *ClientMeta_ConsensusEngineApiNewPayload) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1ForkChoiceV2 != nil { - l = m.EthV1ForkChoiceV2.SizeVT() + if m.ConsensusEngineApiNewPayload != nil { + l = m.ConsensusEngineApiNewPayload.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1ForkChoiceReorgV2) SizeVT() (n int) { +func (m *ClientMeta_ConsensusEngineApiGetBlobs) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1ForkChoiceReorgV2 != nil { - l = m.EthV1ForkChoiceReorgV2.SizeVT() + if m.ConsensusEngineApiGetBlobs != nil { + l = m.ConsensusEngineApiGetBlobs.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockAttesterSlashing) SizeVT() (n int) { +func (m *ClientMeta_EthV1BeaconBlob) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockAttesterSlashing != nil { - l = m.EthV2BeaconBlockAttesterSlashing.SizeVT() + if m.EthV1BeaconBlob != nil { + l = m.EthV1BeaconBlob.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockProposerSlashing) SizeVT() (n int) { +func (m *ClientMeta_EthV1BeaconSyncCommittee) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockProposerSlashing != nil { - l = m.EthV2BeaconBlockProposerSlashing.SizeVT() + if m.EthV1BeaconSyncCommittee != nil { + l = m.EthV1BeaconSyncCommittee.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockVoluntaryExit) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockSyncAggregate) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockVoluntaryExit != nil { - l = m.EthV2BeaconBlockVoluntaryExit.SizeVT() + if m.EthV2BeaconBlockSyncAggregate != nil { + l = m.EthV2BeaconBlockSyncAggregate.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockDeposit) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceIdentify) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockDeposit != nil { - l = m.EthV2BeaconBlockDeposit.SizeVT() + if m.Libp2PTraceIdentify != nil { + l = m.Libp2PTraceIdentify.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsFastConfirmation) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockBlsToExecutionChange != nil { - l = m.EthV2BeaconBlockBlsToExecutionChange.SizeVT() + if m.EthV1EventsFastConfirmation != nil { + l = m.EthV1EventsFastConfirmation.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockExecutionTransaction) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockAccessList) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockExecutionTransaction != nil { - l = m.EthV2BeaconBlockExecutionTransaction.SizeVT() + if m.EthV2BeaconBlockAccessList != nil { + l = m.EthV2BeaconBlockAccessList.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockWithdrawal) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsExecutionPayload) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockWithdrawal != nil { - l = m.EthV2BeaconBlockWithdrawal.SizeVT() + if m.EthV1EventsExecutionPayload != nil { + l = m.EthV1EventsExecutionPayload.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsBlobSidecar) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsPayloadAttestation) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlobSidecar != nil { - l = m.EthV1EventsBlobSidecar.SizeVT() + if m.EthV1EventsPayloadAttestation != nil { + l = m.EthV1EventsPayloadAttestation.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1BeaconBlockBlobSidecar) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsExecutionPayloadBid) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1BeaconBlockBlobSidecar != nil { - l = m.EthV1BeaconBlockBlobSidecar.SizeVT() + if m.EthV1EventsExecutionPayloadBid != nil { + l = m.EthV1EventsExecutionPayloadBid.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_BeaconP2PAttestation) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsProposerPreferences) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.BeaconP2PAttestation != nil { - l = m.BeaconP2PAttestation.SizeVT() + if m.EthV1EventsProposerPreferences != nil { + l = m.EthV1EventsProposerPreferences.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1ProposerDuty) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockPayloadAttestation) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1ProposerDuty != nil { - l = m.EthV1ProposerDuty.SizeVT() + if m.EthV2BeaconBlockPayloadAttestation != nil { + l = m.EthV2BeaconBlockPayloadAttestation.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockElaboratedAttestation) SizeVT() (n int) { +func (m *ClientMeta_EthV2BeaconBlockExecutionPayloadBid) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockElaboratedAttestation != nil { - l = m.EthV2BeaconBlockElaboratedAttestation.SizeVT() + if m.EthV2BeaconBlockExecutionPayloadBid != nil { + l = m.EthV2BeaconBlockExecutionPayloadBid.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceAddPeer) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceAddPeer != nil { - l = m.Libp2PTraceAddPeer.SizeVT() + if m.Libp2PTraceGossipsubExecutionPayloadEnvelope != nil { + l = m.Libp2PTraceGossipsubExecutionPayloadEnvelope.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRemovePeer) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRemovePeer != nil { - l = m.Libp2PTraceRemovePeer.SizeVT() + if m.Libp2PTraceGossipsubExecutionPayloadBid != nil { + l = m.Libp2PTraceGossipsubExecutionPayloadBid.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRecvRpc) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRecvRpc != nil { - l = m.Libp2PTraceRecvRpc.SizeVT() + if m.Libp2PTraceGossipsubPayloadAttestationMessage != nil { + l = m.Libp2PTraceGossipsubPayloadAttestationMessage.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceSendRpc) SizeVT() (n int) { +func (m *ClientMeta_Libp2PTraceGossipsubProposerPreferences) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceSendRpc != nil { - l = m.Libp2PTraceSendRpc.SizeVT() + if m.Libp2PTraceGossipsubProposerPreferences != nil { + l = m.Libp2PTraceGossipsubProposerPreferences.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceJoin) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsExecutionPayloadGossip) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceJoin != nil { - l = m.Libp2PTraceJoin.SizeVT() + if m.EthV1EventsExecutionPayloadGossip != nil { + l = m.EthV1EventsExecutionPayloadGossip.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceConnected) SizeVT() (n int) { +func (m *ClientMeta_EthV1EventsExecutionPayloadAvailable) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceConnected != nil { - l = m.Libp2PTraceConnected.SizeVT() + if m.EthV1EventsExecutionPayloadAvailable != nil { + l = m.EthV1EventsExecutionPayloadAvailable.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceDisconnected) SizeVT() (n int) { +func (m *ClientMeta_BeaconSyntheticPayloadStatusResolved) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDisconnected != nil { - l = m.Libp2PTraceDisconnected.SizeVT() + if m.BeaconSyntheticPayloadStatusResolved != nil { + l = m.BeaconSyntheticPayloadStatusResolved.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceHandleMetadata) SizeVT() (n int) { +func (m *ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceHandleMetadata != nil { - l = m.Libp2PTraceHandleMetadata.SizeVT() + if m.BeaconSyntheticBuilderPendingPaymentSettlement != nil { + l = m.BeaconSyntheticBuilderPendingPaymentSettlement.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceHandleStatus) SizeVT() (n int) { +func (m *ClientMeta_BeaconSyntheticPayloadAttestationProcessed) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceHandleStatus != nil { - l = m.Libp2PTraceHandleStatus.SizeVT() + if m.BeaconSyntheticPayloadAttestationProcessed != nil { + l = m.BeaconSyntheticPayloadAttestationProcessed.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconBlock) SizeVT() (n int) { +func (m *ServerMeta_Event) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGossipsubBeaconBlock != nil { - l = m.Libp2PTraceGossipsubBeaconBlock.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ReceivedDateTime != nil { + l = (*timestamppb.Timestamp)(m.ReceivedDateTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation) SizeVT() (n int) { + +func (m *ServerMeta_Geo) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGossipsubBeaconAttestation != nil { - l = m.Libp2PTraceGossipsubBeaconAttestation.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + l = len(m.City) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_Libp2PTraceGossipsubBlobSidecar) SizeVT() (n int) { - if m == nil { - return 0 + l = len(m.Country) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceGossipsubBlobSidecar != nil { - l = m.Libp2PTraceGossipsubBlobSidecar.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + l = len(m.CountryCode) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_EthV1Validators) SizeVT() (n int) { - if m == nil { - return 0 + l = len(m.ContinentCode) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV1Validators != nil { - l = m.EthV1Validators.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Latitude != 0 { + n += 9 } - return n -} -func (m *DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission) SizeVT() (n int) { - if m == nil { - return 0 + if m.Longitude != 0 { + n += 9 } - var l int - _ = l - if m.MevRelayBidTraceBuilderBlockSubmission != nil { - l = m.MevRelayBidTraceBuilderBlockSubmission.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.AutonomousSystemNumber != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.AutonomousSystemNumber)) + } + l = len(m.AutonomousSystemOrganization) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_MevRelayPayloadDelivered) SizeVT() (n int) { + +func (m *ServerMeta_Client) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MevRelayPayloadDelivered != nil { - l = m.MevRelayPayloadDelivered.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + l = len(m.IP) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_EthV3ValidatorBlock) SizeVT() (n int) { - if m == nil { - return 0 + if m.Geo != nil { + l = m.Geo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.EthV3ValidatorBlock != nil { - l = m.EthV3ValidatorBlock.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + l = len(m.Group) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.User) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_MevRelayValidatorRegistration) SizeVT() (n int) { + +func (m *ServerMeta_Peer) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MevRelayValidatorRegistration != nil { - l = m.MevRelayValidatorRegistration.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Geo != nil { + l = m.Geo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_EthV1EventsBlockGossip) SizeVT() (n int) { + +func (m *ServerMeta_AdditionalBeaconP2PAttestationData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsBlockGossip != nil { - l = m.EthV1EventsBlockGossip.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Peer != nil { + l = m.Peer.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceDropRpc) SizeVT() (n int) { + +func (m *ServerMeta_AdditionalLibp2PTraceConnectedData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDropRpc != nil { - l = m.Libp2PTraceDropRpc.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Peer != nil { + l = m.Peer.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceLeave) SizeVT() (n int) { + +func (m *ServerMeta_AdditionalLibp2PTraceDisconnectedData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceLeave != nil { - l = m.Libp2PTraceLeave.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Peer != nil { + l = m.Peer.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceGraft) SizeVT() (n int) { + +func (m *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceGraft != nil { - l = m.Libp2PTraceGraft.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Peer != nil { + l = m.Peer.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTracePrune) SizeVT() (n int) { + +func (m *ServerMeta_AdditionalLibp2PTraceIdentifyData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTracePrune != nil { - l = m.Libp2PTracePrune.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Peer != nil { + l = m.Peer.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceDuplicateMessage) SizeVT() (n int) { + +func (m *ServerMeta_AdditionalNodeRecordConsensusData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDuplicateMessage != nil { - l = m.Libp2PTraceDuplicateMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Geo != nil { + l = m.Geo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceDeliverMessage) SizeVT() (n int) { + +func (m *ServerMeta_AdditionalNodeRecordExecutionData) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceDeliverMessage != nil { - l = m.Libp2PTraceDeliverMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Geo != nil { + l = m.Geo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTracePublishMessage) SizeVT() (n int) { + +func (m *ServerMeta) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTracePublishMessage != nil { - l = m.Libp2PTracePublishMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Event != nil { + l = m.Event.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_Libp2PTraceRejectMessage) SizeVT() (n int) { - if m == nil { - return 0 + if m.Client != nil { + l = m.Client.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceRejectMessage != nil { - l = m.Libp2PTraceRejectMessage.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if vtmsg, ok := m.AdditionalData.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIhave) SizeVT() (n int) { + +func (m *ServerMeta_BEACON_P2P_ATTESTATION) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlIhave != nil { - l = m.Libp2PTraceRpcMetaControlIhave.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.BEACON_P2P_ATTESTATION != nil { + l = m.BEACON_P2P_ATTESTATION.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIwant) SizeVT() (n int) { +func (m *ServerMeta_LIBP2P_TRACE_CONNECTED) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlIwant != nil { - l = m.Libp2PTraceRpcMetaControlIwant.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.LIBP2P_TRACE_CONNECTED != nil { + l = m.LIBP2P_TRACE_CONNECTED.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant) SizeVT() (n int) { +func (m *ServerMeta_LIBP2P_TRACE_DISCONNECTED) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlIdontwant != nil { - l = m.Libp2PTraceRpcMetaControlIdontwant.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.LIBP2P_TRACE_DISCONNECTED != nil { + l = m.LIBP2P_TRACE_DISCONNECTED.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRpcMetaControlGraft) SizeVT() (n int) { +func (m *ServerMeta_NODE_RECORD_CONSENSUS) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlGraft != nil { - l = m.Libp2PTraceRpcMetaControlGraft.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.NODE_RECORD_CONSENSUS != nil { + l = m.NODE_RECORD_CONSENSUS.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRpcMetaControlPrune) SizeVT() (n int) { +func (m *ServerMeta_NODE_RECORD_EXECUTION) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaControlPrune != nil { - l = m.Libp2PTraceRpcMetaControlPrune.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.NODE_RECORD_EXECUTION != nil { + l = m.NODE_RECORD_EXECUTION.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRpcMetaSubscription) SizeVT() (n int) { +func (m *ServerMeta_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaSubscription != nil { - l = m.Libp2PTraceRpcMetaSubscription.SizeVT() + if m.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT != nil { + l = m.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_Libp2PTraceRpcMetaMessage) SizeVT() (n int) { +func (m *ServerMeta_LIBP2P_TRACE_IDENTIFY) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceRpcMetaMessage != nil { - l = m.Libp2PTraceRpcMetaMessage.SizeVT() + if m.LIBP2P_TRACE_IDENTIFY != nil { + l = m.LIBP2P_TRACE_IDENTIFY.SizeVT() n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_NodeRecordConsensus) SizeVT() (n int) { +func (m *Meta) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NodeRecordConsensus != nil { - l = m.NodeRecordConsensus.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Client != nil { + l = m.Client.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Server != nil { + l = m.Server.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_NodeRecordExecution) SizeVT() (n int) { + +func (m *Event) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NodeRecordExecution != nil { - l = m.NodeRecordExecution.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Name != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Name)) } - return n -} -func (m *DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof) SizeVT() (n int) { - if m == nil { - return 0 + if m.DateTime != nil { + l = (*timestamppb.Timestamp)(m.DateTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceGossipsubAggregateAndProof != nil { - l = m.Libp2PTraceGossipsubAggregateAndProof.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + l = len(m.Id) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_EthV1EventsDataColumnSidecar) SizeVT() (n int) { + +func (m *ExecutionBlockMetrics_StateReads) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsDataColumnSidecar != nil { - l = m.EthV1EventsDataColumnSidecar.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Accounts != nil { + l = (*wrapperspb.UInt64Value)(m.Accounts).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar) SizeVT() (n int) { - if m == nil { - return 0 + if m.StorageSlots != nil { + l = (*wrapperspb.UInt64Value)(m.StorageSlots).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceGossipsubDataColumnSidecar != nil { - l = m.Libp2PTraceGossipsubDataColumnSidecar.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Code != nil { + l = (*wrapperspb.UInt64Value)(m.Code).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.CodeBytes != nil { + l = (*wrapperspb.UInt64Value)(m.CodeBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_Libp2PTraceSyntheticHeartbeat) SizeVT() (n int) { + +func (m *ExecutionBlockMetrics_StateWrites) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Libp2PTraceSyntheticHeartbeat != nil { - l = m.Libp2PTraceSyntheticHeartbeat.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Accounts != nil { + l = (*wrapperspb.UInt64Value)(m.Accounts).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_Libp2PTraceIdentify) SizeVT() (n int) { - if m == nil { - return 0 + if m.AccountsDeleted != nil { + l = (*wrapperspb.UInt64Value)(m.AccountsDeleted).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceIdentify != nil { - l = m.Libp2PTraceIdentify.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.StorageSlots != nil { + l = (*wrapperspb.UInt64Value)(m.StorageSlots).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe) SizeVT() (n int) { - if m == nil { - return 0 + if m.StorageSlotsDeleted != nil { + l = (*wrapperspb.UInt64Value)(m.StorageSlotsDeleted).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.Libp2PTraceRpcDataColumnCustodyProbe != nil { - l = m.Libp2PTraceRpcDataColumnCustodyProbe.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Code != nil { + l = (*wrapperspb.UInt64Value)(m.Code).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CodeBytes != nil { + l = (*wrapperspb.UInt64Value)(m.CodeBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_ExecutionStateSize) SizeVT() (n int) { + +func (m *ExecutionBlockMetrics_CacheEntry) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ExecutionStateSize != nil { - l = m.ExecutionStateSize.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Hits != nil { + l = (*wrapperspb.Int64Value)(m.Hits).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *DecoratedEvent_ConsensusEngineApiNewPayload) SizeVT() (n int) { - if m == nil { - return 0 + if m.Misses != nil { + l = (*wrapperspb.Int64Value)(m.Misses).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.ConsensusEngineApiNewPayload != nil { - l = m.ConsensusEngineApiNewPayload.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.HitRate != nil { + l = (*wrapperspb.DoubleValue)(m.HitRate).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_ConsensusEngineApiGetBlobs) SizeVT() (n int) { + +func (m *ExecutionBlockMetrics_CodeCacheEntry) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ConsensusEngineApiGetBlobs != nil { - l = m.ConsensusEngineApiGetBlobs.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Hits != nil { + l = (*wrapperspb.Int64Value)(m.Hits).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Misses != nil { + l = (*wrapperspb.Int64Value)(m.Misses).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.HitRate != nil { + l = (*wrapperspb.DoubleValue)(m.HitRate).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.HitBytes != nil { + l = (*wrapperspb.Int64Value)(m.HitBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MissBytes != nil { + l = (*wrapperspb.Int64Value)(m.MissBytes).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_ExecutionEngineNewPayload) SizeVT() (n int) { + +func (m *ExecutionBlockMetrics) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ExecutionEngineNewPayload != nil { - l = m.ExecutionEngineNewPayload.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + l = len(m.Source) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.BlockNumber != nil { + l = (*wrapperspb.UInt64Value)(m.BlockNumber).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.BlockHash) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.GasUsed != nil { + l = (*wrapperspb.UInt64Value)(m.GasUsed).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TxCount != nil { + l = (*wrapperspb.UInt32Value)(m.TxCount).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ExecutionMs != nil { + l = (*wrapperspb.DoubleValue)(m.ExecutionMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StateReadMs != nil { + l = (*wrapperspb.DoubleValue)(m.StateReadMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StateHashMs != nil { + l = (*wrapperspb.DoubleValue)(m.StateHashMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CommitMs != nil { + l = (*wrapperspb.DoubleValue)(m.CommitMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TotalMs != nil { + l = (*wrapperspb.DoubleValue)(m.TotalMs).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MgasPerSec != nil { + l = (*wrapperspb.DoubleValue)(m.MgasPerSec).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StateReads != nil { + l = m.StateReads.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StateWrites != nil { + l = m.StateWrites.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.AccountCache != nil { + l = m.AccountCache.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StorageCache != nil { + l = m.StorageCache.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CodeCache != nil { + l = m.CodeCache.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) return n } -func (m *DecoratedEvent_ExecutionEngineGetBlobs) SizeVT() (n int) { + +func (m *DecoratedEvent) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ExecutionEngineGetBlobs != nil { - l = m.ExecutionEngineGetBlobs.SizeVT() + if m.Event != nil { + l = m.Event.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Meta != nil { + l = m.Meta.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if vtmsg, ok := m.Data.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *DecoratedEvent_EthV1EventsAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsAttestation != nil { + if size, ok := interface{}(m.EthV1EventsAttestation).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsAttestation) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsBlock) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsBlock != nil { + if size, ok := interface{}(m.EthV1EventsBlock).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsBlock) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsChainReorg) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsChainReorg != nil { + if size, ok := interface{}(m.EthV1EventsChainReorg).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsChainReorg) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsFinalizedCheckpoint) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsFinalizedCheckpoint != nil { + if size, ok := interface{}(m.EthV1EventsFinalizedCheckpoint).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsFinalizedCheckpoint) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsHead) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsHead != nil { + if size, ok := interface{}(m.EthV1EventsHead).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsHead) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsVoluntaryExit) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsVoluntaryExit != nil { + if size, ok := interface{}(m.EthV1EventsVoluntaryExit).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsVoluntaryExit) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsContributionAndProof) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsContributionAndProof != nil { + if size, ok := interface{}(m.EthV1EventsContributionAndProof).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsContributionAndProof) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_MempoolTransaction) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MempoolTransaction) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *DecoratedEvent_EthV2BeaconBlock) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlock != nil { + if size, ok := interface{}(m.EthV2BeaconBlock).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlock) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1ForkChoice) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1ForkChoice != nil { + if size, ok := interface{}(m.EthV1ForkChoice).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1ForkChoice) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1ForkChoiceReorg) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1ForkChoiceReorg != nil { + l = m.EthV1ForkChoiceReorg.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1BeaconCommittee) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1BeaconCommittee != nil { + if size, ok := interface{}(m.EthV1BeaconCommittee).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1BeaconCommittee) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1ValidatorAttestationData) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1ValidatorAttestationData != nil { + if size, ok := interface{}(m.EthV1ValidatorAttestationData).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1ValidatorAttestationData) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsAttestationV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsAttestationV2 != nil { + if size, ok := interface{}(m.EthV1EventsAttestationV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsAttestationV2) + } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1BeaconBlob) SizeVT() (n int) { +func (m *DecoratedEvent_EthV1EventsBlockV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1BeaconBlob != nil { - l = m.EthV1BeaconBlob.SizeVT() + if m.EthV1EventsBlockV2 != nil { + if size, ok := interface{}(m.EthV1EventsBlockV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsBlockV2) + } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1BeaconSyncCommittee) SizeVT() (n int) { +func (m *DecoratedEvent_EthV1EventsChainReorgV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1BeaconSyncCommittee != nil { - l = m.EthV1BeaconSyncCommittee.SizeVT() + if m.EthV1EventsChainReorgV2 != nil { + if size, ok := interface{}(m.EthV1EventsChainReorgV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsChainReorgV2) + } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV2BeaconBlockSyncAggregate) SizeVT() (n int) { +func (m *DecoratedEvent_EthV1EventsFinalizedCheckpointV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV2BeaconBlockSyncAggregate != nil { - l = m.EthV2BeaconBlockSyncAggregate.SizeVT() + if m.EthV1EventsFinalizedCheckpointV2 != nil { + if size, ok := interface{}(m.EthV1EventsFinalizedCheckpointV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsFinalizedCheckpointV2) + } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_ExecutionBlockMetrics) SizeVT() (n int) { +func (m *DecoratedEvent_EthV1EventsHeadV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ExecutionBlockMetrics != nil { - l = m.ExecutionBlockMetrics.SizeVT() + if m.EthV1EventsHeadV2 != nil { + if size, ok := interface{}(m.EthV1EventsHeadV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsHeadV2) + } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *DecoratedEvent_EthV1EventsFastConfirmation) SizeVT() (n int) { +func (m *DecoratedEvent_EthV1EventsVoluntaryExitV2) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.EthV1EventsFastConfirmation != nil { - l = m.EthV1EventsFastConfirmation.SizeVT() + if m.EthV1EventsVoluntaryExitV2 != nil { + if size, ok := interface{}(m.EthV1EventsVoluntaryExitV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsVoluntaryExitV2) + } n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *CreateEventsRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { +func (m *DecoratedEvent_EthV1EventsContributionAndProofV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsContributionAndProofV2 != nil { + if size, ok := interface{}(m.EthV1EventsContributionAndProofV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsContributionAndProofV2) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_MempoolTransactionV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MempoolTransactionV2) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockV2 != nil { + if size, ok := interface{}(m.EthV2BeaconBlockV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockV2) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1ForkChoiceV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1ForkChoiceV2 != nil { + if size, ok := interface{}(m.EthV1ForkChoiceV2).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1ForkChoiceV2) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1ForkChoiceReorgV2) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1ForkChoiceReorgV2 != nil { + l = m.EthV1ForkChoiceReorgV2.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockAttesterSlashing) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockAttesterSlashing != nil { + if size, ok := interface{}(m.EthV2BeaconBlockAttesterSlashing).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockAttesterSlashing) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockProposerSlashing) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockProposerSlashing != nil { + if size, ok := interface{}(m.EthV2BeaconBlockProposerSlashing).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockProposerSlashing) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockVoluntaryExit) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockVoluntaryExit != nil { + if size, ok := interface{}(m.EthV2BeaconBlockVoluntaryExit).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockVoluntaryExit) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockDeposit) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockDeposit != nil { + if size, ok := interface{}(m.EthV2BeaconBlockDeposit).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockDeposit) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockBlsToExecutionChange != nil { + if size, ok := interface{}(m.EthV2BeaconBlockBlsToExecutionChange).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockBlsToExecutionChange) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockExecutionTransaction) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockExecutionTransaction != nil { + if size, ok := interface{}(m.EthV2BeaconBlockExecutionTransaction).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockExecutionTransaction) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockWithdrawal) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockWithdrawal != nil { + if size, ok := interface{}(m.EthV2BeaconBlockWithdrawal).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockWithdrawal) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsBlobSidecar) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsBlobSidecar != nil { + if size, ok := interface{}(m.EthV1EventsBlobSidecar).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsBlobSidecar) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1BeaconBlockBlobSidecar) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1BeaconBlockBlobSidecar != nil { + if size, ok := interface{}(m.EthV1BeaconBlockBlobSidecar).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1BeaconBlockBlobSidecar) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_BeaconP2PAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BeaconP2PAttestation != nil { + if size, ok := interface{}(m.BeaconP2PAttestation).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.BeaconP2PAttestation) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1ProposerDuty) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1ProposerDuty != nil { + if size, ok := interface{}(m.EthV1ProposerDuty).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1ProposerDuty) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockElaboratedAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockElaboratedAttestation != nil { + if size, ok := interface{}(m.EthV2BeaconBlockElaboratedAttestation).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockElaboratedAttestation) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceAddPeer) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceAddPeer != nil { + if size, ok := interface{}(m.Libp2PTraceAddPeer).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceAddPeer) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRemovePeer) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRemovePeer != nil { + if size, ok := interface{}(m.Libp2PTraceRemovePeer).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRemovePeer) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRecvRpc) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRecvRpc != nil { + if size, ok := interface{}(m.Libp2PTraceRecvRpc).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRecvRpc) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceSendRpc) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceSendRpc != nil { + if size, ok := interface{}(m.Libp2PTraceSendRpc).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceSendRpc) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceJoin) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceJoin != nil { + if size, ok := interface{}(m.Libp2PTraceJoin).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceJoin) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceConnected) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceConnected != nil { + if size, ok := interface{}(m.Libp2PTraceConnected).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceConnected) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceDisconnected) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceDisconnected != nil { + if size, ok := interface{}(m.Libp2PTraceDisconnected).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceDisconnected) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceHandleMetadata) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceHandleMetadata != nil { + if size, ok := interface{}(m.Libp2PTraceHandleMetadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceHandleMetadata) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceHandleStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceHandleStatus != nil { + if size, ok := interface{}(m.Libp2PTraceHandleStatus).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceHandleStatus) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconBlock) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubBeaconBlock != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubBeaconBlock).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubBeaconBlock) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubBeaconAttestation != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubBeaconAttestation).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubBeaconAttestation) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubBlobSidecar) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubBlobSidecar != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubBlobSidecar).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubBlobSidecar) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1Validators) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1Validators != nil { + l = m.EthV1Validators.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MevRelayBidTraceBuilderBlockSubmission != nil { + if size, ok := interface{}(m.MevRelayBidTraceBuilderBlockSubmission).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.MevRelayBidTraceBuilderBlockSubmission) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_MevRelayPayloadDelivered) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MevRelayPayloadDelivered != nil { + if size, ok := interface{}(m.MevRelayPayloadDelivered).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.MevRelayPayloadDelivered) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV3ValidatorBlock) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV3ValidatorBlock != nil { + if size, ok := interface{}(m.EthV3ValidatorBlock).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV3ValidatorBlock) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_MevRelayValidatorRegistration) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MevRelayValidatorRegistration != nil { + if size, ok := interface{}(m.MevRelayValidatorRegistration).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.MevRelayValidatorRegistration) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsBlockGossip) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsBlockGossip != nil { + if size, ok := interface{}(m.EthV1EventsBlockGossip).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsBlockGossip) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceDropRpc) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceDropRpc != nil { + if size, ok := interface{}(m.Libp2PTraceDropRpc).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceDropRpc) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceLeave) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceLeave != nil { + if size, ok := interface{}(m.Libp2PTraceLeave).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceLeave) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGraft) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGraft != nil { + if size, ok := interface{}(m.Libp2PTraceGraft).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGraft) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTracePrune) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTracePrune != nil { + if size, ok := interface{}(m.Libp2PTracePrune).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTracePrune) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceDuplicateMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceDuplicateMessage != nil { + if size, ok := interface{}(m.Libp2PTraceDuplicateMessage).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceDuplicateMessage) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceDeliverMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceDeliverMessage != nil { + if size, ok := interface{}(m.Libp2PTraceDeliverMessage).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceDeliverMessage) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTracePublishMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTracePublishMessage != nil { + if size, ok := interface{}(m.Libp2PTracePublishMessage).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTracePublishMessage) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRejectMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRejectMessage != nil { + if size, ok := interface{}(m.Libp2PTraceRejectMessage).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRejectMessage) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIhave) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcMetaControlIhave != nil { + if size, ok := interface{}(m.Libp2PTraceRpcMetaControlIhave).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcMetaControlIhave) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIwant) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcMetaControlIwant != nil { + if size, ok := interface{}(m.Libp2PTraceRpcMetaControlIwant).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcMetaControlIwant) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcMetaControlIdontwant != nil { + if size, ok := interface{}(m.Libp2PTraceRpcMetaControlIdontwant).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcMetaControlIdontwant) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcMetaControlGraft) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcMetaControlGraft != nil { + if size, ok := interface{}(m.Libp2PTraceRpcMetaControlGraft).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcMetaControlGraft) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcMetaControlPrune) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcMetaControlPrune != nil { + if size, ok := interface{}(m.Libp2PTraceRpcMetaControlPrune).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcMetaControlPrune) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcMetaSubscription) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcMetaSubscription != nil { + if size, ok := interface{}(m.Libp2PTraceRpcMetaSubscription).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcMetaSubscription) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcMetaMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcMetaMessage != nil { + if size, ok := interface{}(m.Libp2PTraceRpcMetaMessage).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcMetaMessage) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_NodeRecordConsensus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NodeRecordConsensus != nil { + if size, ok := interface{}(m.NodeRecordConsensus).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.NodeRecordConsensus) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_NodeRecordExecution) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NodeRecordExecution != nil { + if size, ok := interface{}(m.NodeRecordExecution).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.NodeRecordExecution) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubAggregateAndProof != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubAggregateAndProof).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubAggregateAndProof) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsDataColumnSidecar) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsDataColumnSidecar != nil { + if size, ok := interface{}(m.EthV1EventsDataColumnSidecar).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsDataColumnSidecar) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubDataColumnSidecar != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubDataColumnSidecar).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubDataColumnSidecar) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceSyntheticHeartbeat) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceSyntheticHeartbeat != nil { + if size, ok := interface{}(m.Libp2PTraceSyntheticHeartbeat).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceSyntheticHeartbeat) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceIdentify) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceIdentify != nil { + if size, ok := interface{}(m.Libp2PTraceIdentify).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceIdentify) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceRpcDataColumnCustodyProbe != nil { + if size, ok := interface{}(m.Libp2PTraceRpcDataColumnCustodyProbe).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceRpcDataColumnCustodyProbe) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_ExecutionStateSize) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ExecutionStateSize != nil { + l = m.ExecutionStateSize.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_ConsensusEngineApiNewPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ConsensusEngineApiNewPayload != nil { + l = m.ConsensusEngineApiNewPayload.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_ConsensusEngineApiGetBlobs) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ConsensusEngineApiGetBlobs != nil { + l = m.ConsensusEngineApiGetBlobs.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_ExecutionEngineNewPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ExecutionEngineNewPayload != nil { + l = m.ExecutionEngineNewPayload.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_ExecutionEngineGetBlobs) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ExecutionEngineGetBlobs != nil { + l = m.ExecutionEngineGetBlobs.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1BeaconBlob) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1BeaconBlob != nil { + if size, ok := interface{}(m.EthV1BeaconBlob).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1BeaconBlob) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1BeaconSyncCommittee) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1BeaconSyncCommittee != nil { + l = m.EthV1BeaconSyncCommittee.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockSyncAggregate) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockSyncAggregate != nil { + l = m.EthV2BeaconBlockSyncAggregate.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_ExecutionBlockMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ExecutionBlockMetrics != nil { + l = m.ExecutionBlockMetrics.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsFastConfirmation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsFastConfirmation != nil { + if size, ok := interface{}(m.EthV1EventsFastConfirmation).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsFastConfirmation) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockAccessList) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockAccessList != nil { + if size, ok := interface{}(m.EthV2BeaconBlockAccessList).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockAccessList) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsExecutionPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsExecutionPayload != nil { + if size, ok := interface{}(m.EthV1EventsExecutionPayload).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsExecutionPayload) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsPayloadAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsPayloadAttestation != nil { + if size, ok := interface{}(m.EthV1EventsPayloadAttestation).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsPayloadAttestation) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsExecutionPayloadBid != nil { + if size, ok := interface{}(m.EthV1EventsExecutionPayloadBid).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsExecutionPayloadBid) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsProposerPreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsProposerPreferences != nil { + if size, ok := interface{}(m.EthV1EventsProposerPreferences).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsProposerPreferences) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockPayloadAttestation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockPayloadAttestation != nil { + if size, ok := interface{}(m.EthV2BeaconBlockPayloadAttestation).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockPayloadAttestation) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV2BeaconBlockExecutionPayloadBid != nil { + if size, ok := interface{}(m.EthV2BeaconBlockExecutionPayloadBid).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV2BeaconBlockExecutionPayloadBid) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubExecutionPayloadEnvelope != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubExecutionPayloadEnvelope).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubExecutionPayloadEnvelope) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubExecutionPayloadBid != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubExecutionPayloadBid).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubExecutionPayloadBid) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubPayloadAttestationMessage != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubPayloadAttestationMessage).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubPayloadAttestationMessage) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_Libp2PTraceGossipsubProposerPreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Libp2PTraceGossipsubProposerPreferences != nil { + if size, ok := interface{}(m.Libp2PTraceGossipsubProposerPreferences).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Libp2PTraceGossipsubProposerPreferences) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsExecutionPayloadGossip) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsExecutionPayloadGossip != nil { + if size, ok := interface{}(m.EthV1EventsExecutionPayloadGossip).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsExecutionPayloadGossip) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_EthV1EventsExecutionPayloadAvailable) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EthV1EventsExecutionPayloadAvailable != nil { + if size, ok := interface{}(m.EthV1EventsExecutionPayloadAvailable).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.EthV1EventsExecutionPayloadAvailable) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_BeaconSyntheticPayloadStatusResolved) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BeaconSyntheticPayloadStatusResolved != nil { + if size, ok := interface{}(m.BeaconSyntheticPayloadStatusResolved).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.BeaconSyntheticPayloadStatusResolved) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BeaconSyntheticBuilderPendingPaymentSettlement != nil { + if size, ok := interface{}(m.BeaconSyntheticBuilderPendingPaymentSettlement).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.BeaconSyntheticBuilderPendingPaymentSettlement) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BeaconSyntheticPayloadAttestationProcessed != nil { + if size, ok := interface{}(m.BeaconSyntheticPayloadAttestationProcessed).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.BeaconSyntheticPayloadAttestationProcessed) + } + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *CreateEventsRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateEventsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateEventsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.Events) == cap(m.Events) { + m.Events = append(m.Events, &DecoratedEvent{}) + } else { + m.Events = m.Events[:len(m.Events)+1] + if m.Events[len(m.Events)-1] == nil { + m.Events[len(m.Events)-1] = &DecoratedEvent{} + } + } + if err := m.Events[len(m.Events)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateEventsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateEventsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateEventsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EventsIngested", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.EventsIngested == nil { + m.EventsIngested = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.EventsIngested).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Epoch) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Epoch: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Epoch: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + } + m.Number = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Number |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartDateTime == nil { + m.StartDateTime = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EpochV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EpochV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EpochV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Number == nil { + m.Number = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Number).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartDateTime == nil { + m.StartDateTime = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Slot) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Slot: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Slot: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + } + m.Number = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Number |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartDateTime == nil { + m.StartDateTime = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SlotV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SlotV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SlotV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Number == nil { + m.Number = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Number).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartDateTime == nil { + m.StartDateTime = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ForkID) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ForkID: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ForkID: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Next", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Next = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Propagation) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Propagation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Propagation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SlotStartDiff", wireType) + } + m.SlotStartDiff = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SlotStartDiff |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PropagationV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PropagationV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PropagationV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SlotStartDiff", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SlotStartDiff == nil { + m.SlotStartDiff = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.SlotStartDiff).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AttestingValidator) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AttestingValidator: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AttestingValidator: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CommitteeIndex", wireType) + } + m.CommitteeIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CommitteeIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + m.Index = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Index |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AttestingValidatorV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AttestingValidatorV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AttestingValidatorV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommitteeIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CommitteeIndex == nil { + m.CommitteeIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.CommitteeIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Index == nil { + m.Index = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Index).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DebugForkChoiceReorg) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DebugForkChoiceReorg: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DebugForkChoiceReorg: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Before == nil { + m.Before = v1.ForkChoiceFromVTPool() + } + if unmarshal, ok := interface{}(m.Before).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Before); err != nil { + return err + } + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.After == nil { + m.After = v1.ForkChoiceFromVTPool() + } + if unmarshal, ok := interface{}(m.After).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.After); err != nil { + return err + } + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Event == nil { + m.Event = v1.EventChainReorgFromVTPool() + } + if unmarshal, ok := interface{}(m.Event).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Event); err != nil { + return err + } + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DebugForkChoiceReorgV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DebugForkChoiceReorgV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DebugForkChoiceReorgV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Before == nil { + m.Before = v1.ForkChoiceV2FromVTPool() + } + if unmarshal, ok := interface{}(m.Before).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Before); err != nil { + return err + } + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.After == nil { + m.After = v1.ForkChoiceV2FromVTPool() + } + if unmarshal, ok := interface{}(m.After).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.After); err != nil { + return err + } + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Event == nil { + m.Event = v1.EventChainReorgV2FromVTPool() + } + if unmarshal, ok := interface{}(m.Event).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Event); err != nil { + return err + } + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Validators) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Validators: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Validators: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.Validators) == cap(m.Validators) { + m.Validators = append(m.Validators, &v1.Validator{}) + } else { + m.Validators = m.Validators[:len(m.Validators)+1] + if m.Validators[len(m.Validators)-1] == nil { + m.Validators[len(m.Validators)-1] = &v1.Validator{} + } + } + if unmarshal, ok := interface{}(m.Validators[len(m.Validators)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Validators[len(m.Validators)-1]); err != nil { + return err + } + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SyncCommitteeData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SyncCommitteeData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SyncCommitteeData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SyncCommittee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SyncCommittee == nil { + m.SyncCommittee = v1.SyncCommitteeFromVTPool() + } + if unmarshal, ok := interface{}(m.SyncCommittee).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.SyncCommittee); err != nil { + return err + } + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SyncAggregateData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SyncAggregateData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SyncAggregateData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteeBits", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SyncCommitteeBits = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteeSignature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SyncCommitteeSignature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsParticipated", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.ValidatorsParticipated) == cap(m.ValidatorsParticipated) { + m.ValidatorsParticipated = append(m.ValidatorsParticipated, &wrapperspb1.UInt64Value{}) + } else { + m.ValidatorsParticipated = m.ValidatorsParticipated[:len(m.ValidatorsParticipated)+1] + if m.ValidatorsParticipated[len(m.ValidatorsParticipated)-1] == nil { + m.ValidatorsParticipated[len(m.ValidatorsParticipated)-1] = &wrapperspb1.UInt64Value{} + } + } + if err := (*wrapperspb.UInt64Value)(m.ValidatorsParticipated[len(m.ValidatorsParticipated)-1]).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsMissed", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if len(m.ValidatorsMissed) == cap(m.ValidatorsMissed) { + m.ValidatorsMissed = append(m.ValidatorsMissed, &wrapperspb1.UInt64Value{}) + } else { + m.ValidatorsMissed = m.ValidatorsMissed[:len(m.ValidatorsMissed)+1] + if m.ValidatorsMissed[len(m.ValidatorsMissed)-1] == nil { + m.ValidatorsMissed[len(m.ValidatorsMissed)-1] = &wrapperspb1.UInt64Value{} + } + } + if err := (*wrapperspb.UInt64Value)(m.ValidatorsMissed[len(m.ValidatorsMissed)-1]).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParticipationCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParticipationCount == nil { + m.ParticipationCount = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ParticipationCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlockIdentifier) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlockIdentifier: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlockIdentifier: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Root", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Root = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionStateSize: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionStateSize: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AccountBytes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AccountBytes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AccountTrienodeBytes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AccountTrienodeBytes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AccountTrienodes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AccountTrienodes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Accounts = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockNumber = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContractCodeBytes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContractCodeBytes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContractCodes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContractCodes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StateRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorageBytes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StorageBytes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorageTrienodeBytes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StorageTrienodeBytes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorageTrienodes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StorageTrienodes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Storages", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Storages = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ConsensusEngineAPINewPayload: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConsensusEngineAPINewPayload: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RequestedAt == nil { + m.RequestedAt = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DurationMs == nil { + m.DurationMs = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentBlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentBlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposerIndex == nil { + m.ProposerIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockNumber == nil { + m.BlockNumber = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasUsed == nil { + m.GasUsed = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasLimit == nil { + m.GasLimit = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TxCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TxCount == nil { + m.TxCount = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.TxCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlobCount == nil { + m.BlobCount = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.BlobCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LatestValidHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LatestValidHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidationError", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidationError = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MethodVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ConsensusEngineAPIGetBlobs: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConsensusEngineAPIGetBlobs: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RequestedAt == nil { + m.RequestedAt = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DurationMs == nil { + m.DurationMs = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentBlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentBlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestedCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RequestedCount == nil { + m.RequestedCount = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.RequestedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionedHashes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VersionedHashes = append(m.VersionedHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnedCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ReturnedCount == nil { + m.ReturnedCount = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.ReturnedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MethodVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionEngineNewPayload: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionEngineNewPayload: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + } + m.Source = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Source |= EngineSource(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RequestedAt == nil { + m.RequestedAt = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.DurationMs == nil { + m.DurationMs = &wrapperspb1.UInt64Value{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateEventsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateEventsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -21978,72 +31308,188 @@ func (m *CreateEventsRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Events) == cap(m.Events) { - m.Events = append(m.Events, &DecoratedEvent{}) - } else { - m.Events = m.Events[:len(m.Events)+1] - if m.Events[len(m.Events)-1] == nil { - m.Events[len(m.Events)-1] = &DecoratedEvent{} - } + if m.BlockNumber == nil { + m.BlockNumber = &wrapperspb1.UInt64Value{} } - if err := m.Events[len(m.Events)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GasUsed == nil { + m.GasUsed = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.GasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateEventsResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + if m.GasLimit == nil { + m.GasLimit = &wrapperspb1.UInt64Value{} } - if iNdEx >= l { + if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TxCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.TxCount == nil { + m.TxCount = &wrapperspb1.UInt32Value{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateEventsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateEventsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*wrapperspb.UInt32Value)(m.TxCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EventsIngested", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobCount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22070,13 +31516,141 @@ func (m *CreateEventsResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.EventsIngested == nil { - m.EventsIngested = &wrapperspb1.UInt64Value{} + if m.BlobCount == nil { + m.BlobCount = &wrapperspb1.UInt32Value{} } - if err := (*wrapperspb.UInt64Value)(m.EventsIngested).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.BlobCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LatestValidHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LatestValidHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidationError", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidationError = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MethodVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -22099,7 +31673,7 @@ func (m *CreateEventsResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Epoch) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22122,17 +31696,17 @@ func (m *Epoch) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Epoch: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionEngineGetBlobs: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Epoch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionEngineGetBlobs: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } - m.Number = 0 + m.Source = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22142,14 +31716,14 @@ func (m *Epoch) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Number |= uint64(b&0x7F) << shift + m.Source |= EngineSource(b&0x7F) << shift if b < 0x80 { break } } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22176,67 +31750,120 @@ func (m *Epoch) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StartDateTime == nil { - m.StartDateTime = ×tamppb1.Timestamp{} + if m.RequestedAt == nil { + m.RequestedAt = ×tamppb1.Timestamp{} } - if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DurationMs == nil { + m.DurationMs = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestedCount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *EpochV2) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + if m.RequestedCount == nil { + m.RequestedCount = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.RequestedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionedHashes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: EpochV2: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EpochV2: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.VersionedHashes = append(m.VersionedHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReturnedCount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22263,18 +31890,18 @@ func (m *EpochV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Number == nil { - m.Number = &wrapperspb1.UInt64Value{} + if m.ReturnedCount == nil { + m.ReturnedCount = &wrapperspb1.UInt32Value{} } - if err := (*wrapperspb.UInt64Value)(m.Number).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.ReturnedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22284,84 +31911,61 @@ func (m *EpochV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.StartDateTime == nil { - m.StartDateTime = ×tamppb1.Timestamp{} - } - if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Status = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Slot) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Slot: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Slot: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) } - m.Number = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22371,14 +31975,27 @@ func (m *Slot) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Number |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 2: + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MethodVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReturnedBlobIndexes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22405,10 +32022,15 @@ func (m *Slot) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StartDateTime == nil { - m.StartDateTime = ×tamppb1.Timestamp{} + if len(m.ReturnedBlobIndexes) == cap(m.ReturnedBlobIndexes) { + m.ReturnedBlobIndexes = append(m.ReturnedBlobIndexes, &wrapperspb1.UInt32Value{}) + } else { + m.ReturnedBlobIndexes = m.ReturnedBlobIndexes[:len(m.ReturnedBlobIndexes)+1] + if m.ReturnedBlobIndexes[len(m.ReturnedBlobIndexes)-1] == nil { + m.ReturnedBlobIndexes[len(m.ReturnedBlobIndexes)-1] = &wrapperspb1.UInt32Value{} + } } - if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.ReturnedBlobIndexes[len(m.ReturnedBlobIndexes)-1]).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -22434,7 +32056,7 @@ func (m *Slot) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *SlotV2) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_Ethereum_Network) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22457,17 +32079,17 @@ func (m *SlotV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SlotV2: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_Ethereum_Network: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SlotV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_Ethereum_Network: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22477,33 +32099,29 @@ func (m *SlotV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Number == nil { - m.Number = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.Number).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Name = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StartDateTime", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var msglen int + m.Id = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22513,28 +32131,11 @@ func (m *SlotV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Id |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.StartDateTime == nil { - m.StartDateTime = ×tamppb1.Timestamp{} - } - if err := (*timestamppb.Timestamp)(m.StartDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -22557,7 +32158,7 @@ func (m *SlotV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ForkID) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_Ethereum_Execution) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22580,17 +32181,17 @@ func (m *ForkID) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ForkID: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_Ethereum_Execution: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ForkID: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_Ethereum_Execution: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ForkId", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22600,27 +32201,31 @@ func (m *ForkID) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Hash = string(dAtA[iNdEx:postIndex]) + if m.ForkId == nil { + m.ForkId = ForkIDFromVTPool() + } + if err := m.ForkId.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Next", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Implementation", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22648,64 +32253,13 @@ func (m *ForkID) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Next = string(dAtA[iNdEx:postIndex]) + m.Implementation = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Propagation) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Propagation: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Propagation: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SlotStartDiff", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.SlotStartDiff = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22715,67 +32269,29 @@ func (m *Propagation) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SlotStartDiff |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PropagationV2) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PropagationV2: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PropagationV2: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SlotStartDiff", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VersionMajor", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22785,84 +32301,29 @@ func (m *PropagationV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.SlotStartDiff == nil { - m.SlotStartDiff = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.SlotStartDiff).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.VersionMajor = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AttestingValidator) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: AttestingValidator: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AttestingValidator: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CommitteeIndex", wireType) + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionMinor", wireType) } - m.CommitteeIndex = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22872,16 +32333,29 @@ func (m *AttestingValidator) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CommitteeIndex |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength } - m.Index = 0 + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VersionMinor = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionPatch", wireType) + } + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22891,11 +32365,24 @@ func (m *AttestingValidator) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Index |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VersionPatch = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -22918,7 +32405,7 @@ func (m *AttestingValidator) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *AttestingValidatorV2) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_Ethereum_Consensus) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22941,17 +32428,17 @@ func (m *AttestingValidatorV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AttestingValidatorV2: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_Ethereum_Consensus: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AttestingValidatorV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_Ethereum_Consensus: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CommitteeIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Implementation", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22961,33 +32448,29 @@ func (m *AttestingValidatorV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CommitteeIndex == nil { - m.CommitteeIndex = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.CommitteeIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Implementation = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -22997,27 +32480,23 @@ func (m *AttestingValidatorV2) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Index == nil { - m.Index = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.Index).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Version = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -23041,7 +32520,7 @@ func (m *AttestingValidatorV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *DebugForkChoiceReorg) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_Ethereum) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23064,15 +32543,15 @@ func (m *DebugForkChoiceReorg) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DebugForkChoiceReorg: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_Ethereum: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DebugForkChoiceReorg: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_Ethereum: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23099,16 +32578,16 @@ func (m *DebugForkChoiceReorg) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Before == nil { - m.Before = v1.ForkChoiceFromVTPool() + if m.Network == nil { + m.Network = ClientMeta_Ethereum_NetworkFromVTPool() } - if err := m.Before.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Network.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Execution", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23135,16 +32614,16 @@ func (m *DebugForkChoiceReorg) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.After == nil { - m.After = v1.ForkChoiceFromVTPool() + if m.Execution == nil { + m.Execution = ClientMeta_Ethereum_ExecutionFromVTPool() } - if err := m.After.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Execution.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Consensus", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23171,10 +32650,10 @@ func (m *DebugForkChoiceReorg) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Event == nil { - m.Event = v1.EventChainReorgFromVTPool() + if m.Consensus == nil { + m.Consensus = ClientMeta_Ethereum_ConsensusFromVTPool() } - if err := m.Event.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Consensus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -23200,7 +32679,7 @@ func (m *DebugForkChoiceReorg) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *DebugForkChoiceReorgV2) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1AttestationSourceData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23223,15 +32702,15 @@ func (m *DebugForkChoiceReorgV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DebugForkChoiceReorgV2: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DebugForkChoiceReorgV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23258,52 +32737,67 @@ func (m *DebugForkChoiceReorgV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Before == nil { - m.Before = v1.ForkChoiceV2FromVTPool() + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() } - if err := m.Before.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.After == nil { - m.After = v1.ForkChoiceV2FromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1AttestationSourceV2Data) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.After.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 3: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceV2Data: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23330,10 +32824,10 @@ func (m *DebugForkChoiceReorgV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Event == nil { - m.Event = v1.EventChainReorgV2FromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Event.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -23359,7 +32853,7 @@ func (m *DebugForkChoiceReorgV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Validators) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1AttestationTargetData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23382,15 +32876,15 @@ func (m *Validators) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Validators: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Validators: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23417,15 +32911,10 @@ func (m *Validators) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Validators) == cap(m.Validators) { - m.Validators = append(m.Validators, &v1.Validator{}) - } else { - m.Validators = m.Validators[:len(m.Validators)+1] - if m.Validators[len(m.Validators)-1] == nil { - m.Validators[len(m.Validators)-1] = &v1.Validator{} - } + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() } - if err := m.Validators[len(m.Validators)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -23451,7 +32940,7 @@ func (m *Validators) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *SyncCommitteeData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1AttestationTargetV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23474,15 +32963,15 @@ func (m *SyncCommitteeData) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SyncCommitteeData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SyncCommitteeData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SyncCommittee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23509,10 +32998,10 @@ func (m *SyncCommitteeData) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.SyncCommittee == nil { - m.SyncCommittee = v1.SyncCommitteeFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.SyncCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -23538,7 +33027,7 @@ func (m *SyncCommitteeData) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *SyncAggregateData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23561,120 +33050,15 @@ func (m *SyncAggregateData) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SyncAggregateData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SyncAggregateData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteeBits", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SyncCommitteeBits = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteeSignature", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SyncCommitteeSignature = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsParticipated", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if len(m.ValidatorsParticipated) == cap(m.ValidatorsParticipated) { - m.ValidatorsParticipated = append(m.ValidatorsParticipated, &wrapperspb1.UInt64Value{}) - } else { - m.ValidatorsParticipated = m.ValidatorsParticipated[:len(m.ValidatorsParticipated)+1] - if m.ValidatorsParticipated[len(m.ValidatorsParticipated)-1] == nil { - m.ValidatorsParticipated[len(m.ValidatorsParticipated)-1] = &wrapperspb1.UInt64Value{} - } - } - if err := (*wrapperspb.UInt64Value)(m.ValidatorsParticipated[len(m.ValidatorsParticipated)-1]).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsMissed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23701,21 +33085,16 @@ func (m *SyncAggregateData) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.ValidatorsMissed) == cap(m.ValidatorsMissed) { - m.ValidatorsMissed = append(m.ValidatorsMissed, &wrapperspb1.UInt64Value{}) - } else { - m.ValidatorsMissed = m.ValidatorsMissed[:len(m.ValidatorsMissed)+1] - if m.ValidatorsMissed[len(m.ValidatorsMissed)-1] == nil { - m.ValidatorsMissed[len(m.ValidatorsMissed)-1] = &wrapperspb1.UInt64Value{} - } + if m.Source == nil { + m.Source = ClientMeta_AdditionalEthV1AttestationSourceDataFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.ValidatorsMissed[len(m.ValidatorsMissed)-1]).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParticipationCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23742,67 +33121,16 @@ func (m *SyncAggregateData) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParticipationCount == nil { - m.ParticipationCount = &wrapperspb1.UInt64Value{} + if m.Target == nil { + m.Target = ClientMeta_AdditionalEthV1AttestationTargetDataFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.ParticipationCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BlockIdentifier) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BlockIdentifier: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BlockIdentifier: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23829,16 +33157,16 @@ func (m *BlockIdentifier) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Slot == nil { + m.Slot = SlotFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23865,18 +33193,18 @@ func (m *BlockIdentifier) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -23886,29 +33214,33 @@ func (m *BlockIdentifier) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Version = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationFromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 4: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Root", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -23918,23 +33250,27 @@ func (m *BlockIdentifier) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Root = string(dAtA[iNdEx:postIndex]) + if m.AttestingValidator == nil { + m.AttestingValidator = AttestingValidatorFromVTPool() + } + if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -23958,7 +33294,7 @@ func (m *BlockIdentifier) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -23981,17 +33317,17 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionStateSize: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionStateSize: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24001,29 +33337,33 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.AccountBytes = string(dAtA[iNdEx:postIndex]) + if m.Source == nil { + m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() + } + if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountTrienodeBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24033,29 +33373,33 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.AccountTrienodeBytes = string(dAtA[iNdEx:postIndex]) + if m.Target == nil { + m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() + } + if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountTrienodes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24065,29 +33409,33 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.AccountTrienodes = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24097,29 +33445,33 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Accounts = string(dAtA[iNdEx:postIndex]) + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24129,29 +33481,33 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlockNumber = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContractCodeBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24161,93 +33517,84 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ContractCodeBytes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContractCodes", wireType) + if m.AttestingValidator == nil { + m.AttestingValidator = AttestingValidatorV2FromVTPool() } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.ContractCodes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateRoot", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsHeadData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.StateRoot = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 9: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StorageBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24257,61 +33604,33 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.StorageBytes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StorageTrienodeBytes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() } - if postIndex > l { - return io.ErrUnexpectedEOF + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.StorageTrienodeBytes = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 11: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StorageTrienodes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24321,29 +33640,33 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.StorageTrienodes = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotFromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 12: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Storages", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24353,23 +33676,27 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Storages = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationFromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -24393,7 +33720,7 @@ func (m *ExecutionStateSize) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsHeadV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -24416,15 +33743,15 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ConsensusEngineAPINewPayload: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ConsensusEngineAPINewPayload: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24451,16 +33778,16 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAt == nil { - m.RequestedAt = ×tamppb1.Timestamp{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24487,16 +33814,16 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DurationMs == nil { - m.DurationMs = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24523,18 +33850,69 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsBlockData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24544,29 +33922,33 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } - } - intStringLen := int(stringLen) - if intStringLen < 0 { + } + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlockRoot = string(dAtA[iNdEx:postIndex]) + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentBlockRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24576,27 +33958,31 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ParentBlockRoot = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotFromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 6: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24623,16 +34009,67 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ProposerIndex == nil { - m.ProposerIndex = &wrapperspb1.UInt64Value{} + if m.Propagation == nil { + m.Propagation = PropagationFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.ProposerIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsBlockV2Data) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockV2Data: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24659,18 +34096,18 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlockNumber == nil { - m.BlockNumber = &wrapperspb1.UInt64Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24680,29 +34117,33 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlockHash = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 9: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24712,27 +34153,82 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ParentHash = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 10: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsBlockGossipData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockGossipData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockGossipData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24759,16 +34255,16 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.GasUsed == nil { - m.GasUsed = &wrapperspb1.UInt64Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.GasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 11: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24795,16 +34291,16 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.GasLimit == nil { - m.GasLimit = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 12: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24831,16 +34327,67 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.TxCount == nil { - m.TxCount = &wrapperspb1.UInt32Value{} + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.TxCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 13: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFastConfirmationData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFastConfirmationData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -24867,18 +34414,18 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlobCount == nil { - m.BlobCount = &wrapperspb1.UInt32Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.BlobCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 14: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24888,29 +34435,33 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Status = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 15: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LatestValidHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24920,29 +34471,33 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.LatestValidHash = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 16: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidationError", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24952,29 +34507,33 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidationError = string(dAtA[iNdEx:postIndex]) + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() + } + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 17: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -24984,23 +34543,27 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.MethodVersion = string(dAtA[iNdEx:postIndex]) + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() + } + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -25024,7 +34587,7 @@ func (m *ConsensusEngineAPINewPayload) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25047,15 +34610,15 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ConsensusEngineAPIGetBlobs: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ConsensusEngineAPIGetBlobs: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25082,16 +34645,67 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAt == nil { - m.RequestedAt = ×tamppb1.Timestamp{} + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() } - if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25118,16 +34732,16 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DurationMs == nil { - m.DurationMs = &wrapperspb1.UInt64Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25154,18 +34768,18 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = &wrapperspb1.UInt64Value{} + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.Slot).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25175,59 +34789,82 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlockRoot = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentBlockRoot", wireType) + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.ParentBlockRoot = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25254,48 +34891,67 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedCount == nil { - m.RequestedCount = &wrapperspb1.UInt32Value{} + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.RequestedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionedHashes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.VersionedHashes = append(m.VersionedHashes, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 8: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReturnedCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25322,18 +34978,69 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ReturnedCount == nil { - m.ReturnedCount = &wrapperspb1.UInt32Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.ReturnedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsChainReorgData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25343,29 +35050,33 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Status = string(dAtA[iNdEx:postIndex]) + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 10: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25375,29 +35086,33 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotFromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 11: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25407,23 +35122,27 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.MethodVersion = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationFromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -25447,7 +35166,7 @@ func (m *ConsensusEngineAPIGetBlobs) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25470,34 +35189,15 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionEngineNewPayload: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionEngineNewPayload: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) - } - m.Source = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Source |= EngineSource(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25524,16 +35224,16 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAt == nil { - m.RequestedAt = ×tamppb1.Timestamp{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25560,16 +35260,16 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DurationMs == nil { - m.DurationMs = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25596,18 +35296,69 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlockNumber == nil { - m.BlockNumber = &wrapperspb1.UInt64Value{} + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25617,29 +35368,33 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlockHash = string(dAtA[iNdEx:postIndex]) + if m.Epoch == nil { + m.Epoch = EpochFromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 6: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParentHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25649,27 +35404,31 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ParentHash = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotFromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 7: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25696,16 +35455,67 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.GasUsed == nil { - m.GasUsed = &wrapperspb1.UInt64Value{} + if m.Propagation == nil { + m.Propagation = PropagationFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.GasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasLimit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25732,16 +35542,16 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.GasLimit == nil { - m.GasLimit = &wrapperspb1.UInt64Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.GasLimit).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25768,16 +35578,16 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.TxCount == nil { - m.TxCount = &wrapperspb1.UInt32Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.TxCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -25804,50 +35614,69 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlobCount == nil { - m.BlobCount = &wrapperspb1.UInt32Value{} + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.BlobCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.Status = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 12: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LatestValidHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Contribution", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25857,61 +35686,84 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.LatestValidHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidationError", wireType) + if m.Contribution == nil { + m.Contribution = ClientMeta_AdditionalEthV1EventsContributionAndProofContributionDataFromVTPool() } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if err := m.Contribution.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.ValidationError = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 14: + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Contribution", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -25921,23 +35773,27 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.MethodVersion = string(dAtA[iNdEx:postIndex]) + if m.Contribution == nil { + m.Contribution = ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2DataFromVTPool() + } + if err := m.Contribution.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -25961,7 +35817,7 @@ func (m *ExecutionEngineNewPayload) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_ForkChoiceSnapshot) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -25984,34 +35840,15 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionEngineGetBlobs: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshot: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionEngineGetBlobs: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshot: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) - } - m.Source = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Source |= EngineSource(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26038,16 +35875,16 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAt == nil { - m.RequestedAt = ×tamppb1.Timestamp{} + if m.RequestEpoch == nil { + m.RequestEpoch = EpochFromVTPool() } - if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RequestEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DurationMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26074,18 +35911,18 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DurationMs == nil { - m.DurationMs = &wrapperspb1.UInt64Value{} + if m.RequestSlot == nil { + m.RequestSlot = SlotFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.DurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RequestSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedCount", wireType) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotStartDiffMs", wireType) } - var msglen int + m.RequestedAtSlotStartDiffMs = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26095,33 +35932,35 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.RequestedAtSlotStartDiffMs |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.RequestedCount == nil { - m.RequestedCount = &wrapperspb1.UInt32Value{} + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) } - if err := (*wrapperspb.UInt32Value)(m.RequestedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + m.RequestDurationMs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RequestDurationMs |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionedHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26131,27 +35970,82 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.VersionedHashes = append(m.VersionedHashes, string(dAtA[iNdEx:postIndex])) + if m.Timestamp == nil { + m.Timestamp = ×tamppb1.Timestamp{} + } + if err := (*timestamppb.Timestamp)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 6: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshotV2: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshotV2: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReturnedCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26178,18 +36072,18 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ReturnedCount == nil { - m.ReturnedCount = &wrapperspb1.UInt32Value{} + if m.RequestEpoch == nil { + m.RequestEpoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.ReturnedCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RequestEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestSlot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26199,29 +36093,33 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Status = string(dAtA[iNdEx:postIndex]) + if m.RequestSlot == nil { + m.RequestSlot = SlotV2FromVTPool() + } + if err := m.RequestSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 8: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotStartDiffMs", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26231,29 +36129,33 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + if m.RequestedAtSlotStartDiffMs == nil { + m.RequestedAtSlotStartDiffMs = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 9: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MethodVersion", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26263,27 +36165,31 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.MethodVersion = string(dAtA[iNdEx:postIndex]) + if m.RequestDurationMs == nil { + m.RequestDurationMs = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 10: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReturnedBlobIndexes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26310,15 +36216,10 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.ReturnedBlobIndexes) == cap(m.ReturnedBlobIndexes) { - m.ReturnedBlobIndexes = append(m.ReturnedBlobIndexes, &wrapperspb1.UInt32Value{}) - } else { - m.ReturnedBlobIndexes = m.ReturnedBlobIndexes[:len(m.ReturnedBlobIndexes)+1] - if m.ReturnedBlobIndexes[len(m.ReturnedBlobIndexes)-1] == nil { - m.ReturnedBlobIndexes[len(m.ReturnedBlobIndexes)-1] = &wrapperspb1.UInt32Value{} - } + if m.Timestamp == nil { + m.Timestamp = ×tamppb1.Timestamp{} } - if err := (*wrapperspb.UInt32Value)(m.ReturnedBlobIndexes[len(m.ReturnedBlobIndexes)-1]).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb.Timestamp)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -26344,7 +36245,7 @@ func (m *ExecutionEngineGetBlobs) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_Ethereum_Network) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1DebugForkChoiceData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26367,17 +36268,17 @@ func (m *ClientMeta_Ethereum_Network) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_Ethereum_Network: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_Ethereum_Network: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26387,43 +36288,28 @@ func (m *ClientMeta_Ethereum_Network) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + if m.Snapshot == nil { + m.Snapshot = ClientMeta_ForkChoiceSnapshotFromVTPool() } - m.Id = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Id |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if err := m.Snapshot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -26446,7 +36332,7 @@ func (m *ClientMeta_Ethereum_Network) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_Ethereum_Execution) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26469,15 +36355,15 @@ func (m *ClientMeta_Ethereum_Execution) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_Ethereum_Execution: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_Ethereum_Execution: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ForkId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26504,114 +36390,69 @@ func (m *ClientMeta_Ethereum_Execution) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ForkId == nil { - m.ForkId = ForkIDFromVTPool() + if m.Snapshot == nil { + m.Snapshot = ClientMeta_ForkChoiceSnapshotV2FromVTPool() } - if err := m.ForkId.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Snapshot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Implementation", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Implementation = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Version = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionMajor", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.VersionMajor = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionMinor", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26621,29 +36462,33 @@ func (m *ClientMeta_Ethereum_Execution) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.VersionMinor = string(dAtA[iNdEx:postIndex]) + if m.Before == nil { + m.Before = ClientMeta_ForkChoiceSnapshotFromVTPool() + } + if err := m.Before.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 6: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionPatch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26653,23 +36498,27 @@ func (m *ClientMeta_Ethereum_Execution) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.VersionPatch = string(dAtA[iNdEx:postIndex]) + if m.After == nil { + m.After = ClientMeta_ForkChoiceSnapshotFromVTPool() + } + if err := m.After.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -26693,7 +36542,7 @@ func (m *ClientMeta_Ethereum_Execution) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_Ethereum_Consensus) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26716,17 +36565,17 @@ func (m *ClientMeta_Ethereum_Consensus) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_Ethereum_Consensus: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_Ethereum_Consensus: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Implementation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26736,29 +36585,33 @@ func (m *ClientMeta_Ethereum_Consensus) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Implementation = string(dAtA[iNdEx:postIndex]) + if m.Before == nil { + m.Before = ClientMeta_ForkChoiceSnapshotV2FromVTPool() + } + if err := m.Before.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26768,23 +36621,27 @@ func (m *ClientMeta_Ethereum_Consensus) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Version = string(dAtA[iNdEx:postIndex]) + if m.After == nil { + m.After = ClientMeta_ForkChoiceSnapshotV2FromVTPool() + } + if err := m.After.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -26808,7 +36665,7 @@ func (m *ClientMeta_Ethereum_Consensus) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_Ethereum) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1BeaconCommitteeData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26831,15 +36688,15 @@ func (m *ClientMeta_Ethereum) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_Ethereum: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconCommitteeData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_Ethereum: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconCommitteeData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26866,16 +36723,16 @@ func (m *ClientMeta_Ethereum) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Network == nil { - m.Network = ClientMeta_Ethereum_NetworkFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Network.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Execution", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -26902,18 +36759,18 @@ func (m *ClientMeta_Ethereum) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Execution == nil { - m.Execution = ClientMeta_Ethereum_ExecutionFromVTPool() + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := m.Execution.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Consensus", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StateId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -26923,27 +36780,23 @@ func (m *ClientMeta_Ethereum) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Consensus == nil { - m.Consensus = ClientMeta_Ethereum_ConsensusFromVTPool() - } - if err := m.Consensus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.StateId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -26967,7 +36820,7 @@ func (m *ClientMeta_Ethereum) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_AdditionalEthV1AttestationSourceData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1BeaconSyncCommitteeData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26990,10 +36843,10 @@ func (m *ClientMeta_AdditionalEthV1AttestationSourceData) UnmarshalVT(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconSyncCommitteeData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconSyncCommitteeData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -27026,12 +36879,48 @@ func (m *ClientMeta_AdditionalEthV1AttestationSourceData) UnmarshalVT(dAtA []byt return io.ErrUnexpectedEOF } if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + m.Epoch = EpochV2FromVTPool() } if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteePeriod", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SyncCommitteePeriod == nil { + m.SyncCommitteePeriod = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.SyncCommitteePeriod).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -27054,7 +36943,7 @@ func (m *ClientMeta_AdditionalEthV1AttestationSourceData) UnmarshalVT(dAtA []byt } return nil } -func (m *ClientMeta_AdditionalEthV1AttestationSourceV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27077,15 +36966,15 @@ func (m *ClientMeta_AdditionalEthV1AttestationSourceV2Data) UnmarshalVT(dAtA []b fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationSourceV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -27112,10 +37001,46 @@ func (m *ClientMeta_AdditionalEthV1AttestationSourceV2Data) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteePeriod", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SyncCommitteePeriod == nil { + m.SyncCommitteePeriod = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.SyncCommitteePeriod).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -27141,7 +37066,7 @@ func (m *ClientMeta_AdditionalEthV1AttestationSourceV2Data) UnmarshalVT(dAtA []b } return nil } -func (m *ClientMeta_AdditionalEthV1AttestationTargetData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27164,17 +37089,17 @@ func (m *ClientMeta_AdditionalEthV1AttestationTargetData) UnmarshalVT(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27184,84 +37109,227 @@ func (m *ClientMeta_AdditionalEthV1AttestationTargetData) UnmarshalVT(dAtA []byt } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + m.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF } + m.From = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1AttestationTargetV2Data) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + m.To = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } - if iNdEx >= l { + m.Nonce = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Nonce |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GasPrice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.GasPrice = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Gas", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetV2Data: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1AttestationTargetV2Data: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.Gas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Gas |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Size = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CallDataSize", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27271,27 +37339,23 @@ func (m *ClientMeta_AdditionalEthV1AttestationTargetV2Data) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.CallDataSize = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -27315,7 +37379,7 @@ func (m *ClientMeta_AdditionalEthV1AttestationTargetV2Data) UnmarshalVT(dAtA []b } return nil } -func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -27338,17 +37402,17 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27358,33 +37422,29 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byt } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Source == nil { - m.Source = ClientMeta_AdditionalEthV1AttestationSourceDataFromVTPool() - } - if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Hash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27394,33 +37454,29 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byt } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Target == nil { - m.Target = ClientMeta_AdditionalEthV1AttestationTargetDataFromVTPool() - } - if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.From = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27430,31 +37486,27 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byt } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotFromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.To = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -27481,18 +37533,18 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + if m.Nonce == nil { + m.Nonce = &wrapperspb1.UInt64Value{} } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Nonce).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GasPrice", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27502,118 +37554,27 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationData) UnmarshalVT(dAtA []byt } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationFromVTPool() - } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.GasPrice = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.AttestingValidator == nil { - m.AttestingValidator = AttestingValidatorFromVTPool() - } - if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationV2Data: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsAttestationV2Data: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Gas", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -27640,18 +37601,18 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.Source == nil { - m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() + if m.Gas == nil { + m.Gas = &wrapperspb1.UInt64Value{} } - if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Gas).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27661,33 +37622,29 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Target == nil { - m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() - } - if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Value = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27697,33 +37654,29 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Size = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CallDataSize", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27733,31 +37686,27 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.CallDataSize = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -27784,18 +37733,18 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.Type == nil { + m.Type = &wrapperspb1.UInt32Value{} } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.Type).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GasTipCap", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27805,84 +37754,29 @@ func (m *ClientMeta_AdditionalEthV1EventsAttestationV2Data) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.AttestingValidator == nil { - m.AttestingValidator = AttestingValidatorV2FromVTPool() - } - if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.GasTipCap = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1EventsHeadData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GasFeeCap", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27892,31 +37786,27 @@ func (m *ClientMeta_AdditionalEthV1EventsHeadData) UnmarshalVT(dAtA []byte) erro } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochFromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.GasFeeCap = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobGas", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -27943,18 +37833,18 @@ func (m *ClientMeta_AdditionalEthV1EventsHeadData) UnmarshalVT(dAtA []byte) erro if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotFromVTPool() + if m.BlobGas == nil { + m.BlobGas = &wrapperspb1.UInt64Value{} } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.BlobGas).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobGasFeeCap", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -27964,84 +37854,29 @@ func (m *ClientMeta_AdditionalEthV1EventsHeadData) UnmarshalVT(dAtA []byte) erro } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationFromVTPool() - } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.BlobGasFeeCap = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1EventsHeadV2Data) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadV2Data: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsHeadV2Data: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobHashes", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -28051,33 +37886,29 @@ func (m *ClientMeta_AdditionalEthV1EventsHeadV2Data) UnmarshalVT(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.BlobHashes = append(m.BlobHashes, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsSize", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -28087,33 +37918,29 @@ func (m *ClientMeta_AdditionalEthV1EventsHeadV2Data) UnmarshalVT(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.BlobSidecarsSize = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 17: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsEmptySize", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -28123,27 +37950,23 @@ func (m *ClientMeta_AdditionalEthV1EventsHeadV2Data) UnmarshalVT(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() - } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.BlobSidecarsEmptySize = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -28167,7 +37990,7 @@ func (m *ClientMeta_AdditionalEthV1EventsHeadV2Data) UnmarshalVT(dAtA []byte) er } return nil } -func (m *ClientMeta_AdditionalEthV1EventsBlockData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28190,10 +38013,10 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockData) UnmarshalVT(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28270,9 +38093,9 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockData) UnmarshalVT(dAtA []byte) err iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -28282,28 +38105,94 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockData) UnmarshalVT(dAtA []byte) err } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationFromVTPool() + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockRoot = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsCount", wireType) + } + m.TransactionsCount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TransactionsCount |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytes", wireType) + } + m.TransactionsTotalBytes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TransactionsTotalBytes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -28326,7 +38215,7 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockData) UnmarshalVT(dAtA []byte) err } return nil } -func (m *ClientMeta_AdditionalEthV1EventsBlockV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28349,10 +38238,10 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockV2Data) UnmarshalVT(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockV2Data: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockV2Data: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28429,7 +38318,71 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockV2Data) UnmarshalVT(dAtA []byte) e iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockRoot = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsCount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28456,67 +38409,52 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockV2Data) UnmarshalVT(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.TransactionsCount == nil { + m.TransactionsCount = &wrapperspb1.UInt64Value{} } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TransactionsCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytes", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1EventsBlockGossipData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.TransactionsTotalBytes == nil { + m.TransactionsTotalBytes = &wrapperspb1.UInt64Value{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockGossipData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlockGossipData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytesCompressed", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28543,16 +38481,16 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockGossipData) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.TransactionsTotalBytesCompressed == nil { + m.TransactionsTotalBytesCompressed = &wrapperspb1.UInt64Value{} } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalBytes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28579,16 +38517,16 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockGossipData) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.TotalBytes == nil { + m.TotalBytes = &wrapperspb1.UInt64Value{} } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalBytesCompressed", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28615,13 +38553,33 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockGossipData) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.TotalBytesCompressed == nil { + m.TotalBytesCompressed = &wrapperspb1.UInt64Value{} } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FinalizedWhenRequested", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.FinalizedWhenRequested = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -28644,7 +38602,7 @@ func (m *ClientMeta_AdditionalEthV1EventsBlockGossipData) UnmarshalVT(dAtA []byt } return nil } -func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28667,15 +38625,15 @@ func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFastConfirmationData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFastConfirmationData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28702,52 +38660,67 @@ func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 3: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28774,16 +38747,67 @@ func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28810,16 +38834,67 @@ func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV2BeaconBlockDepositData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockDepositData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockDepositData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28846,10 +38921,10 @@ func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -28875,7 +38950,7 @@ func (m *ClientMeta_AdditionalEthV1EventsFastConfirmationData) UnmarshalVT(dAtA } return nil } -func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28898,15 +38973,15 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) UnmarshalVT(dAtA []b fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28933,10 +39008,10 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -28962,7 +39037,7 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitData) UnmarshalVT(dAtA []b } return nil } -func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -28985,15 +39060,15 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) UnmarshalVT(dAtA [ fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29020,16 +39095,16 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) UnmarshalVT(dAtA [ if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PositionInBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29056,18 +39131,18 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) UnmarshalVT(dAtA [ if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() + if m.PositionInBlock == nil { + m.PositionInBlock = &wrapperspb1.UInt64Value{} } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.PositionInBlock).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -29077,27 +39152,119 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) UnmarshalVT(dAtA [ } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + m.Size = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CallDataSize", wireType) } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CallDataSize = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsSize", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlobSidecarsSize = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsEmptySize", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlobSidecarsEmptySize = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -29121,7 +39288,7 @@ func (m *ClientMeta_AdditionalEthV1EventsVoluntaryExitV2Data) UnmarshalVT(dAtA [ } return nil } -func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29144,15 +39311,15 @@ func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) UnmarshalVT(dA fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29179,10 +39346,10 @@ func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) UnmarshalVT(dA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -29208,7 +39375,7 @@ func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointData) UnmarshalVT(dA } return nil } -func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockAccessListData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29231,15 +39398,15 @@ func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) UnmarshalVT( fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockAccessListData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockAccessListData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29266,13 +39433,81 @@ func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) UnmarshalVT( if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BlockNumber == nil { + m.BlockNumber = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -29295,7 +39530,7 @@ func (m *ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2Data) UnmarshalVT( } return nil } -func (m *ClientMeta_AdditionalEthV1EventsChainReorgData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29318,10 +39553,10 @@ func (m *ClientMeta_AdditionalEthV1EventsChainReorgData) UnmarshalVT(dAtA []byte fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -29354,7 +39589,7 @@ func (m *ClientMeta_AdditionalEthV1EventsChainReorgData) UnmarshalVT(dAtA []byte return io.ErrUnexpectedEOF } if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + m.Epoch = EpochV2FromVTPool() } if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -29390,7 +39625,7 @@ func (m *ClientMeta_AdditionalEthV1EventsChainReorgData) UnmarshalVT(dAtA []byte return io.ErrUnexpectedEOF } if m.Slot == nil { - m.Slot = SlotFromVTPool() + m.Slot = SlotV2FromVTPool() } if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -29426,7 +39661,7 @@ func (m *ClientMeta_AdditionalEthV1EventsChainReorgData) UnmarshalVT(dAtA []byte return io.ErrUnexpectedEOF } if m.Propagation == nil { - m.Propagation = PropagationFromVTPool() + m.Propagation = PropagationV2FromVTPool() } if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -29454,7 +39689,7 @@ func (m *ClientMeta_AdditionalEthV1EventsChainReorgData) UnmarshalVT(dAtA []byte } return nil } -func (m *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsPayloadAttestationData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29477,10 +39712,10 @@ func (m *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) UnmarshalVT(dAtA []by fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsPayloadAttestationData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsChainReorgV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsPayloadAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -29613,7 +39848,7 @@ func (m *ClientMeta_AdditionalEthV1EventsChainReorgV2Data) UnmarshalVT(dAtA []by } return nil } -func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29636,10 +39871,10 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) U fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -29672,7 +39907,7 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) U return io.ErrUnexpectedEOF } if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + m.Epoch = EpochV2FromVTPool() } if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -29708,7 +39943,7 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) U return io.ErrUnexpectedEOF } if m.Slot == nil { - m.Slot = SlotFromVTPool() + m.Slot = SlotV2FromVTPool() } if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -29744,7 +39979,7 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) U return io.ErrUnexpectedEOF } if m.Propagation == nil { - m.Propagation = PropagationFromVTPool() + m.Propagation = PropagationV2FromVTPool() } if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -29772,7 +40007,7 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionData) U } return nil } -func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsProposerPreferencesData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29795,10 +40030,10 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsProposerPreferencesData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsProposerPreferencesData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -29931,7 +40166,7 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2Data) } return nil } -func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -29954,15 +40189,15 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofData) UnmarshalVT(d fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Contribution", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29989,10 +40224,82 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.Contribution == nil { - m.Contribution = ClientMeta_AdditionalEthV1EventsContributionAndProofContributionDataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Contribution.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -30018,7 +40325,7 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofData) UnmarshalVT(d } return nil } -func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -30041,15 +40348,15 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) UnmarshalVT fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Contribution", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30076,10 +40383,82 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) UnmarshalVT if postIndex > l { return io.ErrUnexpectedEOF } - if m.Contribution == nil { - m.Contribution = ClientMeta_AdditionalEthV1EventsContributionAndProofContributionV2DataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Contribution.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -30105,7 +40484,7 @@ func (m *ClientMeta_AdditionalEthV1EventsContributionAndProofV2Data) UnmarshalVT } return nil } -func (m *ClientMeta_ForkChoiceSnapshot) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -30128,15 +40507,15 @@ func (m *ClientMeta_ForkChoiceSnapshot) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshot: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshot: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30163,16 +40542,16 @@ func (m *ClientMeta_ForkChoiceSnapshot) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestEpoch == nil { - m.RequestEpoch = EpochFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.RequestEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30199,54 +40578,16 @@ func (m *ClientMeta_ForkChoiceSnapshot) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestSlot == nil { - m.RequestSlot = SlotFromVTPool() + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := m.RequestSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotStartDiffMs", wireType) - } - m.RequestedAtSlotStartDiffMs = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RequestedAtSlotStartDiffMs |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) - } - m.RequestDurationMs = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RequestDurationMs |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30273,10 +40614,10 @@ func (m *ClientMeta_ForkChoiceSnapshot) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Timestamp == nil { - m.Timestamp = ×tamppb1.Timestamp{} + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := (*timestamppb.Timestamp)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -30302,7 +40643,7 @@ func (m *ClientMeta_ForkChoiceSnapshot) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -30325,51 +40666,15 @@ func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshotV2: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_ForkChoiceSnapshotV2: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestEpoch", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.RequestEpoch == nil { - m.RequestEpoch = EpochV2FromVTPool() - } - if err := m.RequestEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30396,16 +40701,67 @@ func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestSlot == nil { - m.RequestSlot = SlotV2FromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.RequestSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotStartDiffMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30432,16 +40788,16 @@ func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAtSlotStartDiffMs == nil { - m.RequestedAtSlotStartDiffMs = &wrapperspb1.UInt64Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30468,16 +40824,16 @@ func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestDurationMs == nil { - m.RequestDurationMs = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30504,10 +40860,10 @@ func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Timestamp == nil { - m.Timestamp = ×tamppb1.Timestamp{} + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := (*timestamppb.Timestamp)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -30533,7 +40889,7 @@ func (m *ClientMeta_ForkChoiceSnapshotV2) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_AdditionalEthV1DebugForkChoiceData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -30556,15 +40912,15 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceData) UnmarshalVT(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30591,10 +40947,46 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Snapshot == nil { - m.Snapshot = ClientMeta_ForkChoiceSnapshotFromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Snapshot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Position == nil { + m.Position = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.Position).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -30620,7 +41012,7 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceData) UnmarshalVT(dAtA []byte) } return nil } -func (m *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -30643,15 +41035,15 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) UnmarshalVT(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30678,10 +41070,10 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Snapshot == nil { - m.Snapshot = ClientMeta_ForkChoiceSnapshotV2FromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Snapshot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -30707,7 +41099,7 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceV2Data) UnmarshalVT(dAtA []byt } return nil } -func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -30730,15 +41122,15 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) UnmarshalVT(dAtA [] fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30765,16 +41157,16 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) UnmarshalVT(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - if m.Before == nil { - m.Before = ClientMeta_ForkChoiceSnapshotFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Before.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30801,67 +41193,16 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgData) UnmarshalVT(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - if m.After == nil { - m.After = ClientMeta_ForkChoiceSnapshotFromVTPool() + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := m.After.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Before", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30888,16 +41229,16 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Before == nil { - m.Before = ClientMeta_ForkChoiceSnapshotV2FromVTPool() + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := m.Before.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field After", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -30924,67 +41265,16 @@ func (m *ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2Data) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.After == nil { - m.After = ClientMeta_ForkChoiceSnapshotV2FromVTPool() + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - if err := m.After.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1BeaconCommitteeData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconCommitteeData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconCommitteeData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31011,16 +41301,16 @@ func (m *ClientMeta_AdditionalEthV1BeaconCommitteeData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31047,18 +41337,26 @@ func (m *ClientMeta_AdditionalEthV1BeaconCommitteeData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 3: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31068,78 +41366,31 @@ func (m *ClientMeta_AdditionalEthV1BeaconCommitteeData) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.StateId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1BeaconSyncCommitteeData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconSyncCommitteeData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconSyncCommitteeData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31166,16 +41417,16 @@ func (m *ClientMeta_AdditionalEthV1BeaconSyncCommitteeData) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteePeriod", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31202,10 +41453,10 @@ func (m *ClientMeta_AdditionalEthV1BeaconSyncCommitteeData) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.SyncCommitteePeriod == nil { - m.SyncCommitteePeriod = &wrapperspb1.UInt64Value{} + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} } - if err := (*wrapperspb.UInt64Value)(m.SyncCommitteePeriod).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -31231,7 +41482,7 @@ func (m *ClientMeta_AdditionalEthV1BeaconSyncCommitteeData) UnmarshalVT(dAtA []b } return nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -31254,15 +41505,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData) UnmarshalVT(dAt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31289,16 +41540,16 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SyncCommitteePeriod", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31325,69 +41576,18 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.SyncCommitteePeriod == nil { - m.SyncCommitteePeriod = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.SyncCommitteePeriod).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31397,29 +41597,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Hash = string(dAtA[iNdEx:postIndex]) + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() + } + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31429,29 +41633,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.From = string(dAtA[iNdEx:postIndex]) + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() + } + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31461,48 +41669,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.To = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - m.Nonce = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Nonce |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - case 5: + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasPrice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31512,48 +41705,41 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.GasPrice = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Gas", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - m.Gas = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - m.Gas |= uint64(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } + iNdEx = postIndex case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31563,29 +41749,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Value = string(dAtA[iNdEx:postIndex]) + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31595,29 +41785,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Size = string(dAtA[iNdEx:postIndex]) + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CallDataSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31627,23 +41821,27 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.CallDataSize = string(dAtA[iNdEx:postIndex]) + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -31667,7 +41865,7 @@ func (m *ClientMeta_AdditionalMempoolTransactionData) UnmarshalVT(dAtA []byte) e } return nil } -func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -31690,17 +41888,17 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalMempoolTransactionV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31710,29 +41908,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Hash = string(dAtA[iNdEx:postIndex]) + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31742,29 +41944,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.From = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31774,27 +41980,31 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.To = string(dAtA[iNdEx:postIndex]) + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() + } + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31821,18 +42031,18 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Nonce == nil { - m.Nonce = &wrapperspb1.UInt64Value{} + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.Nonce).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasPrice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31842,27 +42052,31 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.GasPrice = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Gas", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -31889,18 +42103,26 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Gas == nil { - m.Gas = &wrapperspb1.UInt64Value{} + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.Gas).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31910,29 +42132,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Value = string(dAtA[iNdEx:postIndex]) + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31942,29 +42168,120 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.Size = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 9: + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CallDataSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -31974,27 +42291,31 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.CallDataSize = string(dAtA[iNdEx:postIndex]) + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 10: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32021,18 +42342,18 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Type == nil { - m.Type = &wrapperspb1.UInt32Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.Type).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 11: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasTipCap", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32042,29 +42363,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.GasTipCap = string(dAtA[iNdEx:postIndex]) + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() + } + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 12: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasFeeCap", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32074,27 +42399,31 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.GasFeeCap = string(dAtA[iNdEx:postIndex]) + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() + } + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 13: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobGas", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32121,18 +42450,18 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlobGas == nil { - m.BlobGas = &wrapperspb1.UInt64Value{} + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.BlobGas).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 14: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobGasFeeCap", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32142,29 +42471,41 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobGasFeeCap = string(dAtA[iNdEx:postIndex]) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() + } + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } + } iNdEx = postIndex - case 15: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32174,29 +42515,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobHashes = append(m.BlobHashes, string(dAtA[iNdEx:postIndex])) + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 16: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32206,29 +42551,33 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobSidecarsSize = string(dAtA[iNdEx:postIndex]) + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} + } + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 17: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsEmptySize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32238,23 +42587,27 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobSidecarsEmptySize = string(dAtA[iNdEx:postIndex]) + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -32278,7 +42631,7 @@ func (m *ClientMeta_AdditionalMempoolTransactionV2Data) UnmarshalVT(dAtA []byte) } return nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AttestationDataSnapshot) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -32301,15 +42654,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockData) UnmarshalVT(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AttestationDataSnapshot: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AttestationDataSnapshot: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotStartDiffMs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32336,16 +42689,16 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockData) UnmarshalVT(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochFromVTPool() + if m.RequestedAtSlotStartDiffMs == nil { + m.RequestedAtSlotStartDiffMs = &wrapperspb1.UInt64Value{} } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32372,18 +42725,18 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockData) UnmarshalVT(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotFromVTPool() + if m.RequestDurationMs == nil { + m.RequestDurationMs = &wrapperspb1.UInt64Value{} } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32393,94 +42746,28 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockData) UnmarshalVT(dAtA []byte) err } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Version = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if m.Timestamp == nil { + m.Timestamp = ×tamppb1.Timestamp{} } - if postIndex > l { - return io.ErrUnexpectedEOF + if err := (*timestamppb.Timestamp)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.BlockRoot = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsCount", wireType) - } - m.TransactionsCount = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TransactionsCount |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytes", wireType) - } - m.TransactionsTotalBytes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TransactionsTotalBytes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -32503,7 +42790,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockData) UnmarshalVT(dAtA []byte) err } return nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -32526,15 +42813,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockV2Data: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorAttestationDataData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockV2Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorAttestationDataData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32561,16 +42848,16 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Source == nil { + m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32597,18 +42884,18 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.Target == nil { + m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -32618,59 +42905,31 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Version = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockRoot", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if postIndex > l { - return io.ErrUnexpectedEOF + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.BlockRoot = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32697,16 +42956,16 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.TransactionsCount == nil { - m.TransactionsCount = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.TransactionsCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32733,16 +42992,67 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.TransactionsTotalBytes == nil { - m.TransactionsTotalBytes = &wrapperspb1.UInt64Value{} + if m.Snapshot == nil { + m.Snapshot = ClientMeta_AttestationDataSnapshotFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Snapshot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlobSidecarData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlobSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytesCompressed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32769,16 +43079,16 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.TransactionsTotalBytesCompressed == nil { - m.TransactionsTotalBytesCompressed = &wrapperspb1.UInt64Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32805,16 +43115,16 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - if m.TotalBytes == nil { - m.TotalBytes = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.TotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalBytesCompressed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32839,35 +43149,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e return protohelpers.ErrInvalidLength } if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.TotalBytesCompressed == nil { - m.TotalBytesCompressed = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FinalizedWhenRequested", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } + return io.ErrUnexpectedEOF } - m.FinalizedWhenRequested = bool(v != 0) + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -32890,7 +43180,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockV2Data) UnmarshalVT(dAtA []byte) e } return nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -32913,15 +43203,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData) UnmarshalVT( fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsDataColumnSidecarData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsDataColumnSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -32948,67 +43238,52 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingData) UnmarshalVT( if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33035,10 +43310,10 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData) UnmarshalVT( if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -33064,7 +43339,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingData) UnmarshalVT( } return nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -33087,15 +43362,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData) UnmarshalVT(dAt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobSidecarData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33122,67 +43397,52 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV2BeaconBlockDepositData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockDepositData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockDepositData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataSize", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33209,67 +43469,48 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockDepositData) UnmarshalVT(dAtA []by if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.DataSize == nil { + m.DataSize = &wrapperspb1.UInt64Value{} } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.DataSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VersionedHash", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.VersionedHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataEmptySize", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33296,10 +43537,10 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.DataEmptySize == nil { + m.DataEmptySize = &wrapperspb1.UInt64Value{} } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.DataEmptySize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -33325,7 +43566,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeData) Unmarsha } return nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -33348,15 +43589,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) Unmarsha fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconP2PAttestationData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalBeaconP2PAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33383,16 +43624,16 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.Source == nil { + m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PositionInBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33419,18 +43660,18 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.PositionInBlock == nil { - m.PositionInBlock = &wrapperspb1.UInt64Value{} + if m.Target == nil { + m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.PositionInBlock).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -33440,29 +43681,33 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) Unmarsha } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Size = string(dAtA[iNdEx:postIndex]) + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CallDataSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -33472,29 +43717,33 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) Unmarsha } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.CallDataSize = string(dAtA[iNdEx:postIndex]) + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -33504,29 +43753,33 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) Unmarsha } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobSidecarsSize = string(dAtA[iNdEx:postIndex]) + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlobSidecarsEmptySize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -33536,78 +43789,111 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionData) Unmarsha } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlobSidecarsEmptySize = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { + if m.AttestingValidator == nil { + m.AttestingValidator = AttestingValidatorV2FromVTPool() + } + if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + if m.Peer == nil { + m.Peer = libp2p.PeerFromVTPool() } - if iNdEx >= l { + if unmarshal, ok := interface{}(m.Peer).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Peer); err != nil { + return err + } + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Subnet", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.Subnet == nil { + m.Subnet = &wrapperspb1.UInt32Value{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*wrapperspb.UInt32Value)(m.Subnet).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Validated", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33634,10 +43920,10 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) UnmarshalVT(dAtA [ if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.Validated == nil { + m.Validated = &wrapperspb1.BoolValue{} } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.BoolValue)(m.Validated).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -33663,7 +43949,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockWithdrawalData) UnmarshalVT(dAtA [ } return nil } -func (m *ClientMeta_AttestationDataSnapshot) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV1ProposerDutyData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -33686,15 +43972,15 @@ func (m *ClientMeta_AttestationDataSnapshot) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AttestationDataSnapshot: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ProposerDutyData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AttestationDataSnapshot: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ProposerDutyData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotStartDiffMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33721,16 +44007,16 @@ func (m *ClientMeta_AttestationDataSnapshot) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAtSlotStartDiffMs == nil { - m.RequestedAtSlotStartDiffMs = &wrapperspb1.UInt64Value{} + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotStartDiffMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33757,18 +44043,18 @@ func (m *ClientMeta_AttestationDataSnapshot) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestDurationMs == nil { - m.RequestDurationMs = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StateId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -33778,27 +44064,23 @@ func (m *ClientMeta_AttestationDataSnapshot) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Timestamp == nil { - m.Timestamp = ×tamppb1.Timestamp{} - } - if err := (*timestamppb.Timestamp)(m.Timestamp).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.StateId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -33822,7 +44104,7 @@ func (m *ClientMeta_AttestationDataSnapshot) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -33845,15 +44127,15 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorAttestationDataData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorAttestationDataData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33880,16 +44162,16 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Source == nil { - m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() + if m.Block == nil { + m.Block = BlockIdentifierFromVTPool() } - if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PositionInBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -33916,10 +44198,10 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Target == nil { - m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() + if m.PositionInBlock == nil { + m.PositionInBlock = &wrapperspb1.UInt64Value{} } - if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.PositionInBlock).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -33997,7 +44279,7 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAt iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Snapshot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34024,10 +44306,46 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Snapshot == nil { - m.Snapshot = ClientMeta_AttestationDataSnapshotFromVTPool() + if m.Source == nil { + m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() } - if err := m.Snapshot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Target == nil { + m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() + } + if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -34053,7 +44371,7 @@ func (m *ClientMeta_AdditionalEthV1ValidatorAttestationDataData) UnmarshalVT(dAt } return nil } -func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -34076,51 +44394,15 @@ func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) UnmarshalVT(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlobSidecarData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceAddPeerData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsBlobSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceAddPeerData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34147,48 +44429,20 @@ func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() - } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } iNdEx = postIndex default: iNdEx = preIndex @@ -34212,7 +44466,7 @@ func (m *ClientMeta_AdditionalEthV1EventsBlobSidecarData) UnmarshalVT(dAtA []byt } return nil } -func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -34235,15 +44489,15 @@ func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) UnmarshalVT(dAtA fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsDataColumnSidecarData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRemovePeerData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1EventsDataColumnSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRemovePeerData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34270,52 +44524,75 @@ func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 3: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRecvRPCData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRecvRPCData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34342,11 +44619,19 @@ func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() - } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() + } + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -34371,7 +44656,7 @@ func (m *ClientMeta_AdditionalEthV1EventsDataColumnSidecarData) UnmarshalVT(dAtA } return nil } -func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -34394,15 +44679,15 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) UnmarshalVT(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobSidecarData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSendRPCData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSendRPCData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34429,120 +44714,75 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataSize", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.DataSize == nil { - m.DataSize = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.DataSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionedHash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.VersionedHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDropRPCData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDropRPCData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataEmptySize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34569,11 +44809,19 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) UnmarshalVT(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - if m.DataEmptySize == nil { - m.DataEmptySize = &wrapperspb1.UInt64Value{} + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.DataEmptySize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -34598,7 +44846,7 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobSidecarData) UnmarshalVT(dAtA []byt } return nil } -func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -34621,15 +44869,15 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalBeaconP2PAttestationData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalBeaconP2PAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34656,52 +44904,75 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Source == nil { - m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() - } - if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.Target == nil { - m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 3: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34728,52 +44999,75 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 5: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34800,52 +45094,75 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() - } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.AttestingValidator == nil { - m.AttestingValidator = AttestingValidatorV2FromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 7: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34872,52 +45189,75 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Peer == nil { - m.Peer = libp2p.PeerFromVTPool() - } - if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Subnet", wireType) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.Subnet == nil { - m.Subnet = &wrapperspb1.UInt32Value{} + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := (*wrapperspb.UInt32Value)(m.Subnet).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 9: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Validated", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -34944,11 +45284,19 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Validated == nil { - m.Validated = &wrapperspb1.BoolValue{} + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := (*wrapperspb.BoolValue)(m.Validated).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -34973,7 +45321,7 @@ func (m *ClientMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) } return nil } -func (m *ClientMeta_AdditionalEthV1ProposerDutyData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceJoinData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -34996,15 +45344,15 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) UnmarshalVT(dAtA []byte) er fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ProposerDutyData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceJoinData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ProposerDutyData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceJoinData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35031,16 +45379,75 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) UnmarshalVT(dAtA []byte) er if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 2: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceLeaveData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceLeaveData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35067,18 +45474,77 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) UnmarshalVT(dAtA []byte) er if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 3: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceGraftData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGraftData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGraftData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -35088,23 +45554,35 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) UnmarshalVT(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.StateId = string(dAtA[iNdEx:postIndex]) + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() + } + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } + } iNdEx = postIndex default: iNdEx = preIndex @@ -35128,7 +45606,7 @@ func (m *ClientMeta_AdditionalEthV1ProposerDutyData) UnmarshalVT(dAtA []byte) er } return nil } -func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTracePruneData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35151,15 +45629,15 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePruneData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePruneData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Block", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35186,16 +45664,75 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Block == nil { - m.Block = BlockIdentifierFromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Block.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 2: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDuplicateMessageData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDuplicateMessageData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PositionInBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35222,16 +45759,75 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.PositionInBlock == nil { - m.PositionInBlock = &wrapperspb1.UInt64Value{} + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.PositionInBlock).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 3: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDeliverMessageData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDeliverMessageData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35258,16 +45854,75 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePublishMessageData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePublishMessageData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35294,16 +45949,75 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 5: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRejectMessageData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRejectMessageData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35330,16 +46044,75 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Source == nil { - m.Source = ClientMeta_AdditionalEthV1AttestationSourceV2DataFromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 6: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceConnectedData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceConnectedData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -35366,11 +46139,19 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Target == nil { - m.Target = ClientMeta_AdditionalEthV1AttestationTargetV2DataFromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -35395,7 +46176,7 @@ func (m *ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationData) Unmarsh } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35418,10 +46199,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) UnmarshalVT(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceAddPeerData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDisconnectedData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceAddPeerData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDisconnectedData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -35456,8 +46237,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) UnmarshalVT(dAtA []byte) e if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -35482,7 +46271,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceAddPeerData) UnmarshalVT(dAtA []byte) e } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35505,10 +46294,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) UnmarshalVT(dAtA []byte fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRemovePeerData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRemovePeerData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -35543,8 +46332,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) UnmarshalVT(dAtA []byte if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -35569,7 +46366,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRemovePeerData) UnmarshalVT(dAtA []byte } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35592,10 +46389,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) UnmarshalVT(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRecvRPCData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleMetadataData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRecvRPCData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleMetadataData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -35630,8 +46427,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) UnmarshalVT(dAtA []byte) e if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -35656,7 +46461,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRecvRPCData) UnmarshalVT(dAtA []byte) e } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35679,10 +46484,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) UnmarshalVT(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSendRPCData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleStatusData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSendRPCData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleStatusData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -35717,8 +46522,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) UnmarshalVT(dAtA []byte) e if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -35743,7 +46556,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceSendRPCData) UnmarshalVT(dAtA []byte) e } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35766,10 +46579,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) UnmarshalVT(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDropRPCData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceIdentifyData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDropRPCData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceIdentifyData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -35804,8 +46617,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) UnmarshalVT(dAtA []byte) e if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -35830,7 +46651,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceDropRPCData) UnmarshalVT(dAtA []byte) e } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35853,10 +46674,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) UnmarshalVT(dA fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -35891,7 +46712,159 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) UnmarshalVT(dA if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() + } + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() + } + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -35917,7 +46890,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveData) UnmarshalVT(dA } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -35940,10 +46913,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) UnmarshalVT(dA fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -35978,8 +46951,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) UnmarshalVT(dA if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -36004,7 +46985,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantData) UnmarshalVT(dA } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36027,10 +47008,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) UnmarshalV fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -36065,8 +47046,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) UnmarshalV if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex default: @@ -36091,7 +47080,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantData) UnmarshalV } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36114,15 +47103,275 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) UnmarshalVT(dA fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() + } + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() + } + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() + } + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() + } + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() + } + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} + } + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36149,67 +47398,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftData) UnmarshalVT(dA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36236,10 +47434,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) UnmarshalVT(dA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -36265,7 +47463,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneData) UnmarshalVT(dA } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceJoinData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36288,15 +47486,15 @@ func (m *ClientMeta_AdditionalLibP2PTraceJoinData) UnmarshalVT(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceJoinData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceJoinData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36323,10 +47521,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceJoinData) UnmarshalVT(dAtA []byte) erro if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -36352,7 +47550,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceJoinData) UnmarshalVT(dAtA []byte) erro } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36375,15 +47573,15 @@ func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) UnmarshalVT(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceLeaveData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceLeaveData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36410,10 +47608,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) UnmarshalVT(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -36439,7 +47637,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceLeaveData) UnmarshalVT(dAtA []byte) err } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceGraftData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36462,15 +47660,15 @@ func (m *ClientMeta_AdditionalLibP2PTraceGraftData) UnmarshalVT(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGraftData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGraftData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36497,67 +47695,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGraftData) UnmarshalVT(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Source == nil { + m.Source = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceDataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTracePruneData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePruneData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePruneData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36584,67 +47731,16 @@ func (m *ClientMeta_AdditionalLibP2PTracePruneData) UnmarshalVT(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Target == nil { + m.Target = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetDataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDuplicateMessageData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDuplicateMessageData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36671,67 +47767,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceDuplicateMessageData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDeliverMessageData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDeliverMessageData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36758,67 +47803,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceDeliverMessageData) UnmarshalVT(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePublishMessageData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTracePublishMessageData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36845,67 +47839,52 @@ func (m *ClientMeta_AdditionalLibP2PTracePublishMessageData) UnmarshalVT(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.AttestingValidator == nil { + m.AttestingValidator = AttestingValidatorV2FromVTPool() } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRejectMessageData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRejectMessageData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -36932,65 +47911,50 @@ func (m *ClientMeta_AdditionalLibP2PTraceRejectMessageData) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceConnectedData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceConnectedData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } @@ -37022,64 +47986,21 @@ func (m *ClientMeta_AdditionalLibP2PTraceConnectedData) UnmarshalVT(dAtA []byte) if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDisconnectedData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceDisconnectedData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37106,67 +48027,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceDisconnectedData) UnmarshalVT(dAtA []by if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37193,67 +48063,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleMetadataData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleMetadataData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37280,10 +48099,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) UnmarshalVT(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -37309,7 +48128,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleMetadataData) UnmarshalVT(dAtA [] } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -37332,15 +48151,15 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) UnmarshalVT(dAtA []by fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleStatusData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceHandleStatusData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37367,67 +48186,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceHandleStatusData) UnmarshalVT(dAtA []by if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceIdentifyData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceIdentifyData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37454,67 +48222,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceIdentifyData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37541,16 +48258,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37577,16 +48294,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37613,16 +48330,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AggregatorIndex", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37649,16 +48366,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() + if m.AggregatorIndex == nil { + m.AggregatorIndex = &wrapperspb1.UInt64Value{} } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.AggregatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37685,67 +48402,24 @@ func (m *ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeData) Unmarsha if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37772,67 +48446,52 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionData) UnmarshalVT(dA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -37859,10 +48518,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) UnmarshalVT(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -37888,7 +48547,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceRPCMetaMessageData) UnmarshalVT(dAtA [] } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -37911,10 +48570,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) UnmarshalVT(d fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -38129,8 +48788,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) UnmarshalVT(d if m.Metadata == nil { m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex case 7: @@ -38263,7 +48930,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockData) UnmarshalVT(d } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -38286,10 +48953,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) U fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -38328,60 +48995,9 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceData) U return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38408,67 +49024,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetData) U if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38495,16 +49060,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Source == nil { - m.Source = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationSourceDataFromVTPool() + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := m.Source.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38531,16 +49096,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Target == nil { - m.Target = ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationTargetDataFromVTPool() + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - if err := m.Target.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38567,16 +49132,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.Propagation == nil { + m.Propagation = PropagationV2FromVTPool() } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38603,16 +49168,24 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Metadata == nil { + m.Metadata = libp2p.TraceEventMetadataFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } } iNdEx = postIndex - case 5: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38639,16 +49212,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.Topic == nil { + m.Topic = &wrapperspb1.StringValue{} } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AttestingValidator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38675,16 +49248,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.AttestingValidator == nil { - m.AttestingValidator = AttestingValidatorV2FromVTPool() + if m.MessageSize == nil { + m.MessageSize = &wrapperspb1.UInt32Value{} } - if err := m.AttestingValidator.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38711,52 +49284,67 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() + if m.MessageId == nil { + m.MessageId = &wrapperspb1.StringValue{} } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1ValidatorsData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 9: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorsData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorsData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38783,16 +49371,67 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Relay", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38819,16 +49458,24 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Topic == nil { - m.Topic = &wrapperspb1.StringValue{} + if m.Relay == nil { + m.Relay = mevrelay.RelayFromVTPool() } - if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Relay).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Relay); err != nil { + return err + } } iNdEx = postIndex - case 11: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38855,16 +49502,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageSize == nil { - m.MessageSize = &wrapperspb1.UInt32Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 12: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38891,67 +49538,52 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageId == nil { - m.MessageId = &wrapperspb1.StringValue{} + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -38978,16 +49610,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39014,16 +49646,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() + if m.RequestedAtSlotTime == nil { + m.RequestedAtSlotTime = &wrapperspb1.UInt64Value{} } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResponseAtSlotTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39050,16 +49682,67 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() + if m.ResponseAtSlotTime == nil { + m.ResponseAtSlotTime = &wrapperspb1.UInt64Value{} } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayPayloadDeliveredData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayPayloadDeliveredData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Relay", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39086,16 +49769,24 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + if m.Relay == nil { + m.Relay = mevrelay.RelayFromVTPool() } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Relay).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Relay); err != nil { + return err + } } iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39122,16 +49813,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AggregatorIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39158,16 +49849,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.AggregatorIndex == nil { - m.AggregatorIndex = &wrapperspb1.UInt64Value{} + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.AggregatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39194,16 +49885,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39230,16 +49921,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Topic == nil { - m.Topic = &wrapperspb1.StringValue{} + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39266,16 +49957,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageSize == nil { - m.MessageSize = &wrapperspb1.UInt32Value{} + if m.RequestedAtSlotTime == nil { + m.RequestedAtSlotTime = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResponseAtSlotTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39302,10 +49993,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageId == nil { - m.MessageId = &wrapperspb1.StringValue{} + if m.ResponseAtSlotTime == nil { + m.ResponseAtSlotTime = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -39331,7 +50022,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofData) Unmarsh } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -39354,10 +50045,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalEthV3ValidatorBlockData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalEthV3ValidatorBlockData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -39434,7 +50125,39 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsCount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39461,16 +50184,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() + if m.TransactionsCount == nil { + m.TransactionsCount = &wrapperspb1.UInt64Value{} } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TransactionsCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39497,16 +50220,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + if m.TransactionsTotalBytes == nil { + m.TransactionsTotalBytes = &wrapperspb1.UInt64Value{} } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytesCompressed", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39533,16 +50256,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.TransactionsTotalBytesCompressed == nil { + m.TransactionsTotalBytesCompressed = &wrapperspb1.UInt64Value{} } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalBytes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39569,16 +50292,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.TotalBytes == nil { + m.TotalBytes = &wrapperspb1.UInt64Value{} } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalBytesCompressed", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39605,16 +50328,80 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.Topic == nil { - m.Topic = &wrapperspb1.StringValue{} + if m.TotalBytesCompressed == nil { + m.TotalBytesCompressed = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionValue", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExecutionValue = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConsensusValue", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ConsensusValue = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39641,16 +50428,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageSize == nil { - m.MessageSize = &wrapperspb1.UInt32Value{} + if m.RequestDurationMs == nil { + m.RequestDurationMs = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39677,10 +50464,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageId == nil { - m.MessageId = &wrapperspb1.StringValue{} + if m.RequestedAt == nil { + m.RequestedAt = ×tamppb1.Timestamp{} } - if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -39706,7 +50493,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarData) UnmarshalVT(d } return nil } -func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -39729,15 +50516,15 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayValidatorRegistrationData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayValidatorRegistrationData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Relay", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39764,11 +50551,19 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() + if m.Relay == nil { + m.Relay = mevrelay.RelayFromVTPool() } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Relay).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Relay); err != nil { + return err + } } iNdEx = postIndex case 2: @@ -39809,7 +50604,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39836,16 +50631,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() + if m.WallclockSlot == nil { + m.WallclockSlot = SlotV2FromVTPool() } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39872,16 +50667,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Propagation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39908,16 +50703,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Propagation == nil { - m.Propagation = PropagationV2FromVTPool() + if m.WallclockEpoch == nil { + m.WallclockEpoch = EpochV2FromVTPool() } - if err := m.Propagation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorIndex", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39944,16 +50739,67 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Metadata == nil { - m.Metadata = libp2p.TraceEventMetadataFromVTPool() + if m.ValidatorIndex == nil { + m.ValidatorIndex = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - if err := m.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 7: + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalNodeRecordConsensusData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalNodeRecordConsensusData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FinalizedEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -39980,16 +50826,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.Topic == nil { - m.Topic = &wrapperspb1.StringValue{} + if m.FinalizedEpoch == nil { + m.FinalizedEpoch = EpochV2FromVTPool() } - if err := (*wrapperspb.StringValue)(m.Topic).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.FinalizedEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HeadSlot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40016,16 +50862,16 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageSize == nil { - m.MessageSize = &wrapperspb1.UInt32Value{} + if m.HeadSlot == nil { + m.HeadSlot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt32Value)(m.MessageSize).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.HeadSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MessageId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HeadEpoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40052,10 +50898,10 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh if postIndex > l { return io.ErrUnexpectedEOF } - if m.MessageId == nil { - m.MessageId = &wrapperspb1.StringValue{} + if m.HeadEpoch == nil { + m.HeadEpoch = EpochV2FromVTPool() } - if err := (*wrapperspb.StringValue)(m.MessageId).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.HeadEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -40081,7 +50927,7 @@ func (m *ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarData) Unmarsh } return nil } -func (m *ClientMeta_AdditionalEthV1ValidatorsData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -40104,10 +50950,10 @@ func (m *ClientMeta_AdditionalEthV1ValidatorsData) UnmarshalVT(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorsData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPINewPayloadData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1ValidatorsData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPINewPayloadData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -40146,6 +50992,42 @@ func (m *ClientMeta_AdditionalEthV1ValidatorsData) UnmarshalVT(dAtA []byte) erro return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() + } + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -40168,7 +51050,7 @@ func (m *ClientMeta_AdditionalEthV1ValidatorsData) UnmarshalVT(dAtA []byte) erro } return nil } -func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -40191,15 +51073,15 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Unmars fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPIGetBlobsData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPIGetBlobsData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Relay", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40226,10 +51108,10 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Unmars if postIndex > l { return io.ErrUnexpectedEOF } - if m.Relay == nil { - m.Relay = mevrelay.RelayFromVTPool() + if m.Epoch == nil { + m.Epoch = EpochV2FromVTPool() } - if err := m.Relay.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -40269,43 +51151,58 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Unmars return err } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClientMeta_AdditionalEthV1BeaconBlobData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 4: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } @@ -40341,81 +51238,9 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Unmars return err } iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() - } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotTime", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.RequestedAtSlotTime == nil { - m.RequestedAtSlotTime = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResponseAtSlotTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40442,10 +51267,10 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Unmars if postIndex > l { return io.ErrUnexpectedEOF } - if m.ResponseAtSlotTime == nil { - m.ResponseAtSlotTime = &wrapperspb1.UInt64Value{} + if m.Slot == nil { + m.Slot = SlotV2FromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -40471,7 +51296,7 @@ func (m *ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionData) Unmars } return nil } -func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []byte) error { +func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -40494,17 +51319,17 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayPayloadDeliveredData: wiretype end group for non-group") + return fmt.Errorf("proto: ClientMeta: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayPayloadDeliveredData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientMeta: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Relay", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -40514,33 +51339,29 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Relay == nil { - m.Relay = mevrelay.RelayFromVTPool() - } - if err := m.Relay.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Name = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -40550,33 +51371,29 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Version = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -40586,33 +51403,29 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() - } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Id = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Implementation", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -40622,33 +51435,29 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Implementation = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Os", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -40658,31 +51467,46 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() - } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Os = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ClockDrift", wireType) + } + m.ClockDrift = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ClockDrift |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAtSlotTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ethereum", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40709,16 +51533,16 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAtSlotTime == nil { - m.RequestedAtSlotTime = &wrapperspb1.UInt64Value{} + if m.Ethereum == nil { + m.Ethereum = ClientMeta_EthereumFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.RequestedAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Ethereum.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResponseAtSlotTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40745,67 +51569,107 @@ func (m *ClientMeta_AdditionalMevRelayPayloadDeliveredData) UnmarshalVT(dAtA []b if postIndex > l { return io.ErrUnexpectedEOF } - if m.ResponseAtSlotTime == nil { - m.ResponseAtSlotTime = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.ResponseAtSlotTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if m.Labels == nil { + m.Labels = make(map[string]string) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protohelpers.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protohelpers.ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protohelpers.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protohelpers.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV3ValidatorBlockData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV3ValidatorBlockData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.Labels[mapkey] = mapvalue + iNdEx = postIndex + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40832,16 +51696,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsAttestation); ok { + if err := oneof.EthV1EventsAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsAttestationDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsAttestation{EthV1EventsAttestation: v} } iNdEx = postIndex - case 2: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHead", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40868,48 +51737,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsHead); ok { + if err := oneof.EthV1EventsHead.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := ClientMeta_AdditionalEthV1EventsHeadDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.AdditionalData = &ClientMeta_EthV1EventsHead{EthV1EventsHead: v} } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Version = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40936,16 +51778,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.TransactionsCount == nil { - m.TransactionsCount = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.TransactionsCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlock); ok { + if err := oneof.EthV1EventsBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsBlockDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsBlock{EthV1EventsBlock: v} } iNdEx = postIndex - case 5: + case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExit", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -40972,16 +51819,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.TransactionsTotalBytes == nil { - m.TransactionsTotalBytes = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsVoluntaryExit); ok { + if err := oneof.EthV1EventsVoluntaryExit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsVoluntaryExitDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsVoluntaryExit{EthV1EventsVoluntaryExit: v} } iNdEx = postIndex - case 6: + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TransactionsTotalBytesCompressed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpoint", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41008,16 +51860,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.TransactionsTotalBytesCompressed == nil { - m.TransactionsTotalBytesCompressed = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.TransactionsTotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsFinalizedCheckpoint); ok { + if err := oneof.EthV1EventsFinalizedCheckpoint.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsFinalizedCheckpointDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsFinalizedCheckpoint{EthV1EventsFinalizedCheckpoint: v} } iNdEx = postIndex - case 7: + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorg", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41044,16 +51901,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.TotalBytes == nil { - m.TotalBytes = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.TotalBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsChainReorg); ok { + if err := oneof.EthV1EventsChainReorg.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsChainReorgDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsChainReorg{EthV1EventsChainReorg: v} } iNdEx = postIndex - case 8: + case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalBytesCompressed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProof", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41080,18 +51942,23 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.TotalBytesCompressed == nil { - m.TotalBytesCompressed = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.TotalBytesCompressed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsContributionAndProof); ok { + if err := oneof.EthV1EventsContributionAndProof.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsContributionAndProofDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsContributionAndProof{EthV1EventsContributionAndProof: v} } iNdEx = postIndex - case 9: + case 17: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionValue", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransaction", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -41101,59 +51968,36 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ExecutionValue = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if oneof, ok := m.AdditionalData.(*ClientMeta_MempoolTransaction); ok { + if err := oneof.MempoolTransaction.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := ClientMeta_AdditionalMempoolTransactionDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.AdditionalData = &ClientMeta_MempoolTransaction{MempoolTransaction: v} } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ConsensusValue = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 11: + case 18: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestDurationMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41180,16 +52024,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestDurationMs == nil { - m.RequestDurationMs = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.RequestDurationMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlock); ok { + if err := oneof.EthV2BeaconBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlock{EthV2BeaconBlock: v} } iNdEx = postIndex - case 12: + case 19: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestedAt", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoice", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41216,67 +52065,21 @@ func (m *ClientMeta_AdditionalEthV3ValidatorBlockData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.RequestedAt == nil { - m.RequestedAt = ×tamppb1.Timestamp{} - } - if err := (*timestamppb.Timestamp)(m.RequestedAt).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoice); ok { + if err := oneof.EthV1DebugForkChoice.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1DebugForkChoiceDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1DebugForkChoice{EthV1DebugForkChoice: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayValidatorRegistrationData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalMevRelayValidatorRegistrationData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 20: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Relay", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoiceReorg", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41303,16 +52106,21 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Relay == nil { - m.Relay = mevrelay.RelayFromVTPool() - } - if err := m.Relay.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoiceReorg); ok { + if err := oneof.EthV1DebugForkChoiceReorg.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1DebugForkChoiceReOrgDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1DebugForkChoiceReorg{EthV1DebugForkChoiceReorg: v} } iNdEx = postIndex - case 2: + case 21: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconCommittee", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41339,16 +52147,21 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconCommittee); ok { + if err := oneof.EthV1BeaconCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1BeaconCommitteeDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1BeaconCommittee{EthV1BeaconCommittee: v} } iNdEx = postIndex - case 3: + case 22: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ValidatorAttestationData", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41375,16 +52188,21 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockSlot == nil { - m.WallclockSlot = SlotV2FromVTPool() - } - if err := m.WallclockSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1ValidatorAttestationData); ok { + if err := oneof.EthV1ValidatorAttestationData.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1ValidatorAttestationDataDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1ValidatorAttestationData{EthV1ValidatorAttestationData: v} } iNdEx = postIndex - case 4: + case 24: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestationV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41411,16 +52229,21 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsAttestationV2); ok { + if err := oneof.EthV1EventsAttestationV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsAttestationV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsAttestationV2{EthV1EventsAttestationV2: v} } iNdEx = postIndex - case 5: + case 25: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field WallclockEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHeadV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41447,16 +52270,21 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.WallclockEpoch == nil { - m.WallclockEpoch = EpochV2FromVTPool() - } - if err := m.WallclockEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsHeadV2); ok { + if err := oneof.EthV1EventsHeadV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsHeadV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsHeadV2{EthV1EventsHeadV2: v} } iNdEx = postIndex - case 6: + case 26: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorIndex", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41483,67 +52311,21 @@ func (m *ClientMeta_AdditionalMevRelayValidatorRegistrationData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.ValidatorIndex == nil { - m.ValidatorIndex = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.ValidatorIndex).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlockV2); ok { + if err := oneof.EthV1EventsBlockV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsBlockV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsBlockV2{EthV1EventsBlockV2: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalNodeRecordConsensusData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalNodeRecordConsensusData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 2: + case 27: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FinalizedEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExitV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41570,16 +52352,21 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.FinalizedEpoch == nil { - m.FinalizedEpoch = EpochV2FromVTPool() - } - if err := m.FinalizedEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsVoluntaryExitV2); ok { + if err := oneof.EthV1EventsVoluntaryExitV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsVoluntaryExitV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsVoluntaryExitV2{EthV1EventsVoluntaryExitV2: v} } iNdEx = postIndex - case 3: + case 28: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HeadSlot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpointV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41606,16 +52393,21 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.HeadSlot == nil { - m.HeadSlot = SlotV2FromVTPool() - } - if err := m.HeadSlot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsFinalizedCheckpointV2); ok { + if err := oneof.EthV1EventsFinalizedCheckpointV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsFinalizedCheckpointV2{EthV1EventsFinalizedCheckpointV2: v} } iNdEx = postIndex - case 4: + case 29: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HeadEpoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorgV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41642,67 +52434,21 @@ func (m *ClientMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.HeadEpoch == nil { - m.HeadEpoch = EpochV2FromVTPool() - } - if err := m.HeadEpoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsChainReorgV2); ok { + if err := oneof.EthV1EventsChainReorgV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsChainReorgV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsChainReorgV2{EthV1EventsChainReorgV2: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPINewPayloadData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPINewPayloadData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 30: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProofV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41729,16 +52475,21 @@ func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsContributionAndProofV2); ok { + if err := oneof.EthV1EventsContributionAndProofV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1EventsContributionAndProofV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1EventsContributionAndProofV2{EthV1EventsContributionAndProofV2: v} } iNdEx = postIndex - case 2: + case 31: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransactionV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41765,67 +52516,21 @@ func (m *ClientMeta_AdditionalConsensusEngineAPINewPayloadData) UnmarshalVT(dAtA if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_MempoolTransactionV2); ok { + if err := oneof.MempoolTransactionV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalMempoolTransactionV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_MempoolTransactionV2{MempoolTransactionV2: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPIGetBlobsData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalConsensusEngineAPIGetBlobsData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 32: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41852,16 +52557,21 @@ func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) UnmarshalVT(dAtA [ if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockV2); ok { + if err := oneof.EthV2BeaconBlockV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockV2{EthV2BeaconBlockV2: v} } iNdEx = postIndex - case 2: + case 33: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoiceV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41888,67 +52598,21 @@ func (m *ClientMeta_AdditionalConsensusEngineAPIGetBlobsData) UnmarshalVT(dAtA [ if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoiceV2); ok { + if err := oneof.EthV1DebugForkChoiceV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1DebugForkChoiceV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1DebugForkChoiceV2{EthV1DebugForkChoiceV2: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta_AdditionalEthV1BeaconBlobData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta_AdditionalEthV1BeaconBlobData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 34: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoiceReorgV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -41975,16 +52639,21 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobData) UnmarshalVT(dAtA []byte) erro if postIndex > l { return io.ErrUnexpectedEOF } - if m.Epoch == nil { - m.Epoch = EpochV2FromVTPool() - } - if err := m.Epoch.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoiceReorgV2); ok { + if err := oneof.EthV1DebugForkChoiceReorgV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2DataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV1DebugForkChoiceReorgV2{EthV1DebugForkChoiceReorgV2: v} } iNdEx = postIndex - case 2: + case 35: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Slot", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockAttesterSlashing", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42011,69 +52680,23 @@ func (m *ClientMeta_AdditionalEthV1BeaconBlobData) UnmarshalVT(dAtA []byte) erro if postIndex > l { return io.ErrUnexpectedEOF } - if m.Slot == nil { - m.Slot = SlotV2FromVTPool() - } - if err := m.Slot.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockAttesterSlashing); ok { + if err := oneof.EthV2BeaconBlockAttesterSlashing.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockAttesterSlashing{EthV2BeaconBlockAttesterSlashing: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ClientMeta: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ClientMeta: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 36: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockProposerSlashing", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -42083,29 +52706,38 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Name = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockProposerSlashing); ok { + if err := oneof.EthV2BeaconBlockProposerSlashing.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockProposerSlashing{EthV2BeaconBlockProposerSlashing: v} + } iNdEx = postIndex - case 2: + case 37: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockVoluntaryExit", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -42115,29 +52747,38 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Version = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockVoluntaryExit); ok { + if err := oneof.EthV2BeaconBlockVoluntaryExit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockVoluntaryExit{EthV2BeaconBlockVoluntaryExit: v} + } iNdEx = postIndex - case 3: + case 38: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockDeposit", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -42147,29 +52788,38 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Id = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockDeposit); ok { + if err := oneof.EthV2BeaconBlockDeposit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockDepositDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockDeposit{EthV2BeaconBlockDeposit: v} + } iNdEx = postIndex - case 4: + case 39: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Implementation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockBlsToExecutionChange", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -42179,29 +52829,38 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Implementation = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockBlsToExecutionChange); ok { + if err := oneof.EthV2BeaconBlockBlsToExecutionChange.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockBlsToExecutionChange{EthV2BeaconBlockBlsToExecutionChange: v} + } iNdEx = postIndex - case 5: + case 40: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Os", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockExecutionTransaction", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -42211,46 +52870,36 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Os = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ClockDrift", wireType) - } - m.ClockDrift = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockExecutionTransaction); ok { + if err := oneof.EthV2BeaconBlockExecutionTransaction.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - m.ClockDrift |= uint64(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockExecutionTransaction{EthV2BeaconBlockExecutionTransaction: v} } - case 8: + iNdEx = postIndex + case 41: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ethereum", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockWithdrawal", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42277,16 +52926,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Ethereum == nil { - m.Ethereum = ClientMeta_EthereumFromVTPool() - } - if err := m.Ethereum.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockWithdrawal); ok { + if err := oneof.EthV2BeaconBlockWithdrawal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockWithdrawalDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockWithdrawal{EthV2BeaconBlockWithdrawal: v} } iNdEx = postIndex - case 9: + case 42: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlobSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42313,107 +52967,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Labels == nil { - m.Labels = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlobSidecar); ok { + if err := oneof.EthV1EventsBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return protohelpers.ErrInvalidLength - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return protohelpers.ErrInvalidLength - } - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return protohelpers.ErrInvalidLength - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return protohelpers.ErrInvalidLength - } - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy + } else { + v := ClientMeta_AdditionalEthV1EventsBlobSidecarDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.AdditionalData = &ClientMeta_EthV1EventsBlobSidecar{EthV1EventsBlobSidecar: v} } - m.Labels[mapkey] = mapvalue iNdEx = postIndex - case 10: + case 44: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlobSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42440,21 +53008,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsAttestation); ok { - if err := oneof.EthV1EventsAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconBlobSidecar); ok { + if err := oneof.EthV1BeaconBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsAttestationDataFromVTPool() + v := ClientMeta_AdditionalEthV1BeaconBlobSidecarDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsAttestation{EthV1EventsAttestation: v} + m.AdditionalData = &ClientMeta_EthV1BeaconBlobSidecar{EthV1BeaconBlobSidecar: v} } iNdEx = postIndex - case 11: + case 45: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHead", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconP2PAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42481,21 +53049,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsHead); ok { - if err := oneof.EthV1EventsHead.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconP2PAttestation); ok { + if err := oneof.BeaconP2PAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsHeadDataFromVTPool() + v := ClientMeta_AdditionalBeaconP2PAttestationDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsHead{EthV1EventsHead: v} + m.AdditionalData = &ClientMeta_BeaconP2PAttestation{BeaconP2PAttestation: v} } iNdEx = postIndex - case 12: + case 46: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ProposerDuty", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42522,21 +53090,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlock); ok { - if err := oneof.EthV1EventsBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1ProposerDuty); ok { + if err := oneof.EthV1ProposerDuty.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsBlockDataFromVTPool() + v := ClientMeta_AdditionalEthV1ProposerDutyDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsBlock{EthV1EventsBlock: v} + m.AdditionalData = &ClientMeta_EthV1ProposerDuty{EthV1ProposerDuty: v} } iNdEx = postIndex - case 13: + case 47: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockElaboratedAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42563,21 +53131,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsVoluntaryExit); ok { - if err := oneof.EthV1EventsVoluntaryExit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockElaboratedAttestation); ok { + if err := oneof.EthV2BeaconBlockElaboratedAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsVoluntaryExitDataFromVTPool() + v := ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsVoluntaryExit{EthV1EventsVoluntaryExit: v} + m.AdditionalData = &ClientMeta_EthV2BeaconBlockElaboratedAttestation{EthV2BeaconBlockElaboratedAttestation: v} } iNdEx = postIndex - case 14: + case 48: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpoint", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceAddPeer", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42604,21 +53172,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsFinalizedCheckpoint); ok { - if err := oneof.EthV1EventsFinalizedCheckpoint.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceAddPeer); ok { + if err := oneof.Libp2PTraceAddPeer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsFinalizedCheckpointDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceAddPeerDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsFinalizedCheckpoint{EthV1EventsFinalizedCheckpoint: v} + m.AdditionalData = &ClientMeta_Libp2PTraceAddPeer{Libp2PTraceAddPeer: v} } iNdEx = postIndex - case 15: + case 49: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorg", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRemovePeer", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42645,21 +53213,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsChainReorg); ok { - if err := oneof.EthV1EventsChainReorg.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRemovePeer); ok { + if err := oneof.Libp2PTraceRemovePeer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsChainReorgDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRemovePeerDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsChainReorg{EthV1EventsChainReorg: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRemovePeer{Libp2PTraceRemovePeer: v} } iNdEx = postIndex - case 16: + case 50: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProof", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRecvRpc", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42686,21 +53254,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsContributionAndProof); ok { - if err := oneof.EthV1EventsContributionAndProof.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRecvRpc); ok { + if err := oneof.Libp2PTraceRecvRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsContributionAndProofDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRecvRPCDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsContributionAndProof{EthV1EventsContributionAndProof: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRecvRpc{Libp2PTraceRecvRpc: v} } iNdEx = postIndex - case 17: + case 51: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransaction", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSendRpc", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42727,21 +53295,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_MempoolTransaction); ok { - if err := oneof.MempoolTransaction.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceSendRpc); ok { + if err := oneof.Libp2PTraceSendRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalMempoolTransactionDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceSendRPCDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_MempoolTransaction{MempoolTransaction: v} + m.AdditionalData = &ClientMeta_Libp2PTraceSendRpc{Libp2PTraceSendRpc: v} } iNdEx = postIndex - case 18: + case 52: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceJoin", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42768,21 +53336,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlock); ok { - if err := oneof.EthV2BeaconBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceJoin); ok { + if err := oneof.Libp2PTraceJoin.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceJoinDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlock{EthV2BeaconBlock: v} + m.AdditionalData = &ClientMeta_Libp2PTraceJoin{Libp2PTraceJoin: v} } iNdEx = postIndex - case 19: + case 53: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceConnected", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42809,21 +53377,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoice); ok { - if err := oneof.EthV1DebugForkChoice.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceConnected); ok { + if err := oneof.Libp2PTraceConnected.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1DebugForkChoiceDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceConnectedDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1DebugForkChoice{EthV1DebugForkChoice: v} + m.AdditionalData = &ClientMeta_Libp2PTraceConnected{Libp2PTraceConnected: v} } iNdEx = postIndex - case 20: + case 54: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoiceReorg", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDisconnected", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42850,21 +53418,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoiceReorg); ok { - if err := oneof.EthV1DebugForkChoiceReorg.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDisconnected); ok { + if err := oneof.Libp2PTraceDisconnected.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1DebugForkChoiceReOrgDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceDisconnectedDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1DebugForkChoiceReorg{EthV1DebugForkChoiceReorg: v} + m.AdditionalData = &ClientMeta_Libp2PTraceDisconnected{Libp2PTraceDisconnected: v} } iNdEx = postIndex - case 21: + case 55: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconCommittee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42891,21 +53459,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconCommittee); ok { - if err := oneof.EthV1BeaconCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceHandleMetadata); ok { + if err := oneof.Libp2PTraceHandleMetadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1BeaconCommitteeDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceHandleMetadataDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1BeaconCommittee{EthV1BeaconCommittee: v} + m.AdditionalData = &ClientMeta_Libp2PTraceHandleMetadata{Libp2PTraceHandleMetadata: v} } iNdEx = postIndex - case 22: + case 56: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ValidatorAttestationData", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleStatus", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42932,21 +53500,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1ValidatorAttestationData); ok { - if err := oneof.EthV1ValidatorAttestationData.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceHandleStatus); ok { + if err := oneof.Libp2PTraceHandleStatus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1ValidatorAttestationDataDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceHandleStatusDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1ValidatorAttestationData{EthV1ValidatorAttestationData: v} + m.AdditionalData = &ClientMeta_Libp2PTraceHandleStatus{Libp2PTraceHandleStatus: v} } iNdEx = postIndex - case 24: + case 57: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestationV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -42973,21 +53541,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsAttestationV2); ok { - if err := oneof.EthV1EventsAttestationV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubBeaconBlock); ok { + if err := oneof.Libp2PTraceGossipsubBeaconBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsAttestationV2DataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsAttestationV2{EthV1EventsAttestationV2: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubBeaconBlock{Libp2PTraceGossipsubBeaconBlock: v} } iNdEx = postIndex - case 25: + case 58: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHeadV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43014,21 +53582,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsHeadV2); ok { - if err := oneof.EthV1EventsHeadV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubBeaconAttestation); ok { + if err := oneof.Libp2PTraceGossipsubBeaconAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsHeadV2DataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsHeadV2{EthV1EventsHeadV2: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubBeaconAttestation{Libp2PTraceGossipsubBeaconAttestation: v} } iNdEx = postIndex - case 26: + case 59: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBlobSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43055,21 +53623,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlockV2); ok { - if err := oneof.EthV1EventsBlockV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubBlobSidecar); ok { + if err := oneof.Libp2PTraceGossipsubBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsBlockV2DataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsBlockV2{EthV1EventsBlockV2: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubBlobSidecar{Libp2PTraceGossipsubBlobSidecar: v} } iNdEx = postIndex - case 27: + case 60: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExitV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1Validators", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43096,21 +53664,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsVoluntaryExitV2); ok { - if err := oneof.EthV1EventsVoluntaryExitV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1Validators); ok { + if err := oneof.EthV1Validators.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsVoluntaryExitV2DataFromVTPool() + v := ClientMeta_AdditionalEthV1ValidatorsDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsVoluntaryExitV2{EthV1EventsVoluntaryExitV2: v} + m.AdditionalData = &ClientMeta_EthV1Validators{EthV1Validators: v} } iNdEx = postIndex - case 28: + case 61: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpointV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MevRelayBidTraceBuilderBlockSubmission", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43137,21 +53705,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsFinalizedCheckpointV2); ok { - if err := oneof.EthV1EventsFinalizedCheckpointV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_MevRelayBidTraceBuilderBlockSubmission); ok { + if err := oneof.MevRelayBidTraceBuilderBlockSubmission.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsFinalizedCheckpointV2DataFromVTPool() + v := ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsFinalizedCheckpointV2{EthV1EventsFinalizedCheckpointV2: v} + m.AdditionalData = &ClientMeta_MevRelayBidTraceBuilderBlockSubmission{MevRelayBidTraceBuilderBlockSubmission: v} } iNdEx = postIndex - case 29: + case 62: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorgV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MevRelayPayloadDelivered", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43178,23 +53746,42 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsChainReorgV2); ok { - if err := oneof.EthV1EventsChainReorgV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_MevRelayPayloadDelivered); ok { + if err := oneof.MevRelayPayloadDelivered.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsChainReorgV2DataFromVTPool() + v := ClientMeta_AdditionalMevRelayPayloadDeliveredDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsChainReorgV2{EthV1EventsChainReorgV2: v} + m.AdditionalData = &ClientMeta_MevRelayPayloadDelivered{MevRelayPayloadDelivered: v} } iNdEx = postIndex - case 30: + case 63: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ModuleName", wireType) + } + m.ModuleName = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ModuleName |= ModuleName(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 64: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProofV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PresetName", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -43204,36 +53791,27 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsContributionAndProofV2); ok { - if err := oneof.EthV1EventsContributionAndProofV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalEthV1EventsContributionAndProofV2DataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_EthV1EventsContributionAndProofV2{EthV1EventsContributionAndProofV2: v} - } + m.PresetName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 31: + case 65: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransactionV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV3ValidatorBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43260,21 +53838,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_MempoolTransactionV2); ok { - if err := oneof.MempoolTransactionV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV3ValidatorBlock); ok { + if err := oneof.EthV3ValidatorBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalMempoolTransactionV2DataFromVTPool() + v := ClientMeta_AdditionalEthV3ValidatorBlockDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_MempoolTransactionV2{MempoolTransactionV2: v} + m.AdditionalData = &ClientMeta_EthV3ValidatorBlock{EthV3ValidatorBlock: v} } iNdEx = postIndex - case 32: + case 66: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MevRelayValidatorRegistration", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43301,21 +53879,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockV2); ok { - if err := oneof.EthV2BeaconBlockV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_MevRelayValidatorRegistration); ok { + if err := oneof.MevRelayValidatorRegistration.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockV2DataFromVTPool() + v := ClientMeta_AdditionalMevRelayValidatorRegistrationDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockV2{EthV2BeaconBlockV2: v} + m.AdditionalData = &ClientMeta_MevRelayValidatorRegistration{MevRelayValidatorRegistration: v} } iNdEx = postIndex - case 33: + case 67: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoiceV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockGossip", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43342,21 +53920,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoiceV2); ok { - if err := oneof.EthV1DebugForkChoiceV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlockGossip); ok { + if err := oneof.EthV1EventsBlockGossip.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1DebugForkChoiceV2DataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsBlockGossipDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1DebugForkChoiceV2{EthV1DebugForkChoiceV2: v} + m.AdditionalData = &ClientMeta_EthV1EventsBlockGossip{EthV1EventsBlockGossip: v} } iNdEx = postIndex - case 34: + case 68: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1DebugForkChoiceReorgV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDropRpc", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43383,21 +53961,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1DebugForkChoiceReorgV2); ok { - if err := oneof.EthV1DebugForkChoiceReorgV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDropRpc); ok { + if err := oneof.Libp2PTraceDropRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1DebugForkChoiceReOrgV2DataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceDropRPCDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1DebugForkChoiceReorgV2{EthV1DebugForkChoiceReorgV2: v} + m.AdditionalData = &ClientMeta_Libp2PTraceDropRpc{Libp2PTraceDropRpc: v} } iNdEx = postIndex - case 35: + case 69: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockAttesterSlashing", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceLeave", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43424,21 +54002,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockAttesterSlashing); ok { - if err := oneof.EthV2BeaconBlockAttesterSlashing.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceLeave); ok { + if err := oneof.Libp2PTraceLeave.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockAttesterSlashingDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceLeaveDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockAttesterSlashing{EthV2BeaconBlockAttesterSlashing: v} + m.AdditionalData = &ClientMeta_Libp2PTraceLeave{Libp2PTraceLeave: v} } iNdEx = postIndex - case 36: + case 70: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockProposerSlashing", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGraft", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43465,21 +54043,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockProposerSlashing); ok { - if err := oneof.EthV2BeaconBlockProposerSlashing.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGraft); ok { + if err := oneof.Libp2PTraceGraft.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockProposerSlashingDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGraftDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockProposerSlashing{EthV2BeaconBlockProposerSlashing: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGraft{Libp2PTraceGraft: v} } iNdEx = postIndex - case 37: + case 71: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockVoluntaryExit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePrune", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43506,21 +54084,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockVoluntaryExit); ok { - if err := oneof.EthV2BeaconBlockVoluntaryExit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTracePrune); ok { + if err := oneof.Libp2PTracePrune.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockVoluntaryExitDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTracePruneDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockVoluntaryExit{EthV2BeaconBlockVoluntaryExit: v} + m.AdditionalData = &ClientMeta_Libp2PTracePrune{Libp2PTracePrune: v} } iNdEx = postIndex - case 38: + case 72: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockDeposit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDuplicateMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43547,21 +54125,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockDeposit); ok { - if err := oneof.EthV2BeaconBlockDeposit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDuplicateMessage); ok { + if err := oneof.Libp2PTraceDuplicateMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockDepositDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceDuplicateMessageDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockDeposit{EthV2BeaconBlockDeposit: v} + m.AdditionalData = &ClientMeta_Libp2PTraceDuplicateMessage{Libp2PTraceDuplicateMessage: v} } iNdEx = postIndex - case 39: + case 73: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockBlsToExecutionChange", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDeliverMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43588,21 +54166,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockBlsToExecutionChange); ok { - if err := oneof.EthV2BeaconBlockBlsToExecutionChange.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDeliverMessage); ok { + if err := oneof.Libp2PTraceDeliverMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockBLSToExecutionChangeDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceDeliverMessageDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockBlsToExecutionChange{EthV2BeaconBlockBlsToExecutionChange: v} + m.AdditionalData = &ClientMeta_Libp2PTraceDeliverMessage{Libp2PTraceDeliverMessage: v} } iNdEx = postIndex - case 40: + case 74: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockExecutionTransaction", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePublishMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43629,21 +54207,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockExecutionTransaction); ok { - if err := oneof.EthV2BeaconBlockExecutionTransaction.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTracePublishMessage); ok { + if err := oneof.Libp2PTracePublishMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockExecutionTransactionDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTracePublishMessageDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockExecutionTransaction{EthV2BeaconBlockExecutionTransaction: v} + m.AdditionalData = &ClientMeta_Libp2PTracePublishMessage{Libp2PTracePublishMessage: v} } iNdEx = postIndex - case 41: + case 75: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockWithdrawal", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRejectMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43670,21 +54248,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockWithdrawal); ok { - if err := oneof.EthV2BeaconBlockWithdrawal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRejectMessage); ok { + if err := oneof.Libp2PTraceRejectMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockWithdrawalDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRejectMessageDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockWithdrawal{EthV2BeaconBlockWithdrawal: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRejectMessage{Libp2PTraceRejectMessage: v} } iNdEx = postIndex - case 42: + case 76: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlobSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIhave", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43711,21 +54289,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlobSidecar); ok { - if err := oneof.EthV1EventsBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlIhave); ok { + if err := oneof.Libp2PTraceRpcMetaControlIhave.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsBlobSidecarDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsBlobSidecar{EthV1EventsBlobSidecar: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlIhave{Libp2PTraceRpcMetaControlIhave: v} } iNdEx = postIndex - case 44: + case 77: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlobSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIwant", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43752,21 +54330,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconBlobSidecar); ok { - if err := oneof.EthV1BeaconBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlIwant); ok { + if err := oneof.Libp2PTraceRpcMetaControlIwant.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1BeaconBlobSidecarDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1BeaconBlobSidecar{EthV1BeaconBlobSidecar: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlIwant{Libp2PTraceRpcMetaControlIwant: v} } iNdEx = postIndex - case 45: + case 78: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BeaconP2PAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIdontwant", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43793,21 +54371,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconP2PAttestation); ok { - if err := oneof.BeaconP2PAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlIdontwant); ok { + if err := oneof.Libp2PTraceRpcMetaControlIdontwant.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalBeaconP2PAttestationDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_BeaconP2PAttestation{BeaconP2PAttestation: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlIdontwant{Libp2PTraceRpcMetaControlIdontwant: v} } iNdEx = postIndex - case 46: + case 79: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ProposerDuty", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlGraft", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43834,21 +54412,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1ProposerDuty); ok { - if err := oneof.EthV1ProposerDuty.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlGraft); ok { + if err := oneof.Libp2PTraceRpcMetaControlGraft.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1ProposerDutyDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1ProposerDuty{EthV1ProposerDuty: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlGraft{Libp2PTraceRpcMetaControlGraft: v} } iNdEx = postIndex - case 47: + case 80: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockElaboratedAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlPrune", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43875,21 +54453,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockElaboratedAttestation); ok { - if err := oneof.EthV2BeaconBlockElaboratedAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlPrune); ok { + if err := oneof.Libp2PTraceRpcMetaControlPrune.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV2BeaconBlockElaboratedAttestationDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockElaboratedAttestation{EthV2BeaconBlockElaboratedAttestation: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlPrune{Libp2PTraceRpcMetaControlPrune: v} } iNdEx = postIndex - case 48: + case 81: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceAddPeer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaSubscription", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43916,21 +54494,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceAddPeer); ok { - if err := oneof.Libp2PTraceAddPeer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaSubscription); ok { + if err := oneof.Libp2PTraceRpcMetaSubscription.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceAddPeerDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceAddPeer{Libp2PTraceAddPeer: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaSubscription{Libp2PTraceRpcMetaSubscription: v} } iNdEx = postIndex - case 49: + case 82: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRemovePeer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43957,21 +54535,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRemovePeer); ok { - if err := oneof.Libp2PTraceRemovePeer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaMessage); ok { + if err := oneof.Libp2PTraceRpcMetaMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceRemovePeerDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRPCMetaMessageDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceRemovePeer{Libp2PTraceRemovePeer: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaMessage{Libp2PTraceRpcMetaMessage: v} } iNdEx = postIndex - case 50: + case 83: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRecvRpc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeRecordConsensus", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -43998,21 +54576,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRecvRpc); ok { - if err := oneof.Libp2PTraceRecvRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_NodeRecordConsensus); ok { + if err := oneof.NodeRecordConsensus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceRecvRPCDataFromVTPool() + v := ClientMeta_AdditionalNodeRecordConsensusDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceRecvRpc{Libp2PTraceRecvRpc: v} + m.AdditionalData = &ClientMeta_NodeRecordConsensus{NodeRecordConsensus: v} } iNdEx = postIndex - case 51: + case 84: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSendRpc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubAggregateAndProof", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44039,21 +54617,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceSendRpc); ok { - if err := oneof.Libp2PTraceSendRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubAggregateAndProof); ok { + if err := oneof.Libp2PTraceGossipsubAggregateAndProof.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceSendRPCDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceSendRpc{Libp2PTraceSendRpc: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubAggregateAndProof{Libp2PTraceGossipsubAggregateAndProof: v} } iNdEx = postIndex - case 52: + case 85: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceJoin", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsDataColumnSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44080,21 +54658,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceJoin); ok { - if err := oneof.Libp2PTraceJoin.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsDataColumnSidecar); ok { + if err := oneof.EthV1EventsDataColumnSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceJoinDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsDataColumnSidecarDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceJoin{Libp2PTraceJoin: v} + m.AdditionalData = &ClientMeta_EthV1EventsDataColumnSidecar{EthV1EventsDataColumnSidecar: v} } iNdEx = postIndex - case 53: + case 86: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceConnected", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubDataColumnSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44121,21 +54699,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceConnected); ok { - if err := oneof.Libp2PTraceConnected.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubDataColumnSidecar); ok { + if err := oneof.Libp2PTraceGossipsubDataColumnSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceConnectedDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceConnected{Libp2PTraceConnected: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubDataColumnSidecar{Libp2PTraceGossipsubDataColumnSidecar: v} } iNdEx = postIndex - case 54: + case 87: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDisconnected", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSyntheticHeartbeat", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44162,21 +54740,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDisconnected); ok { - if err := oneof.Libp2PTraceDisconnected.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceSyntheticHeartbeat); ok { + if err := oneof.Libp2PTraceSyntheticHeartbeat.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceDisconnectedDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceDisconnected{Libp2PTraceDisconnected: v} + m.AdditionalData = &ClientMeta_Libp2PTraceSyntheticHeartbeat{Libp2PTraceSyntheticHeartbeat: v} } iNdEx = postIndex - case 55: + case 88: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcDataColumnCustodyProbe", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44203,21 +54781,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceHandleMetadata); ok { - if err := oneof.Libp2PTraceHandleMetadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcDataColumnCustodyProbe); ok { + if err := oneof.Libp2PTraceRpcDataColumnCustodyProbe.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceHandleMetadataDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceHandleMetadata{Libp2PTraceHandleMetadata: v} + m.AdditionalData = &ClientMeta_Libp2PTraceRpcDataColumnCustodyProbe{Libp2PTraceRpcDataColumnCustodyProbe: v} } iNdEx = postIndex - case 56: + case 89: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleStatus", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiNewPayload", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44244,21 +54822,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceHandleStatus); ok { - if err := oneof.Libp2PTraceHandleStatus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_ConsensusEngineApiNewPayload); ok { + if err := oneof.ConsensusEngineApiNewPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceHandleStatusDataFromVTPool() + v := ClientMeta_AdditionalConsensusEngineAPINewPayloadDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceHandleStatus{Libp2PTraceHandleStatus: v} + m.AdditionalData = &ClientMeta_ConsensusEngineApiNewPayload{ConsensusEngineApiNewPayload: v} } iNdEx = postIndex - case 57: + case 90: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiGetBlobs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44285,21 +54863,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubBeaconBlock); ok { - if err := oneof.Libp2PTraceGossipsubBeaconBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_ConsensusEngineApiGetBlobs); ok { + if err := oneof.ConsensusEngineApiGetBlobs.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceGossipSubBeaconBlockDataFromVTPool() + v := ClientMeta_AdditionalConsensusEngineAPIGetBlobsDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubBeaconBlock{Libp2PTraceGossipsubBeaconBlock: v} + m.AdditionalData = &ClientMeta_ConsensusEngineApiGetBlobs{ConsensusEngineApiGetBlobs: v} } iNdEx = postIndex - case 58: + case 91: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlob", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44326,21 +54904,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubBeaconAttestation); ok { - if err := oneof.Libp2PTraceGossipsubBeaconAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconBlob); ok { + if err := oneof.EthV1BeaconBlob.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceGossipSubBeaconAttestationDataFromVTPool() + v := ClientMeta_AdditionalEthV1BeaconBlobDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubBeaconAttestation{Libp2PTraceGossipsubBeaconAttestation: v} + m.AdditionalData = &ClientMeta_EthV1BeaconBlob{EthV1BeaconBlob: v} } iNdEx = postIndex - case 59: + case 92: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBlobSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconSyncCommittee", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44367,21 +54945,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubBlobSidecar); ok { - if err := oneof.Libp2PTraceGossipsubBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconSyncCommittee); ok { + if err := oneof.EthV1BeaconSyncCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceGossipSubBlobSidecarDataFromVTPool() + v := ClientMeta_AdditionalEthV1BeaconSyncCommitteeDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubBlobSidecar{Libp2PTraceGossipsubBlobSidecar: v} + m.AdditionalData = &ClientMeta_EthV1BeaconSyncCommittee{EthV1BeaconSyncCommittee: v} } iNdEx = postIndex - case 60: + case 93: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1Validators", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockSyncAggregate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44408,21 +54986,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1Validators); ok { - if err := oneof.EthV1Validators.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockSyncAggregate); ok { + if err := oneof.EthV2BeaconBlockSyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1ValidatorsDataFromVTPool() + v := ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1Validators{EthV1Validators: v} + m.AdditionalData = &ClientMeta_EthV2BeaconBlockSyncAggregate{EthV2BeaconBlockSyncAggregate: v} } iNdEx = postIndex - case 61: + case 94: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MevRelayBidTraceBuilderBlockSubmission", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceIdentify", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44449,21 +55027,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_MevRelayBidTraceBuilderBlockSubmission); ok { - if err := oneof.MevRelayBidTraceBuilderBlockSubmission.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceIdentify); ok { + if err := oneof.Libp2PTraceIdentify.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalMevRelayBidTraceBuilderBlockSubmissionDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceIdentifyDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_MevRelayBidTraceBuilderBlockSubmission{MevRelayBidTraceBuilderBlockSubmission: v} + m.AdditionalData = &ClientMeta_Libp2PTraceIdentify{Libp2PTraceIdentify: v} } iNdEx = postIndex - case 62: + case 95: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MevRelayPayloadDelivered", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFastConfirmation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44490,42 +55068,23 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_MevRelayPayloadDelivered); ok { - if err := oneof.MevRelayPayloadDelivered.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsFastConfirmation); ok { + if err := oneof.EthV1EventsFastConfirmation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalMevRelayPayloadDeliveredDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsFastConfirmationDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_MevRelayPayloadDelivered{MevRelayPayloadDelivered: v} + m.AdditionalData = &ClientMeta_EthV1EventsFastConfirmation{EthV1EventsFastConfirmation: v} } iNdEx = postIndex - case 63: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ModuleName", wireType) - } - m.ModuleName = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ModuleName |= ModuleName(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 64: + case 96: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PresetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockAccessList", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -44535,27 +55094,36 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.PresetName = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockAccessList); ok { + if err := oneof.EthV2BeaconBlockAccessList.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ClientMeta_AdditionalEthV2BeaconBlockAccessListDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ClientMeta_EthV2BeaconBlockAccessList{EthV2BeaconBlockAccessList: v} + } iNdEx = postIndex - case 65: + case 97: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV3ValidatorBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayload", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44582,21 +55150,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV3ValidatorBlock); ok { - if err := oneof.EthV3ValidatorBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayload); ok { + if err := oneof.EthV1EventsExecutionPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV3ValidatorBlockDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsExecutionPayloadDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV3ValidatorBlock{EthV3ValidatorBlock: v} + m.AdditionalData = &ClientMeta_EthV1EventsExecutionPayload{EthV1EventsExecutionPayload: v} } iNdEx = postIndex - case 66: + case 98: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MevRelayValidatorRegistration", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsPayloadAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44623,21 +55191,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_MevRelayValidatorRegistration); ok { - if err := oneof.MevRelayValidatorRegistration.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsPayloadAttestation); ok { + if err := oneof.EthV1EventsPayloadAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalMevRelayValidatorRegistrationDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsPayloadAttestationDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_MevRelayValidatorRegistration{MevRelayValidatorRegistration: v} + m.AdditionalData = &ClientMeta_EthV1EventsPayloadAttestation{EthV1EventsPayloadAttestation: v} } iNdEx = postIndex - case 67: + case 99: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockGossip", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayloadBid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44664,21 +55232,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsBlockGossip); ok { - if err := oneof.EthV1EventsBlockGossip.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayloadBid); ok { + if err := oneof.EthV1EventsExecutionPayloadBid.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalEthV1EventsBlockGossipDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsExecutionPayloadBidDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_EthV1EventsBlockGossip{EthV1EventsBlockGossip: v} + m.AdditionalData = &ClientMeta_EthV1EventsExecutionPayloadBid{EthV1EventsExecutionPayloadBid: v} } iNdEx = postIndex - case 68: + case 100: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDropRpc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsProposerPreferences", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44705,21 +55273,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDropRpc); ok { - if err := oneof.Libp2PTraceDropRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsProposerPreferences); ok { + if err := oneof.EthV1EventsProposerPreferences.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceDropRPCDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsProposerPreferencesDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceDropRpc{Libp2PTraceDropRpc: v} + m.AdditionalData = &ClientMeta_EthV1EventsProposerPreferences{EthV1EventsProposerPreferences: v} } iNdEx = postIndex - case 69: + case 101: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceLeave", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockPayloadAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44746,21 +55314,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceLeave); ok { - if err := oneof.Libp2PTraceLeave.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockPayloadAttestation); ok { + if err := oneof.EthV2BeaconBlockPayloadAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceLeaveDataFromVTPool() + v := ClientMeta_AdditionalEthV2BeaconBlockPayloadAttestationDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceLeave{Libp2PTraceLeave: v} + m.AdditionalData = &ClientMeta_EthV2BeaconBlockPayloadAttestation{EthV2BeaconBlockPayloadAttestation: v} } iNdEx = postIndex - case 70: + case 102: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGraft", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockExecutionPayloadBid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44787,21 +55355,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGraft); ok { - if err := oneof.Libp2PTraceGraft.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockExecutionPayloadBid); ok { + if err := oneof.EthV2BeaconBlockExecutionPayloadBid.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceGraftDataFromVTPool() + v := ClientMeta_AdditionalEthV2BeaconBlockExecutionPayloadBidDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceGraft{Libp2PTraceGraft: v} + m.AdditionalData = &ClientMeta_EthV2BeaconBlockExecutionPayloadBid{EthV2BeaconBlockExecutionPayloadBid: v} } iNdEx = postIndex - case 71: + case 103: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePrune", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubExecutionPayloadEnvelope", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44828,21 +55396,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTracePrune); ok { - if err := oneof.Libp2PTracePrune.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope); ok { + if err := oneof.Libp2PTraceGossipsubExecutionPayloadEnvelope.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTracePruneDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadEnvelopeDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTracePrune{Libp2PTracePrune: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubExecutionPayloadEnvelope{Libp2PTraceGossipsubExecutionPayloadEnvelope: v} } iNdEx = postIndex - case 72: + case 104: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDuplicateMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubExecutionPayloadBid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44869,21 +55437,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDuplicateMessage); ok { - if err := oneof.Libp2PTraceDuplicateMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid); ok { + if err := oneof.Libp2PTraceGossipsubExecutionPayloadBid.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceDuplicateMessageDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubExecutionPayloadBidDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceDuplicateMessage{Libp2PTraceDuplicateMessage: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubExecutionPayloadBid{Libp2PTraceGossipsubExecutionPayloadBid: v} } iNdEx = postIndex - case 73: + case 105: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDeliverMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubPayloadAttestationMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44910,21 +55478,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceDeliverMessage); ok { - if err := oneof.Libp2PTraceDeliverMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage); ok { + if err := oneof.Libp2PTraceGossipsubPayloadAttestationMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceDeliverMessageDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubPayloadAttestationMessageDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceDeliverMessage{Libp2PTraceDeliverMessage: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubPayloadAttestationMessage{Libp2PTraceGossipsubPayloadAttestationMessage: v} } iNdEx = postIndex - case 74: + case 106: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePublishMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubProposerPreferences", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44951,21 +55519,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTracePublishMessage); ok { - if err := oneof.Libp2PTracePublishMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubProposerPreferences); ok { + if err := oneof.Libp2PTraceGossipsubProposerPreferences.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTracePublishMessageDataFromVTPool() + v := ClientMeta_AdditionalLibP2PTraceGossipSubProposerPreferencesDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTracePublishMessage{Libp2PTracePublishMessage: v} + m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubProposerPreferences{Libp2PTraceGossipsubProposerPreferences: v} } iNdEx = postIndex - case 75: + case 107: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRejectMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayloadGossip", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -44992,21 +55560,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRejectMessage); ok { - if err := oneof.Libp2PTraceRejectMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayloadGossip); ok { + if err := oneof.EthV1EventsExecutionPayloadGossip.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceRejectMessageDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceRejectMessage{Libp2PTraceRejectMessage: v} + m.AdditionalData = &ClientMeta_EthV1EventsExecutionPayloadGossip{EthV1EventsExecutionPayloadGossip: v} } iNdEx = postIndex - case 76: + case 108: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIhave", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayloadAvailable", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45033,21 +55601,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlIhave); ok { - if err := oneof.Libp2PTraceRpcMetaControlIhave.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsExecutionPayloadAvailable); ok { + if err := oneof.EthV1EventsExecutionPayloadAvailable.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlIHaveDataFromVTPool() + v := ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlIhave{Libp2PTraceRpcMetaControlIhave: v} + m.AdditionalData = &ClientMeta_EthV1EventsExecutionPayloadAvailable{EthV1EventsExecutionPayloadAvailable: v} } iNdEx = postIndex - case 77: + case 109: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIwant", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconSyntheticPayloadStatusResolved", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45074,21 +55642,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlIwant); ok { - if err := oneof.Libp2PTraceRpcMetaControlIwant.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconSyntheticPayloadStatusResolved); ok { + if err := oneof.BeaconSyntheticPayloadStatusResolved.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlIWantDataFromVTPool() + v := ClientMeta_AdditionalBeaconSyntheticPayloadStatusResolvedDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlIwant{Libp2PTraceRpcMetaControlIwant: v} + m.AdditionalData = &ClientMeta_BeaconSyntheticPayloadStatusResolved{BeaconSyntheticPayloadStatusResolved: v} } iNdEx = postIndex - case 78: + case 110: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIdontwant", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconSyntheticBuilderPendingPaymentSettlement", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45115,21 +55683,21 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlIdontwant); ok { - if err := oneof.Libp2PTraceRpcMetaControlIdontwant.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement); ok { + if err := oneof.BeaconSyntheticBuilderPendingPaymentSettlement.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlIDontWantDataFromVTPool() + v := ClientMeta_AdditionalBeaconSyntheticBuilderPendingPaymentSettlementDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlIdontwant{Libp2PTraceRpcMetaControlIdontwant: v} + m.AdditionalData = &ClientMeta_BeaconSyntheticBuilderPendingPaymentSettlement{BeaconSyntheticBuilderPendingPaymentSettlement: v} } iNdEx = postIndex - case 79: + case 111: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlGraft", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconSyntheticPayloadAttestationProcessed", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45156,62 +55724,72 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlGraft); ok { - if err := oneof.Libp2PTraceRpcMetaControlGraft.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.AdditionalData.(*ClientMeta_BeaconSyntheticPayloadAttestationProcessed); ok { + if err := oneof.BeaconSyntheticPayloadAttestationProcessed.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlGraftDataFromVTPool() + v := ClientMeta_AdditionalBeaconSyntheticPayloadAttestationProcessedDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlGraft{Libp2PTraceRpcMetaControlGraft: v} + m.AdditionalData = &ClientMeta_BeaconSyntheticPayloadAttestationProcessed{BeaconSyntheticPayloadAttestationProcessed: v} } iNdEx = postIndex - case 80: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlPrune", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - if msglen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_Event) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaControlPrune); ok { - if err := oneof.Libp2PTraceRpcMetaControlPrune.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceRPCMetaControlPruneDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaControlPrune{Libp2PTraceRpcMetaControlPrune: v} + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 81: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_Event: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_Event: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaSubscription", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReceivedDateTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45238,64 +55816,69 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaSubscription); ok { - if err := oneof.Libp2PTraceRpcMetaSubscription.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceRPCMetaSubscriptionDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaSubscription{Libp2PTraceRpcMetaSubscription: v} + if m.ReceivedDateTime == nil { + m.ReceivedDateTime = ×tamppb1.Timestamp{} } - iNdEx = postIndex - case 82: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaMessage", wireType) + if err := (*timestamppb.Timestamp)(m.ReceivedDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - if msglen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcMetaMessage); ok { - if err := oneof.Libp2PTraceRpcMetaMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceRPCMetaMessageDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcMetaMessage{Libp2PTraceRpcMetaMessage: v} + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 83: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_Geo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_Geo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeRecordConsensus", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field City", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45305,38 +55888,29 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_NodeRecordConsensus); ok { - if err := oneof.NodeRecordConsensus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalNodeRecordConsensusDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_NodeRecordConsensus{NodeRecordConsensus: v} - } + m.City = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 84: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubAggregateAndProof", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Country", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45346,38 +55920,29 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubAggregateAndProof); ok { - if err := oneof.Libp2PTraceGossipsubAggregateAndProof.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceGossipSubAggregateAndProofDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubAggregateAndProof{Libp2PTraceGossipsubAggregateAndProof: v} - } + m.Country = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 85: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsDataColumnSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CountryCode", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45387,38 +55952,29 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsDataColumnSidecar); ok { - if err := oneof.EthV1EventsDataColumnSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalEthV1EventsDataColumnSidecarDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_EthV1EventsDataColumnSidecar{EthV1EventsDataColumnSidecar: v} - } + m.CountryCode = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 86: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubDataColumnSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ContinentCode", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45428,38 +55984,51 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceGossipsubDataColumnSidecar); ok { - if err := oneof.Libp2PTraceGossipsubDataColumnSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceGossipSubDataColumnSidecarDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceGossipsubDataColumnSidecar{Libp2PTraceGossipsubDataColumnSidecar: v} - } + m.ContinentCode = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 87: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSyntheticHeartbeat", wireType) + case 5: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field Latitude", wireType) } - var msglen int + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + m.Latitude = float64(math.Float64frombits(v)) + case 6: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field Longitude", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + m.Longitude = float64(math.Float64frombits(v)) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AutonomousSystemNumber", wireType) + } + m.AutonomousSystemNumber = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45469,38 +56038,16 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.AutonomousSystemNumber |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceSyntheticHeartbeat); ok { - if err := oneof.Libp2PTraceSyntheticHeartbeat.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceSyntheticHeartbeatDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceSyntheticHeartbeat{Libp2PTraceSyntheticHeartbeat: v} - } - iNdEx = postIndex - case 88: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcDataColumnCustodyProbe", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutonomousSystemOrganization", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45510,38 +56057,80 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceRpcDataColumnCustodyProbe); ok { - if err := oneof.Libp2PTraceRpcDataColumnCustodyProbe.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceRpcDataColumnCustodyProbeDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceRpcDataColumnCustodyProbe{Libp2PTraceRpcDataColumnCustodyProbe: v} - } + m.AutonomousSystemOrganization = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 89: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_Client) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_Client: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_Client: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiNewPayload", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IP", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45551,36 +56140,27 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_ConsensusEngineApiNewPayload); ok { - if err := oneof.ConsensusEngineApiNewPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalConsensusEngineAPINewPayloadDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_ConsensusEngineApiNewPayload{ConsensusEngineApiNewPayload: v} - } + m.IP = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 90: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiGetBlobs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45607,23 +56187,18 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_ConsensusEngineApiGetBlobs); ok { - if err := oneof.ConsensusEngineApiGetBlobs.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalConsensusEngineAPIGetBlobsDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_ConsensusEngineApiGetBlobs{ConsensusEngineApiGetBlobs: v} + if m.Geo == nil { + m.Geo = ServerMeta_GeoFromVTPool() + } + if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 91: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlob", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45633,38 +56208,29 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconBlob); ok { - if err := oneof.EthV1BeaconBlob.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalEthV1BeaconBlobDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_EthV1BeaconBlob{EthV1BeaconBlob: v} - } + m.Group = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 92: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconSyncCommittee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45674,36 +56240,78 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1BeaconSyncCommittee); ok { - if err := oneof.EthV1BeaconSyncCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalEthV1BeaconSyncCommitteeDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_EthV1BeaconSyncCommittee{EthV1BeaconSyncCommittee: v} - } + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 93: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_Peer) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_Peer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_Peer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockSyncAggregate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45730,21 +56338,67 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV2BeaconBlockSyncAggregate); ok { - if err := oneof.EthV2BeaconBlockSyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalEthV2BeaconBlockSyncAggregateDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_EthV2BeaconBlockSyncAggregate{EthV2BeaconBlockSyncAggregate: v} + if m.Geo == nil { + m.Geo = ServerMeta_GeoFromVTPool() + } + if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 94: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_AdditionalBeaconP2PAttestationData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_AdditionalBeaconP2PAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceIdentify", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45771,21 +56425,67 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_Libp2PTraceIdentify); ok { - if err := oneof.Libp2PTraceIdentify.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalLibP2PTraceIdentifyDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_Libp2PTraceIdentify{Libp2PTraceIdentify: v} + if m.Peer == nil { + m.Peer = ServerMeta_PeerFromVTPool() + } + if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 95: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_AdditionalLibp2PTraceConnectedData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceConnectedData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceConnectedData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFastConfirmation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45812,16 +56512,11 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ClientMeta_EthV1EventsFastConfirmation); ok { - if err := oneof.EthV1EventsFastConfirmation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ClientMeta_AdditionalEthV1EventsFastConfirmationDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ClientMeta_EthV1EventsFastConfirmation{EthV1EventsFastConfirmation: v} + if m.Peer == nil { + m.Peer = ServerMeta_PeerFromVTPool() + } + if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -45846,7 +56541,7 @@ func (m *ClientMeta) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ServerMeta_Event) UnmarshalVT(dAtA []byte) error { +func (m *ServerMeta_AdditionalLibp2PTraceDisconnectedData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -45869,15 +56564,15 @@ func (m *ServerMeta_Event) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_Event: wiretype end group for non-group") + return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceDisconnectedData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_Event: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceDisconnectedData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReceivedDateTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -45904,10 +56599,10 @@ func (m *ServerMeta_Event) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ReceivedDateTime == nil { - m.ReceivedDateTime = ×tamppb1.Timestamp{} + if m.Peer == nil { + m.Peer = ServerMeta_PeerFromVTPool() } - if err := (*timestamppb.Timestamp)(m.ReceivedDateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -45933,7 +56628,7 @@ func (m *ServerMeta_Event) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { +func (m *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -45956,17 +56651,17 @@ func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_Geo: wiretype end group for non-group") + return fmt.Errorf("proto: ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_Geo: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field City", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -45976,61 +56671,84 @@ func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.City = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Country", wireType) + if m.Peer == nil { + m.Peer = ServerMeta_PeerFromVTPool() } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.Country = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_AdditionalLibp2PTraceIdentifyData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceIdentifyData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceIdentifyData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CountryCode", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -46040,29 +56758,84 @@ func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.CountryCode = string(dAtA[iNdEx:postIndex]) + if m.Peer == nil { + m.Peer = ServerMeta_PeerFromVTPool() + } + if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordConsensusData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordConsensusData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContinentCode", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -46072,70 +56845,84 @@ func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ContinentCode = string(dAtA[iNdEx:postIndex]) + if m.Geo == nil { + m.Geo = ServerMeta_GeoFromVTPool() + } + if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 5: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field Latitude", wireType) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - var v uint64 - if (iNdEx + 8) > l { + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Latitude = float64(math.Float64frombits(v)) - case 6: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field Longitude", wireType) + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerMeta_AdditionalNodeRecordExecutionData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - var v uint64 - if (iNdEx + 8) > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Longitude = float64(math.Float64frombits(v)) - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AutonomousSystemNumber", wireType) - } - m.AutonomousSystemNumber = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AutonomousSystemNumber |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - case 8: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordExecutionData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordExecutionData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AutonomousSystemOrganization", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -46145,23 +56932,27 @@ func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.AutonomousSystemOrganization = string(dAtA[iNdEx:postIndex]) + if m.Geo == nil { + m.Geo = ServerMeta_GeoFromVTPool() + } + if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -46185,7 +56976,7 @@ func (m *ServerMeta_Geo) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ServerMeta_Client) UnmarshalVT(dAtA []byte) error { +func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -46208,17 +56999,17 @@ func (m *ServerMeta_Client) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_Client: wiretype end group for non-group") + return fmt.Errorf("proto: ServerMeta: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_Client: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ServerMeta: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field IP", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -46228,27 +57019,31 @@ func (m *ServerMeta_Client) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.IP = string(dAtA[iNdEx:postIndex]) + if m.Event == nil { + m.Event = ServerMeta_EventFromVTPool() + } + if err := m.Event.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46275,18 +57070,18 @@ func (m *ServerMeta_Client) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Geo == nil { - m.Geo = ServerMeta_GeoFromVTPool() + if m.Client == nil { + m.Client = ServerMeta_ClientFromVTPool() } - if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Client.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BEACON_P2P_ATTESTATION", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -46296,29 +57091,38 @@ func (m *ServerMeta_Client) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Group = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.AdditionalData.(*ServerMeta_BEACON_P2P_ATTESTATION); ok { + if err := oneof.BEACON_P2P_ATTESTATION.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ServerMeta_AdditionalBeaconP2PAttestationDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ServerMeta_BEACON_P2P_ATTESTATION{BEACON_P2P_ATTESTATION: v} + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_CONNECTED", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -46328,78 +57132,36 @@ func (m *ServerMeta_Client) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.User = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServerMeta_Peer) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_CONNECTED); ok { + if err := oneof.LIBP2P_TRACE_CONNECTED.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ServerMeta_AdditionalLibp2PTraceConnectedDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ServerMeta_LIBP2P_TRACE_CONNECTED{LIBP2P_TRACE_CONNECTED: v} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_Peer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_Peer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_DISCONNECTED", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46426,67 +57188,21 @@ func (m *ServerMeta_Peer) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Geo == nil { - m.Geo = ServerMeta_GeoFromVTPool() - } - if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServerMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_AdditionalBeaconP2PAttestationData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_AdditionalBeaconP2PAttestationData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_DISCONNECTED); ok { + if err := oneof.LIBP2P_TRACE_DISCONNECTED.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ServerMeta_AdditionalLibp2PTraceDisconnectedDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ServerMeta_LIBP2P_TRACE_DISCONNECTED{LIBP2P_TRACE_DISCONNECTED: v} + } + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NODE_RECORD_CONSENSUS", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46513,67 +57229,21 @@ func (m *ServerMeta_AdditionalBeaconP2PAttestationData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Peer == nil { - m.Peer = ServerMeta_PeerFromVTPool() - } - if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ServerMeta_NODE_RECORD_CONSENSUS); ok { + if err := oneof.NODE_RECORD_CONSENSUS.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ServerMeta_AdditionalNodeRecordConsensusDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ServerMeta_NODE_RECORD_CONSENSUS{NODE_RECORD_CONSENSUS: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServerMeta_AdditionalLibp2PTraceConnectedData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceConnectedData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceConnectedData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NODE_RECORD_EXECUTION", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46600,67 +57270,62 @@ func (m *ServerMeta_AdditionalLibp2PTraceConnectedData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Peer == nil { - m.Peer = ServerMeta_PeerFromVTPool() - } - if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ServerMeta_NODE_RECORD_EXECUTION); ok { + if err := oneof.NODE_RECORD_EXECUTION.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ServerMeta_AdditionalNodeRecordExecutionDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ServerMeta_NODE_RECORD_EXECUTION{NODE_RECORD_EXECUTION: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 42: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_SYNTHETIC_HEARTBEAT", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServerMeta_AdditionalLibp2PTraceDisconnectedData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT); ok { + if err := oneof.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ServerMeta_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT{LIBP2P_TRACE_SYNTHETIC_HEARTBEAT: v} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceDisconnectedData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceDisconnectedData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 43: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_IDENTIFY", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46687,11 +57352,16 @@ func (m *ServerMeta_AdditionalLibp2PTraceDisconnectedData) UnmarshalVT(dAtA []by if postIndex > l { return io.ErrUnexpectedEOF } - if m.Peer == nil { - m.Peer = ServerMeta_PeerFromVTPool() - } - if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_IDENTIFY); ok { + if err := oneof.LIBP2P_TRACE_IDENTIFY.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := ServerMeta_AdditionalLibp2PTraceIdentifyDataFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AdditionalData = &ServerMeta_LIBP2P_TRACE_IDENTIFY{LIBP2P_TRACE_IDENTIFY: v} } iNdEx = postIndex default: @@ -46716,7 +57386,7 @@ func (m *ServerMeta_AdditionalLibp2PTraceDisconnectedData) UnmarshalVT(dAtA []by } return nil } -func (m *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) UnmarshalVT(dAtA []byte) error { +func (m *Meta) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -46739,15 +57409,15 @@ func (m *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) UnmarshalVT(dAt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: wiretype end group for non-group") + return fmt.Errorf("proto: Meta: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Meta: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46774,67 +57444,16 @@ func (m *ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatData) UnmarshalVT(dAt if postIndex > l { return io.ErrUnexpectedEOF } - if m.Peer == nil { - m.Peer = ServerMeta_PeerFromVTPool() + if m.Client == nil { + m.Client = ClientMetaFromVTPool() } - if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Client.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServerMeta_AdditionalLibp2PTraceIdentifyData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceIdentifyData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_AdditionalLibp2PTraceIdentifyData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Server", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46861,10 +57480,10 @@ func (m *ServerMeta_AdditionalLibp2PTraceIdentifyData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Peer == nil { - m.Peer = ServerMeta_PeerFromVTPool() + if m.Server == nil { + m.Server = ServerMetaFromVTPool() } - if err := m.Peer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Server.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -46890,7 +57509,7 @@ func (m *ServerMeta_AdditionalLibp2PTraceIdentifyData) UnmarshalVT(dAtA []byte) } return nil } -func (m *ServerMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) error { +func (m *Event) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -46913,15 +57532,34 @@ func (m *ServerMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordConsensusData: wiretype end group for non-group") + return fmt.Errorf("proto: Event: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordConsensusData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Event: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + m.Name = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Name |= Event_Name(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DateTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -46948,69 +57586,18 @@ func (m *ServerMeta_AdditionalNodeRecordConsensusData) UnmarshalVT(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - if m.Geo == nil { - m.Geo = ServerMeta_GeoFromVTPool() + if m.DateTime == nil { + m.DateTime = ×tamppb1.Timestamp{} } - if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb.Timestamp)(m.DateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServerMeta_AdditionalNodeRecordExecutionData) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordExecutionData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta_AdditionalNodeRecordExecutionData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Geo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -47020,27 +57607,23 @@ func (m *ServerMeta_AdditionalNodeRecordExecutionData) UnmarshalVT(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Geo == nil { - m.Geo = ServerMeta_GeoFromVTPool() - } - if err := m.Geo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Id = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -47064,7 +57647,7 @@ func (m *ServerMeta_AdditionalNodeRecordExecutionData) UnmarshalVT(dAtA []byte) } return nil } -func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -47087,15 +57670,15 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServerMeta: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionBlockMetrics_StateReads: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServerMeta: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionBlockMetrics_StateReads: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47122,16 +57705,16 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Event == nil { - m.Event = ServerMeta_EventFromVTPool() + if m.Accounts == nil { + m.Accounts = &wrapperspb1.UInt64Value{} } - if err := m.Event.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Accounts).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StorageSlots", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47158,16 +57741,16 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Client == nil { - m.Client = ServerMeta_ClientFromVTPool() + if m.StorageSlots == nil { + m.StorageSlots = &wrapperspb1.UInt64Value{} } - if err := m.Client.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.StorageSlots).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BEACON_P2P_ATTESTATION", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47194,21 +57777,16 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ServerMeta_BEACON_P2P_ATTESTATION); ok { - if err := oneof.BEACON_P2P_ATTESTATION.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ServerMeta_AdditionalBeaconP2PAttestationDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ServerMeta_BEACON_P2P_ATTESTATION{BEACON_P2P_ATTESTATION: v} + if m.Code == nil { + m.Code = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Code).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_CONNECTED", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CodeBytes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47235,62 +57813,67 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_CONNECTED); ok { - if err := oneof.LIBP2P_TRACE_CONNECTED.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ServerMeta_AdditionalLibp2PTraceConnectedDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ServerMeta_LIBP2P_TRACE_CONNECTED{LIBP2P_TRACE_CONNECTED: v} + if m.CodeBytes == nil { + m.CodeBytes = &wrapperspb1.UInt64Value{} } - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_DISCONNECTED", wireType) + if err := (*wrapperspb.UInt64Value)(m.CodeBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - if msglen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_DISCONNECTED); ok { - if err := oneof.LIBP2P_TRACE_DISCONNECTED.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ServerMeta_AdditionalLibp2PTraceDisconnectedDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ServerMeta_LIBP2P_TRACE_DISCONNECTED{LIBP2P_TRACE_DISCONNECTED: v} + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 6: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecutionBlockMetrics_StateWrites: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecutionBlockMetrics_StateWrites: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NODE_RECORD_CONSENSUS", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47317,21 +57900,16 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ServerMeta_NODE_RECORD_CONSENSUS); ok { - if err := oneof.NODE_RECORD_CONSENSUS.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ServerMeta_AdditionalNodeRecordConsensusDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ServerMeta_NODE_RECORD_CONSENSUS{NODE_RECORD_CONSENSUS: v} + if m.Accounts == nil { + m.Accounts = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.Accounts).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NODE_RECORD_EXECUTION", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AccountsDeleted", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47358,21 +57936,16 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ServerMeta_NODE_RECORD_EXECUTION); ok { - if err := oneof.NODE_RECORD_EXECUTION.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ServerMeta_AdditionalNodeRecordExecutionDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ServerMeta_NODE_RECORD_EXECUTION{NODE_RECORD_EXECUTION: v} + if m.AccountsDeleted == nil { + m.AccountsDeleted = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.AccountsDeleted).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 42: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_SYNTHETIC_HEARTBEAT", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StorageSlots", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47399,21 +57972,16 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT); ok { - if err := oneof.LIBP2P_TRACE_SYNTHETIC_HEARTBEAT.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ServerMeta_AdditionalLibP2PTraceSyntheticHeartbeatDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ServerMeta_LIBP2P_TRACE_SYNTHETIC_HEARTBEAT{LIBP2P_TRACE_SYNTHETIC_HEARTBEAT: v} + if m.StorageSlots == nil { + m.StorageSlots = &wrapperspb1.UInt64Value{} + } + if err := (*wrapperspb.UInt64Value)(m.StorageSlots).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 43: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LIBP2P_TRACE_IDENTIFY", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StorageSlotsDeleted", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47440,72 +58008,16 @@ func (m *ServerMeta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AdditionalData.(*ServerMeta_LIBP2P_TRACE_IDENTIFY); ok { - if err := oneof.LIBP2P_TRACE_IDENTIFY.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := ServerMeta_AdditionalLibp2PTraceIdentifyDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AdditionalData = &ServerMeta_LIBP2P_TRACE_IDENTIFY{LIBP2P_TRACE_IDENTIFY: v} + if m.StorageSlotsDeleted == nil { + m.StorageSlotsDeleted = &wrapperspb1.UInt64Value{} } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { + if err := (*wrapperspb.UInt64Value)(m.StorageSlotsDeleted).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Meta) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Meta: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Meta: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47532,16 +58044,16 @@ func (m *Meta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Client == nil { - m.Client = ClientMetaFromVTPool() + if m.Code == nil { + m.Code = &wrapperspb1.UInt64Value{} } - if err := m.Client.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.Code).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Server", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CodeBytes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47568,10 +58080,10 @@ func (m *Meta) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Server == nil { - m.Server = ServerMetaFromVTPool() + if m.CodeBytes == nil { + m.CodeBytes = &wrapperspb1.UInt64Value{} } - if err := m.Server.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.CodeBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -47597,7 +58109,7 @@ func (m *Meta) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Event) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionBlockMetrics_CacheEntry) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -47620,17 +58132,17 @@ func (m *Event) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Event: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionBlockMetrics_CacheEntry: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Event: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionBlockMetrics_CacheEntry: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hits", wireType) } - m.Name = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -47640,14 +58152,31 @@ func (m *Event) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Name |= Event_Name(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Hits == nil { + m.Hits = &wrapperspb1.Int64Value{} + } + if err := (*wrapperspb.Int64Value)(m.Hits).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DateTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Misses", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47674,18 +58203,18 @@ func (m *Event) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DateTime == nil { - m.DateTime = ×tamppb1.Timestamp{} + if m.Misses == nil { + m.Misses = &wrapperspb1.Int64Value{} } - if err := (*timestamppb.Timestamp)(m.DateTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.Int64Value)(m.Misses).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HitRate", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -47695,23 +58224,27 @@ func (m *Event) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Id = string(dAtA[iNdEx:postIndex]) + if m.HitRate == nil { + m.HitRate = &wrapperspb1.DoubleValue{} + } + if err := (*wrapperspb.DoubleValue)(m.HitRate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -47735,7 +58268,7 @@ func (m *Event) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -47758,15 +58291,15 @@ func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionBlockMetrics_StateReads: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionBlockMetrics_CodeCacheEntry: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionBlockMetrics_StateReads: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionBlockMetrics_CodeCacheEntry: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hits", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47793,16 +58326,16 @@ func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Accounts == nil { - m.Accounts = &wrapperspb1.UInt64Value{} + if m.Hits == nil { + m.Hits = &wrapperspb1.Int64Value{} } - if err := (*wrapperspb.UInt64Value)(m.Accounts).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.Int64Value)(m.Hits).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StorageSlots", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Misses", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47829,16 +58362,16 @@ func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StorageSlots == nil { - m.StorageSlots = &wrapperspb1.UInt64Value{} + if m.Misses == nil { + m.Misses = &wrapperspb1.Int64Value{} } - if err := (*wrapperspb.UInt64Value)(m.StorageSlots).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.Int64Value)(m.Misses).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HitRate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47865,16 +58398,52 @@ func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Code == nil { - m.Code = &wrapperspb1.UInt64Value{} + if m.HitRate == nil { + m.HitRate = &wrapperspb1.DoubleValue{} } - if err := (*wrapperspb.UInt64Value)(m.Code).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.DoubleValue)(m.HitRate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CodeBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HitBytes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.HitBytes == nil { + m.HitBytes = &wrapperspb1.Int64Value{} + } + if err := (*wrapperspb.Int64Value)(m.HitBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MissBytes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -47901,10 +58470,10 @@ func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CodeBytes == nil { - m.CodeBytes = &wrapperspb1.UInt64Value{} + if m.MissBytes == nil { + m.MissBytes = &wrapperspb1.Int64Value{} } - if err := (*wrapperspb.UInt64Value)(m.CodeBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.Int64Value)(m.MissBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -47930,7 +58499,7 @@ func (m *ExecutionBlockMetrics_StateReads) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { +func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -47953,17 +58522,17 @@ func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionBlockMetrics_StateWrites: wiretype end group for non-group") + return fmt.Errorf("proto: ExecutionBlockMetrics: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionBlockMetrics_StateWrites: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExecutionBlockMetrics: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Accounts", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -47973,31 +58542,27 @@ func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Accounts == nil { - m.Accounts = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.Accounts).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Source = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountsDeleted", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48024,18 +58589,18 @@ func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.AccountsDeleted == nil { - m.AccountsDeleted = &wrapperspb1.UInt64Value{} + if m.BlockNumber == nil { + m.BlockNumber = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt64Value)(m.AccountsDeleted).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StorageSlots", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -48045,31 +58610,27 @@ func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.StorageSlots == nil { - m.StorageSlots = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.StorageSlots).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.BlockHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StorageSlotsDeleted", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48096,16 +58657,16 @@ func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StorageSlotsDeleted == nil { - m.StorageSlotsDeleted = &wrapperspb1.UInt64Value{} + if m.GasUsed == nil { + m.GasUsed = &wrapperspb1.UInt64Value{} } - if err := (*wrapperspb.UInt64Value)(m.StorageSlotsDeleted).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt64Value)(m.GasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TxCount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48132,16 +58693,16 @@ func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Code == nil { - m.Code = &wrapperspb1.UInt64Value{} + if m.TxCount == nil { + m.TxCount = &wrapperspb1.UInt32Value{} } - if err := (*wrapperspb.UInt64Value)(m.Code).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.UInt32Value)(m.TxCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CodeBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionMs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48168,67 +58729,52 @@ func (m *ExecutionBlockMetrics_StateWrites) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CodeBytes == nil { - m.CodeBytes = &wrapperspb1.UInt64Value{} + if m.ExecutionMs == nil { + m.ExecutionMs = &wrapperspb1.DoubleValue{} } - if err := (*wrapperspb.UInt64Value)(m.CodeBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.DoubleValue)(m.ExecutionMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StateReadMs", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ExecutionBlockMetrics_CacheEntry) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.StateReadMs == nil { + m.StateReadMs = &wrapperspb1.DoubleValue{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ExecutionBlockMetrics_CacheEntry: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionBlockMetrics_CacheEntry: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*wrapperspb.DoubleValue)(m.StateReadMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hits", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StateHashMs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48255,16 +58801,16 @@ func (m *ExecutionBlockMetrics_CacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Hits == nil { - m.Hits = &wrapperspb1.Int64Value{} + if m.StateHashMs == nil { + m.StateHashMs = &wrapperspb1.DoubleValue{} } - if err := (*wrapperspb.Int64Value)(m.Hits).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.DoubleValue)(m.StateHashMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Misses", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CommitMs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48291,16 +58837,16 @@ func (m *ExecutionBlockMetrics_CacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Misses == nil { - m.Misses = &wrapperspb1.Int64Value{} + if m.CommitMs == nil { + m.CommitMs = &wrapperspb1.DoubleValue{} } - if err := (*wrapperspb.Int64Value)(m.Misses).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.DoubleValue)(m.CommitMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HitRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalMs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48327,67 +58873,52 @@ func (m *ExecutionBlockMetrics_CacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.HitRate == nil { - m.HitRate = &wrapperspb1.DoubleValue{} + if m.TotalMs == nil { + m.TotalMs = &wrapperspb1.DoubleValue{} } - if err := (*wrapperspb.DoubleValue)(m.HitRate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*wrapperspb.DoubleValue)(m.TotalMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MgasPerSec", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.MgasPerSec == nil { + m.MgasPerSec = &wrapperspb1.DoubleValue{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ExecutionBlockMetrics_CodeCacheEntry: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionBlockMetrics_CodeCacheEntry: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*wrapperspb.DoubleValue)(m.MgasPerSec).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hits", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StateReads", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48414,16 +58945,16 @@ func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Hits == nil { - m.Hits = &wrapperspb1.Int64Value{} + if m.StateReads == nil { + m.StateReads = ExecutionBlockMetrics_StateReadsFromVTPool() } - if err := (*wrapperspb.Int64Value)(m.Hits).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.StateReads.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Misses", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StateWrites", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48450,16 +58981,16 @@ func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Misses == nil { - m.Misses = &wrapperspb1.Int64Value{} + if m.StateWrites == nil { + m.StateWrites = ExecutionBlockMetrics_StateWritesFromVTPool() } - if err := (*wrapperspb.Int64Value)(m.Misses).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.StateWrites.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HitRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AccountCache", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48486,16 +59017,16 @@ func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.HitRate == nil { - m.HitRate = &wrapperspb1.DoubleValue{} + if m.AccountCache == nil { + m.AccountCache = ExecutionBlockMetrics_CacheEntryFromVTPool() } - if err := (*wrapperspb.DoubleValue)(m.HitRate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.AccountCache.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HitBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StorageCache", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48522,16 +59053,16 @@ func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.HitBytes == nil { - m.HitBytes = &wrapperspb1.Int64Value{} + if m.StorageCache == nil { + m.StorageCache = ExecutionBlockMetrics_CacheEntryFromVTPool() } - if err := (*wrapperspb.Int64Value)(m.HitBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.StorageCache.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MissBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CodeCache", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48558,10 +59089,10 @@ func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.MissBytes == nil { - m.MissBytes = &wrapperspb1.Int64Value{} + if m.CodeCache == nil { + m.CodeCache = ExecutionBlockMetrics_CodeCacheEntryFromVTPool() } - if err := (*wrapperspb.Int64Value)(m.MissBytes).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.CodeCache.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -48587,7 +59118,7 @@ func (m *ExecutionBlockMetrics_CodeCacheEntry) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { +func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -48610,17 +59141,17 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ExecutionBlockMetrics: wiretype end group for non-group") + return fmt.Errorf("proto: DecoratedEvent: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ExecutionBlockMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DecoratedEvent: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -48630,27 +59161,31 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Source = string(dAtA[iNdEx:postIndex]) + if m.Event == nil { + m.Event = EventFromVTPool() + } + if err := m.Event.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48677,18 +59212,18 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.BlockNumber == nil { - m.BlockNumber = &wrapperspb1.UInt64Value{} + if m.Meta == nil { + m.Meta = MetaFromVTPool() } - if err := (*wrapperspb.UInt64Value)(m.BlockNumber).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Meta.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestation", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -48698,27 +59233,52 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlockHash = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsAttestation); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsAttestation).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsAttestation); err != nil { + return err + } + } + } else { + v := v1.AttestationFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsAttestation{EthV1EventsAttestation: v} + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GasUsed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48745,16 +59305,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.GasUsed == nil { - m.GasUsed = &wrapperspb1.UInt64Value{} - } - if err := (*wrapperspb.UInt64Value)(m.GasUsed).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlock); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsBlock).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsBlock); err != nil { + return err + } + } + } else { + v := v1.EventBlockFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsBlock{EthV1EventsBlock: v} } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxCount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorg", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48781,16 +59362,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.TxCount == nil { - m.TxCount = &wrapperspb1.UInt32Value{} - } - if err := (*wrapperspb.UInt32Value)(m.TxCount).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsChainReorg); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsChainReorg).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsChainReorg); err != nil { + return err + } + } + } else { + v := v1.EventChainReorgFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsChainReorg{EthV1EventsChainReorg: v} } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpoint", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48817,16 +59419,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ExecutionMs == nil { - m.ExecutionMs = &wrapperspb1.DoubleValue{} - } - if err := (*wrapperspb.DoubleValue)(m.ExecutionMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsFinalizedCheckpoint); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsFinalizedCheckpoint).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsFinalizedCheckpoint); err != nil { + return err + } + } + } else { + v := v1.EventFinalizedCheckpointFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsFinalizedCheckpoint{EthV1EventsFinalizedCheckpoint: v} } iNdEx = postIndex case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateReadMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHead", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48853,16 +59476,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StateReadMs == nil { - m.StateReadMs = &wrapperspb1.DoubleValue{} - } - if err := (*wrapperspb.DoubleValue)(m.StateReadMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsHead); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsHead).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsHead); err != nil { + return err + } + } + } else { + v := v1.EventHeadFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsHead{EthV1EventsHead: v} } iNdEx = postIndex case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateHashMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExit", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48889,16 +59533,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StateHashMs == nil { - m.StateHashMs = &wrapperspb1.DoubleValue{} - } - if err := (*wrapperspb.DoubleValue)(m.StateHashMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsVoluntaryExit); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsVoluntaryExit).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsVoluntaryExit); err != nil { + return err + } + } + } else { + v := v1.EventVoluntaryExitFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsVoluntaryExit{EthV1EventsVoluntaryExit: v} } iNdEx = postIndex case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CommitMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProof", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48925,18 +59590,39 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CommitMs == nil { - m.CommitMs = &wrapperspb1.DoubleValue{} - } - if err := (*wrapperspb.DoubleValue)(m.CommitMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsContributionAndProof); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsContributionAndProof).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsContributionAndProof); err != nil { + return err + } + } + } else { + v := v1.EventContributionAndProofFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsContributionAndProof{EthV1EventsContributionAndProof: v} } iNdEx = postIndex case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransaction", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -48946,31 +59632,27 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.TotalMs == nil { - m.TotalMs = &wrapperspb1.DoubleValue{} - } - if err := (*wrapperspb.DoubleValue)(m.TotalMs).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Data = &DecoratedEvent_MempoolTransaction{MempoolTransaction: string(dAtA[iNdEx:postIndex])} iNdEx = postIndex case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MgasPerSec", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -48997,16 +59679,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.MgasPerSec == nil { - m.MgasPerSec = &wrapperspb1.DoubleValue{} - } - if err := (*wrapperspb.DoubleValue)(m.MgasPerSec).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlock); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlock).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlock); err != nil { + return err + } + } + } else { + v := v2.EventBlockFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV2BeaconBlock{EthV2BeaconBlock: v} } iNdEx = postIndex case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateReads", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoice", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49033,16 +59736,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StateReads == nil { - m.StateReads = ExecutionBlockMetrics_StateReadsFromVTPool() - } - if err := m.StateReads.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoice); ok { + if unmarshal, ok := interface{}(oneof.EthV1ForkChoice).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1ForkChoice); err != nil { + return err + } + } + } else { + v := v1.ForkChoiceFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1ForkChoice{EthV1ForkChoice: v} } iNdEx = postIndex case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StateWrites", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoiceReorg", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49069,16 +59793,21 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StateWrites == nil { - m.StateWrites = ExecutionBlockMetrics_StateWritesFromVTPool() - } - if err := m.StateWrites.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoiceReorg); ok { + if err := oneof.EthV1ForkChoiceReorg.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := DebugForkChoiceReorgFromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Data = &DecoratedEvent_EthV1ForkChoiceReorg{EthV1ForkChoiceReorg: v} } iNdEx = postIndex case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountCache", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconCommittee", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49103,18 +59832,39 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { return protohelpers.ErrInvalidLength } if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.AccountCache == nil { - m.AccountCache = ExecutionBlockMetrics_CacheEntryFromVTPool() + return io.ErrUnexpectedEOF } - if err := m.AccountCache.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconCommittee); ok { + if unmarshal, ok := interface{}(oneof.EthV1BeaconCommittee).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1BeaconCommittee); err != nil { + return err + } + } + } else { + v := v1.CommitteeFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1BeaconCommittee{EthV1BeaconCommittee: v} } iNdEx = postIndex case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StorageCache", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ValidatorAttestationData", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49141,16 +59891,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StorageCache == nil { - m.StorageCache = ExecutionBlockMetrics_CacheEntryFromVTPool() - } - if err := m.StorageCache.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1ValidatorAttestationData); ok { + if unmarshal, ok := interface{}(oneof.EthV1ValidatorAttestationData).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1ValidatorAttestationData); err != nil { + return err + } + } + } else { + v := v1.AttestationDataV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1ValidatorAttestationData{EthV1ValidatorAttestationData: v} } iNdEx = postIndex case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CodeCache", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestationV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49177,67 +59948,37 @@ func (m *ExecutionBlockMetrics) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CodeCache == nil { - m.CodeCache = ExecutionBlockMetrics_CodeCacheEntryFromVTPool() - } - if err := m.CodeCache.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsAttestationV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsAttestationV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsAttestationV2); err != nil { + return err + } + } + } else { + v := v1.AttestationV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsAttestationV2{EthV1EventsAttestationV2: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: DecoratedEvent: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DecoratedEvent: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 17: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49264,16 +60005,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Event == nil { - m.Event = EventFromVTPool() - } - if err := m.Event.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlockV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsBlockV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsBlockV2); err != nil { + return err + } + } + } else { + v := v1.EventBlockV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsBlockV2{EthV1EventsBlockV2: v} } iNdEx = postIndex - case 2: + case 18: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Meta", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorgV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49300,16 +60062,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Meta == nil { - m.Meta = MetaFromVTPool() - } - if err := m.Meta.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsChainReorgV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsChainReorgV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsChainReorgV2); err != nil { + return err + } + } + } else { + v := v1.EventChainReorgV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_EthV1EventsChainReorgV2{EthV1EventsChainReorgV2: v} } iNdEx = postIndex - case 3: + case 19: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpointV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49336,21 +60119,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsAttestation); ok { - if err := oneof.EthV1EventsAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsFinalizedCheckpointV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsFinalizedCheckpointV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsFinalizedCheckpointV2); err != nil { + return err + } } } else { - v := v1.AttestationFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventFinalizedCheckpointV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsAttestation{EthV1EventsAttestation: v} + m.Data = &DecoratedEvent_EthV1EventsFinalizedCheckpointV2{EthV1EventsFinalizedCheckpointV2: v} } iNdEx = postIndex - case 4: + case 20: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHeadV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49377,21 +60176,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlock); ok { - if err := oneof.EthV1EventsBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsHeadV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsHeadV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsHeadV2); err != nil { + return err + } } } else { - v := v1.EventBlockFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventHeadV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsBlock{EthV1EventsBlock: v} + m.Data = &DecoratedEvent_EthV1EventsHeadV2{EthV1EventsHeadV2: v} } iNdEx = postIndex - case 5: + case 21: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorg", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExitV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49418,21 +60233,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsChainReorg); ok { - if err := oneof.EthV1EventsChainReorg.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsVoluntaryExitV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsVoluntaryExitV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsVoluntaryExitV2); err != nil { + return err + } } } else { - v := v1.EventChainReorgFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventVoluntaryExitV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsChainReorg{EthV1EventsChainReorg: v} + m.Data = &DecoratedEvent_EthV1EventsVoluntaryExitV2{EthV1EventsVoluntaryExitV2: v} } iNdEx = postIndex - case 6: + case 22: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpoint", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProofV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49459,23 +60290,39 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsFinalizedCheckpoint); ok { - if err := oneof.EthV1EventsFinalizedCheckpoint.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsContributionAndProofV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsContributionAndProofV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsContributionAndProofV2); err != nil { + return err + } } } else { - v := v1.EventFinalizedCheckpointFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventContributionAndProofV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsFinalizedCheckpoint{EthV1EventsFinalizedCheckpoint: v} + m.Data = &DecoratedEvent_EthV1EventsContributionAndProofV2{EthV1EventsContributionAndProofV2: v} } iNdEx = postIndex - case 7: + case 23: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHead", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransactionV2", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -49485,36 +60332,27 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsHead); ok { - if err := oneof.EthV1EventsHead.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := v1.EventHeadFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Data = &DecoratedEvent_EthV1EventsHead{EthV1EventsHead: v} - } + m.Data = &DecoratedEvent_MempoolTransactionV2{MempoolTransactionV2: string(dAtA[iNdEx:postIndex])} iNdEx = postIndex - case 8: + case 24: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49541,21 +60379,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsVoluntaryExit); ok { - if err := oneof.EthV1EventsVoluntaryExit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockV2); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockV2); err != nil { + return err + } } } else { - v := v1.EventVoluntaryExitFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v2.EventBlockV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsVoluntaryExit{EthV1EventsVoluntaryExit: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockV2{EthV2BeaconBlockV2: v} } iNdEx = postIndex - case 9: + case 25: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProof", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoiceV2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49582,23 +60436,39 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsContributionAndProof); ok { - if err := oneof.EthV1EventsContributionAndProof.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoiceV2); ok { + if unmarshal, ok := interface{}(oneof.EthV1ForkChoiceV2).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1ForkChoiceV2); err != nil { + return err + } } } else { - v := v1.EventContributionAndProofFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.ForkChoiceV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsContributionAndProof{EthV1EventsContributionAndProof: v} + m.Data = &DecoratedEvent_EthV1ForkChoiceV2{EthV1ForkChoiceV2: v} } iNdEx = postIndex - case 10: + case 26: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransaction", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoiceReorgV2", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -49608,27 +60478,36 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = &DecoratedEvent_MempoolTransaction{MempoolTransaction: string(dAtA[iNdEx:postIndex])} + if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoiceReorgV2); ok { + if err := oneof.EthV1ForkChoiceReorgV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := DebugForkChoiceReorgV2FromVTPool() + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Data = &DecoratedEvent_EthV1ForkChoiceReorgV2{EthV1ForkChoiceReorgV2: v} + } iNdEx = postIndex - case 11: + case 27: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockAttesterSlashing", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49655,21 +60534,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlock); ok { - if err := oneof.EthV2BeaconBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockAttesterSlashing); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockAttesterSlashing).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockAttesterSlashing); err != nil { + return err + } } } else { - v := v2.EventBlockFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.AttesterSlashingV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlock{EthV2BeaconBlock: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockAttesterSlashing{EthV2BeaconBlockAttesterSlashing: v} } iNdEx = postIndex - case 12: + case 28: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockProposerSlashing", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49696,21 +60591,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoice); ok { - if err := oneof.EthV1ForkChoice.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockProposerSlashing); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockProposerSlashing).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockProposerSlashing); err != nil { + return err + } } } else { - v := v1.ForkChoiceFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.ProposerSlashingV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1ForkChoice{EthV1ForkChoice: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockProposerSlashing{EthV2BeaconBlockProposerSlashing: v} } iNdEx = postIndex - case 13: + case 29: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoiceReorg", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockVoluntaryExit", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49737,21 +60648,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoiceReorg); ok { - if err := oneof.EthV1ForkChoiceReorg.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockVoluntaryExit); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockVoluntaryExit).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockVoluntaryExit); err != nil { + return err + } } } else { - v := DebugForkChoiceReorgFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.SignedVoluntaryExitV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1ForkChoiceReorg{EthV1ForkChoiceReorg: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockVoluntaryExit{EthV2BeaconBlockVoluntaryExit: v} } iNdEx = postIndex - case 14: + case 30: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconCommittee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockDeposit", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49778,21 +60705,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconCommittee); ok { - if err := oneof.EthV1BeaconCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockDeposit); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockDeposit).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockDeposit); err != nil { + return err + } } } else { - v := v1.CommitteeFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.DepositV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1BeaconCommittee{EthV1BeaconCommittee: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockDeposit{EthV2BeaconBlockDeposit: v} } iNdEx = postIndex - case 15: + case 31: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ValidatorAttestationData", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockBlsToExecutionChange", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49819,21 +60762,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1ValidatorAttestationData); ok { - if err := oneof.EthV1ValidatorAttestationData.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockBlsToExecutionChange).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockBlsToExecutionChange); err != nil { + return err + } } } else { - v := v1.AttestationDataV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v2.SignedBLSToExecutionChangeV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1ValidatorAttestationData{EthV1ValidatorAttestationData: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange{EthV2BeaconBlockBlsToExecutionChange: v} } iNdEx = postIndex - case 16: + case 32: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsAttestationV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockExecutionTransaction", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49860,21 +60819,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsAttestationV2); ok { - if err := oneof.EthV1EventsAttestationV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockExecutionTransaction); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockExecutionTransaction).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockExecutionTransaction); err != nil { + return err + } } } else { - v := v1.AttestationV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.TransactionFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsAttestationV2{EthV1EventsAttestationV2: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockExecutionTransaction{EthV2BeaconBlockExecutionTransaction: v} } iNdEx = postIndex - case 17: + case 33: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockWithdrawal", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49899,23 +60874,39 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { return protohelpers.ErrInvalidLength } if postIndex > l { - return io.ErrUnexpectedEOF - } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlockV2); ok { - if err := oneof.EthV1EventsBlockV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockWithdrawal); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockWithdrawal).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockWithdrawal); err != nil { + return err + } } } else { - v := v1.EventBlockV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.WithdrawalV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsBlockV2{EthV1EventsBlockV2: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockWithdrawal{EthV2BeaconBlockWithdrawal: v} } iNdEx = postIndex - case 18: + case 34: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsChainReorgV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlobSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49942,21 +60933,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsChainReorgV2); ok { - if err := oneof.EthV1EventsChainReorgV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlobSidecar); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsBlobSidecar).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsBlobSidecar); err != nil { + return err + } } } else { - v := v1.EventChainReorgV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventBlobSidecarFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsChainReorgV2{EthV1EventsChainReorgV2: v} + m.Data = &DecoratedEvent_EthV1EventsBlobSidecar{EthV1EventsBlobSidecar: v} } iNdEx = postIndex - case 19: + case 36: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFinalizedCheckpointV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlockBlobSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -49983,21 +60990,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsFinalizedCheckpointV2); ok { - if err := oneof.EthV1EventsFinalizedCheckpointV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconBlockBlobSidecar); ok { + if unmarshal, ok := interface{}(oneof.EthV1BeaconBlockBlobSidecar).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1BeaconBlockBlobSidecar); err != nil { + return err + } } } else { - v := v1.EventFinalizedCheckpointV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.BlobSidecarFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsFinalizedCheckpointV2{EthV1EventsFinalizedCheckpointV2: v} + m.Data = &DecoratedEvent_EthV1BeaconBlockBlobSidecar{EthV1BeaconBlockBlobSidecar: v} } iNdEx = postIndex - case 20: + case 37: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsHeadV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconP2PAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50024,21 +61047,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsHeadV2); ok { - if err := oneof.EthV1EventsHeadV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_BeaconP2PAttestation); ok { + if unmarshal, ok := interface{}(oneof.BeaconP2PAttestation).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.BeaconP2PAttestation); err != nil { + return err + } } } else { - v := v1.EventHeadV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.AttestationV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsHeadV2{EthV1EventsHeadV2: v} + m.Data = &DecoratedEvent_BeaconP2PAttestation{BeaconP2PAttestation: v} } iNdEx = postIndex - case 21: + case 38: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsVoluntaryExitV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1ProposerDuty", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50065,21 +61104,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsVoluntaryExitV2); ok { - if err := oneof.EthV1EventsVoluntaryExitV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1ProposerDuty); ok { + if unmarshal, ok := interface{}(oneof.EthV1ProposerDuty).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1ProposerDuty); err != nil { + return err + } } } else { - v := v1.EventVoluntaryExitV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.ProposerDutyFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsVoluntaryExitV2{EthV1EventsVoluntaryExitV2: v} + m.Data = &DecoratedEvent_EthV1ProposerDuty{EthV1ProposerDuty: v} } iNdEx = postIndex - case 22: + case 39: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsContributionAndProofV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockElaboratedAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50106,23 +61161,39 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsContributionAndProofV2); ok { - if err := oneof.EthV1EventsContributionAndProofV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockElaboratedAttestation); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockElaboratedAttestation).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockElaboratedAttestation); err != nil { + return err + } } } else { - v := v1.EventContributionAndProofV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.ElaboratedAttestationFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsContributionAndProofV2{EthV1EventsContributionAndProofV2: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockElaboratedAttestation{EthV2BeaconBlockElaboratedAttestation: v} } iNdEx = postIndex - case 23: + case 40: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MempoolTransactionV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceAddPeer", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -50132,27 +61203,52 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = &DecoratedEvent_MempoolTransactionV2{MempoolTransactionV2: string(dAtA[iNdEx:postIndex])} + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceAddPeer); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceAddPeer).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceAddPeer); err != nil { + return err + } + } + } else { + v := libp2p.AddPeerFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Data = &DecoratedEvent_Libp2PTraceAddPeer{Libp2PTraceAddPeer: v} + } iNdEx = postIndex - case 24: + case 41: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRemovePeer", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50179,21 +61275,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockV2); ok { - if err := oneof.EthV2BeaconBlockV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRemovePeer); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRemovePeer).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRemovePeer); err != nil { + return err + } } } else { - v := v2.EventBlockV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.RemovePeerFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockV2{EthV2BeaconBlockV2: v} + m.Data = &DecoratedEvent_Libp2PTraceRemovePeer{Libp2PTraceRemovePeer: v} } iNdEx = postIndex - case 25: + case 42: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoiceV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRecvRpc", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50220,21 +61332,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoiceV2); ok { - if err := oneof.EthV1ForkChoiceV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRecvRpc); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRecvRpc).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRecvRpc); err != nil { + return err + } } } else { - v := v1.ForkChoiceV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.RecvRPCFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1ForkChoiceV2{EthV1ForkChoiceV2: v} + m.Data = &DecoratedEvent_Libp2PTraceRecvRpc{Libp2PTraceRecvRpc: v} } iNdEx = postIndex - case 26: + case 43: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ForkChoiceReorgV2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSendRpc", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50261,21 +61389,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1ForkChoiceReorgV2); ok { - if err := oneof.EthV1ForkChoiceReorgV2.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceSendRpc); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceSendRpc).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceSendRpc); err != nil { + return err + } } } else { - v := DebugForkChoiceReorgV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.SendRPCFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1ForkChoiceReorgV2{EthV1ForkChoiceReorgV2: v} + m.Data = &DecoratedEvent_Libp2PTraceSendRpc{Libp2PTraceSendRpc: v} } iNdEx = postIndex - case 27: + case 44: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockAttesterSlashing", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceJoin", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50302,21 +61446,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockAttesterSlashing); ok { - if err := oneof.EthV2BeaconBlockAttesterSlashing.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceJoin); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceJoin).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceJoin); err != nil { + return err + } } } else { - v := v1.AttesterSlashingV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.JoinFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockAttesterSlashing{EthV2BeaconBlockAttesterSlashing: v} + m.Data = &DecoratedEvent_Libp2PTraceJoin{Libp2PTraceJoin: v} } iNdEx = postIndex - case 28: + case 45: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockProposerSlashing", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceConnected", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50343,21 +61503,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockProposerSlashing); ok { - if err := oneof.EthV2BeaconBlockProposerSlashing.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceConnected); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceConnected).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceConnected); err != nil { + return err + } } } else { - v := v1.ProposerSlashingV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.ConnectedFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockProposerSlashing{EthV2BeaconBlockProposerSlashing: v} + m.Data = &DecoratedEvent_Libp2PTraceConnected{Libp2PTraceConnected: v} } iNdEx = postIndex - case 29: + case 46: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockVoluntaryExit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDisconnected", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50384,21 +61560,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockVoluntaryExit); ok { - if err := oneof.EthV2BeaconBlockVoluntaryExit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDisconnected); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceDisconnected).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceDisconnected); err != nil { + return err + } } } else { - v := v1.SignedVoluntaryExitV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.DisconnectedFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockVoluntaryExit{EthV2BeaconBlockVoluntaryExit: v} + m.Data = &DecoratedEvent_Libp2PTraceDisconnected{Libp2PTraceDisconnected: v} } iNdEx = postIndex - case 30: + case 47: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockDeposit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50425,21 +61617,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockDeposit); ok { - if err := oneof.EthV2BeaconBlockDeposit.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceHandleMetadata); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceHandleMetadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceHandleMetadata); err != nil { + return err + } } } else { - v := v1.DepositV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.HandleMetadataFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockDeposit{EthV2BeaconBlockDeposit: v} + m.Data = &DecoratedEvent_Libp2PTraceHandleMetadata{Libp2PTraceHandleMetadata: v} } iNdEx = postIndex - case 31: + case 48: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockBlsToExecutionChange", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleStatus", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50466,21 +61674,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange); ok { - if err := oneof.EthV2BeaconBlockBlsToExecutionChange.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceHandleStatus); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceHandleStatus).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceHandleStatus); err != nil { + return err + } } } else { - v := v2.SignedBLSToExecutionChangeV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.HandleStatusFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockBlsToExecutionChange{EthV2BeaconBlockBlsToExecutionChange: v} + m.Data = &DecoratedEvent_Libp2PTraceHandleStatus{Libp2PTraceHandleStatus: v} } iNdEx = postIndex - case 32: + case 49: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockExecutionTransaction", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50507,21 +61731,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockExecutionTransaction); ok { - if err := oneof.EthV2BeaconBlockExecutionTransaction.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubBeaconBlock); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubBeaconBlock).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubBeaconBlock); err != nil { + return err + } } } else { - v := v1.TransactionFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := gossipsub.BeaconBlockFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockExecutionTransaction{EthV2BeaconBlockExecutionTransaction: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubBeaconBlock{Libp2PTraceGossipsubBeaconBlock: v} } iNdEx = postIndex - case 33: + case 50: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockWithdrawal", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50548,21 +61788,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockWithdrawal); ok { - if err := oneof.EthV2BeaconBlockWithdrawal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubBeaconAttestation).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubBeaconAttestation); err != nil { + return err + } } } else { - v := v1.WithdrawalV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.AttestationFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockWithdrawal{EthV2BeaconBlockWithdrawal: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation{Libp2PTraceGossipsubBeaconAttestation: v} } iNdEx = postIndex - case 34: + case 51: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlobSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBlobSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50589,21 +61845,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlobSidecar); ok { - if err := oneof.EthV1EventsBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubBlobSidecar); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubBlobSidecar).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubBlobSidecar); err != nil { + return err + } } } else { - v := v1.EventBlobSidecarFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := gossipsub.BlobSidecarFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsBlobSidecar{EthV1EventsBlobSidecar: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubBlobSidecar{Libp2PTraceGossipsubBlobSidecar: v} } iNdEx = postIndex - case 36: + case 52: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlockBlobSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1Validators", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50630,21 +61902,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconBlockBlobSidecar); ok { - if err := oneof.EthV1BeaconBlockBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_EthV1Validators); ok { + if err := oneof.EthV1Validators.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := v1.BlobSidecarFromVTPool() + v := ValidatorsFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_EthV1BeaconBlockBlobSidecar{EthV1BeaconBlockBlobSidecar: v} + m.Data = &DecoratedEvent_EthV1Validators{EthV1Validators: v} } iNdEx = postIndex - case 37: + case 53: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BeaconP2PAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MevRelayBidTraceBuilderBlockSubmission", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50671,21 +61943,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_BeaconP2PAttestation); ok { - if err := oneof.BeaconP2PAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission); ok { + if unmarshal, ok := interface{}(oneof.MevRelayBidTraceBuilderBlockSubmission).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.MevRelayBidTraceBuilderBlockSubmission); err != nil { + return err + } } } else { - v := v1.AttestationV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := mevrelay.BidTraceFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_BeaconP2PAttestation{BeaconP2PAttestation: v} + m.Data = &DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission{MevRelayBidTraceBuilderBlockSubmission: v} } iNdEx = postIndex - case 38: + case 54: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1ProposerDuty", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MevRelayPayloadDelivered", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50712,21 +62000,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1ProposerDuty); ok { - if err := oneof.EthV1ProposerDuty.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_MevRelayPayloadDelivered); ok { + if unmarshal, ok := interface{}(oneof.MevRelayPayloadDelivered).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.MevRelayPayloadDelivered); err != nil { + return err + } } } else { - v := v1.ProposerDutyFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := mevrelay.ProposerPayloadDeliveredFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1ProposerDuty{EthV1ProposerDuty: v} + m.Data = &DecoratedEvent_MevRelayPayloadDelivered{MevRelayPayloadDelivered: v} } iNdEx = postIndex - case 39: + case 55: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockElaboratedAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV3ValidatorBlock", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50753,21 +62057,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockElaboratedAttestation); ok { - if err := oneof.EthV2BeaconBlockElaboratedAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV3ValidatorBlock); ok { + if unmarshal, ok := interface{}(oneof.EthV3ValidatorBlock).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV3ValidatorBlock); err != nil { + return err + } } } else { - v := v1.ElaboratedAttestationFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v2.EventBlockV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockElaboratedAttestation{EthV2BeaconBlockElaboratedAttestation: v} + m.Data = &DecoratedEvent_EthV3ValidatorBlock{EthV3ValidatorBlock: v} } iNdEx = postIndex - case 40: + case 56: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceAddPeer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MevRelayValidatorRegistration", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50794,21 +62114,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceAddPeer); ok { - if err := oneof.Libp2PTraceAddPeer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_MevRelayValidatorRegistration); ok { + if unmarshal, ok := interface{}(oneof.MevRelayValidatorRegistration).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.MevRelayValidatorRegistration); err != nil { + return err + } } } else { - v := libp2p.AddPeerFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := mevrelay.ValidatorRegistrationFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceAddPeer{Libp2PTraceAddPeer: v} + m.Data = &DecoratedEvent_MevRelayValidatorRegistration{MevRelayValidatorRegistration: v} } iNdEx = postIndex - case 41: + case 57: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRemovePeer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockGossip", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50835,21 +62171,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRemovePeer); ok { - if err := oneof.Libp2PTraceRemovePeer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlockGossip); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsBlockGossip).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsBlockGossip); err != nil { + return err + } } } else { - v := libp2p.RemovePeerFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventBlockGossipFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceRemovePeer{Libp2PTraceRemovePeer: v} + m.Data = &DecoratedEvent_EthV1EventsBlockGossip{EthV1EventsBlockGossip: v} } iNdEx = postIndex - case 42: + case 58: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRecvRpc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDropRpc", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50876,21 +62228,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRecvRpc); ok { - if err := oneof.Libp2PTraceRecvRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDropRpc); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceDropRpc).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceDropRpc); err != nil { + return err + } } } else { - v := libp2p.RecvRPCFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.DropRPCFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceRecvRpc{Libp2PTraceRecvRpc: v} + m.Data = &DecoratedEvent_Libp2PTraceDropRpc{Libp2PTraceDropRpc: v} } iNdEx = postIndex - case 43: + case 59: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSendRpc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceLeave", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50917,21 +62285,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceSendRpc); ok { - if err := oneof.Libp2PTraceSendRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceLeave); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceLeave).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceLeave); err != nil { + return err + } } } else { - v := libp2p.SendRPCFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.LeaveFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceSendRpc{Libp2PTraceSendRpc: v} + m.Data = &DecoratedEvent_Libp2PTraceLeave{Libp2PTraceLeave: v} } iNdEx = postIndex - case 44: + case 60: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceJoin", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGraft", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50958,21 +62342,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceJoin); ok { - if err := oneof.Libp2PTraceJoin.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGraft); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGraft).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGraft); err != nil { + return err + } } } else { - v := libp2p.JoinFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.GraftFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceJoin{Libp2PTraceJoin: v} + m.Data = &DecoratedEvent_Libp2PTraceGraft{Libp2PTraceGraft: v} } iNdEx = postIndex - case 45: + case 61: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceConnected", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePrune", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50999,21 +62399,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceConnected); ok { - if err := oneof.Libp2PTraceConnected.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTracePrune); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTracePrune).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTracePrune); err != nil { + return err + } } } else { - v := libp2p.ConnectedFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.PruneFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceConnected{Libp2PTraceConnected: v} + m.Data = &DecoratedEvent_Libp2PTracePrune{Libp2PTracePrune: v} } iNdEx = postIndex - case 46: + case 62: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDisconnected", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDuplicateMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51040,21 +62456,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDisconnected); ok { - if err := oneof.Libp2PTraceDisconnected.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDuplicateMessage); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceDuplicateMessage).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceDuplicateMessage); err != nil { + return err + } } } else { - v := libp2p.DisconnectedFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.DuplicateMessageFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceDisconnected{Libp2PTraceDisconnected: v} + m.Data = &DecoratedEvent_Libp2PTraceDuplicateMessage{Libp2PTraceDuplicateMessage: v} } iNdEx = postIndex - case 47: + case 63: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDeliverMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51081,21 +62513,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceHandleMetadata); ok { - if err := oneof.Libp2PTraceHandleMetadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDeliverMessage); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceDeliverMessage).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceDeliverMessage); err != nil { + return err + } } } else { - v := libp2p.HandleMetadataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.DeliverMessageFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceHandleMetadata{Libp2PTraceHandleMetadata: v} + m.Data = &DecoratedEvent_Libp2PTraceDeliverMessage{Libp2PTraceDeliverMessage: v} } iNdEx = postIndex - case 48: + case 64: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceHandleStatus", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePublishMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51122,21 +62570,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceHandleStatus); ok { - if err := oneof.Libp2PTraceHandleStatus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTracePublishMessage); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTracePublishMessage).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTracePublishMessage); err != nil { + return err + } } } else { - v := libp2p.HandleStatusFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.PublishMessageFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceHandleStatus{Libp2PTraceHandleStatus: v} + m.Data = &DecoratedEvent_Libp2PTracePublishMessage{Libp2PTracePublishMessage: v} } iNdEx = postIndex - case 49: + case 65: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRejectMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51163,21 +62627,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubBeaconBlock); ok { - if err := oneof.Libp2PTraceGossipsubBeaconBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRejectMessage); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRejectMessage).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRejectMessage); err != nil { + return err + } } } else { - v := gossipsub.BeaconBlockFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.RejectMessageFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceGossipsubBeaconBlock{Libp2PTraceGossipsubBeaconBlock: v} + m.Data = &DecoratedEvent_Libp2PTraceRejectMessage{Libp2PTraceRejectMessage: v} } iNdEx = postIndex - case 50: + case 66: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBeaconAttestation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIhave", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51204,21 +62684,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation); ok { - if err := oneof.Libp2PTraceGossipsubBeaconAttestation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlIhave); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcMetaControlIhave).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcMetaControlIhave); err != nil { + return err + } } } else { - v := v1.AttestationFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.ControlIHaveMetaItemFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceGossipsubBeaconAttestation{Libp2PTraceGossipsubBeaconAttestation: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlIhave{Libp2PTraceRpcMetaControlIhave: v} } iNdEx = postIndex - case 51: + case 67: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubBlobSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIwant", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51245,21 +62741,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubBlobSidecar); ok { - if err := oneof.Libp2PTraceGossipsubBlobSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlIwant); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcMetaControlIwant).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcMetaControlIwant); err != nil { + return err + } } } else { - v := gossipsub.BlobSidecarFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.ControlIWantMetaItemFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceGossipsubBlobSidecar{Libp2PTraceGossipsubBlobSidecar: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlIwant{Libp2PTraceRpcMetaControlIwant: v} } iNdEx = postIndex - case 52: + case 68: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1Validators", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIdontwant", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51286,21 +62798,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1Validators); ok { - if err := oneof.EthV1Validators.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcMetaControlIdontwant).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcMetaControlIdontwant); err != nil { + return err + } } } else { - v := ValidatorsFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.ControlIDontWantMetaItemFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1Validators{EthV1Validators: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant{Libp2PTraceRpcMetaControlIdontwant: v} } iNdEx = postIndex - case 53: + case 69: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MevRelayBidTraceBuilderBlockSubmission", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlGraft", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51327,21 +62855,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission); ok { - if err := oneof.MevRelayBidTraceBuilderBlockSubmission.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlGraft); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcMetaControlGraft).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcMetaControlGraft); err != nil { + return err + } } } else { - v := mevrelay.BidTraceFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.ControlGraftMetaItemFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_MevRelayBidTraceBuilderBlockSubmission{MevRelayBidTraceBuilderBlockSubmission: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlGraft{Libp2PTraceRpcMetaControlGraft: v} } iNdEx = postIndex - case 54: + case 70: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MevRelayPayloadDelivered", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlPrune", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51368,21 +62912,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_MevRelayPayloadDelivered); ok { - if err := oneof.MevRelayPayloadDelivered.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlPrune); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcMetaControlPrune).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcMetaControlPrune); err != nil { + return err + } } } else { - v := mevrelay.ProposerPayloadDeliveredFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.ControlPruneMetaItemFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_MevRelayPayloadDelivered{MevRelayPayloadDelivered: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlPrune{Libp2PTraceRpcMetaControlPrune: v} } iNdEx = postIndex - case 55: + case 71: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV3ValidatorBlock", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaSubscription", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51409,21 +62969,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV3ValidatorBlock); ok { - if err := oneof.EthV3ValidatorBlock.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaSubscription); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcMetaSubscription).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcMetaSubscription); err != nil { + return err + } } } else { - v := v2.EventBlockV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.SubMetaItemFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV3ValidatorBlock{EthV3ValidatorBlock: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcMetaSubscription{Libp2PTraceRpcMetaSubscription: v} } iNdEx = postIndex - case 56: + case 72: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MevRelayValidatorRegistration", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51450,21 +63026,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_MevRelayValidatorRegistration); ok { - if err := oneof.MevRelayValidatorRegistration.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaMessage); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcMetaMessage).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcMetaMessage); err != nil { + return err + } } } else { - v := mevrelay.ValidatorRegistrationFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.MessageMetaItemFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_MevRelayValidatorRegistration{MevRelayValidatorRegistration: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcMetaMessage{Libp2PTraceRpcMetaMessage: v} } iNdEx = postIndex - case 57: + case 73: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsBlockGossip", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeRecordConsensus", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51491,21 +63083,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsBlockGossip); ok { - if err := oneof.EthV1EventsBlockGossip.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_NodeRecordConsensus); ok { + if unmarshal, ok := interface{}(oneof.NodeRecordConsensus).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.NodeRecordConsensus); err != nil { + return err + } } } else { - v := v1.EventBlockGossipFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := noderecord.ConsensusFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsBlockGossip{EthV1EventsBlockGossip: v} + m.Data = &DecoratedEvent_NodeRecordConsensus{NodeRecordConsensus: v} } iNdEx = postIndex - case 58: + case 74: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDropRpc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeRecordExecution", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51532,21 +63140,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDropRpc); ok { - if err := oneof.Libp2PTraceDropRpc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_NodeRecordExecution); ok { + if unmarshal, ok := interface{}(oneof.NodeRecordExecution).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.NodeRecordExecution); err != nil { + return err + } } } else { - v := libp2p.DropRPCFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := noderecord.ExecutionFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceDropRpc{Libp2PTraceDropRpc: v} + m.Data = &DecoratedEvent_NodeRecordExecution{NodeRecordExecution: v} } iNdEx = postIndex - case 59: + case 75: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceLeave", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubAggregateAndProof", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51573,21 +63197,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceLeave); ok { - if err := oneof.Libp2PTraceLeave.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubAggregateAndProof).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubAggregateAndProof); err != nil { + return err + } } } else { - v := libp2p.LeaveFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.SignedAggregateAttestationAndProofV2FromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceLeave{Libp2PTraceLeave: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof{Libp2PTraceGossipsubAggregateAndProof: v} } iNdEx = postIndex - case 60: + case 76: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGraft", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsDataColumnSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51614,21 +63254,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGraft); ok { - if err := oneof.Libp2PTraceGraft.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsDataColumnSidecar); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsDataColumnSidecar).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsDataColumnSidecar); err != nil { + return err + } } } else { - v := libp2p.GraftFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventDataColumnSidecarFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceGraft{Libp2PTraceGraft: v} + m.Data = &DecoratedEvent_EthV1EventsDataColumnSidecar{EthV1EventsDataColumnSidecar: v} } iNdEx = postIndex - case 61: + case 77: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePrune", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubDataColumnSidecar", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51655,21 +63311,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTracePrune); ok { - if err := oneof.Libp2PTracePrune.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubDataColumnSidecar).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubDataColumnSidecar); err != nil { + return err + } } } else { - v := libp2p.PruneFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := gossipsub.DataColumnSidecarFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTracePrune{Libp2PTracePrune: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar{Libp2PTraceGossipsubDataColumnSidecar: v} } iNdEx = postIndex - case 62: + case 78: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDuplicateMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSyntheticHeartbeat", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51696,21 +63368,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDuplicateMessage); ok { - if err := oneof.Libp2PTraceDuplicateMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceSyntheticHeartbeat); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceSyntheticHeartbeat).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceSyntheticHeartbeat); err != nil { + return err + } } } else { - v := libp2p.DuplicateMessageFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.SyntheticHeartbeatFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceDuplicateMessage{Libp2PTraceDuplicateMessage: v} + m.Data = &DecoratedEvent_Libp2PTraceSyntheticHeartbeat{Libp2PTraceSyntheticHeartbeat: v} } iNdEx = postIndex - case 63: + case 79: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceDeliverMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceIdentify", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51737,21 +63425,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceDeliverMessage); ok { - if err := oneof.Libp2PTraceDeliverMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceIdentify); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceIdentify).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceIdentify); err != nil { + return err + } } } else { - v := libp2p.DeliverMessageFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.IdentifyFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceDeliverMessage{Libp2PTraceDeliverMessage: v} + m.Data = &DecoratedEvent_Libp2PTraceIdentify{Libp2PTraceIdentify: v} } iNdEx = postIndex - case 64: + case 200: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTracePublishMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcDataColumnCustodyProbe", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51778,21 +63482,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTracePublishMessage); ok { - if err := oneof.Libp2PTracePublishMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceRpcDataColumnCustodyProbe).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceRpcDataColumnCustodyProbe); err != nil { + return err + } } } else { - v := libp2p.PublishMessageFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := libp2p.DataColumnCustodyProbeFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTracePublishMessage{Libp2PTracePublishMessage: v} + m.Data = &DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe{Libp2PTraceRpcDataColumnCustodyProbe: v} } iNdEx = postIndex - case 65: + case 201: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRejectMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionStateSize", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51819,21 +63539,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRejectMessage); ok { - if err := oneof.Libp2PTraceRejectMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_ExecutionStateSize); ok { + if err := oneof.ExecutionStateSize.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := libp2p.RejectMessageFromVTPool() + v := ExecutionStateSizeFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_Libp2PTraceRejectMessage{Libp2PTraceRejectMessage: v} + m.Data = &DecoratedEvent_ExecutionStateSize{ExecutionStateSize: v} } iNdEx = postIndex - case 66: + case 202: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIhave", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiNewPayload", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51860,21 +63580,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlIhave); ok { - if err := oneof.Libp2PTraceRpcMetaControlIhave.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_ConsensusEngineApiNewPayload); ok { + if err := oneof.ConsensusEngineApiNewPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := libp2p.ControlIHaveMetaItemFromVTPool() + v := ConsensusEngineAPINewPayloadFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlIhave{Libp2PTraceRpcMetaControlIhave: v} + m.Data = &DecoratedEvent_ConsensusEngineApiNewPayload{ConsensusEngineApiNewPayload: v} } iNdEx = postIndex - case 67: + case 203: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIwant", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiGetBlobs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51901,21 +63621,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlIwant); ok { - if err := oneof.Libp2PTraceRpcMetaControlIwant.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_ConsensusEngineApiGetBlobs); ok { + if err := oneof.ConsensusEngineApiGetBlobs.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := libp2p.ControlIWantMetaItemFromVTPool() + v := ConsensusEngineAPIGetBlobsFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlIwant{Libp2PTraceRpcMetaControlIwant: v} + m.Data = &DecoratedEvent_ConsensusEngineApiGetBlobs{ConsensusEngineApiGetBlobs: v} } iNdEx = postIndex - case 68: + case 204: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlIdontwant", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionEngineNewPayload", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51942,21 +63662,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant); ok { - if err := oneof.Libp2PTraceRpcMetaControlIdontwant.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_ExecutionEngineNewPayload); ok { + if err := oneof.ExecutionEngineNewPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := libp2p.ControlIDontWantMetaItemFromVTPool() + v := ExecutionEngineNewPayloadFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlIdontwant{Libp2PTraceRpcMetaControlIdontwant: v} + m.Data = &DecoratedEvent_ExecutionEngineNewPayload{ExecutionEngineNewPayload: v} } iNdEx = postIndex - case 69: + case 205: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlGraft", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionEngineGetBlobs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51983,21 +63703,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlGraft); ok { - if err := oneof.Libp2PTraceRpcMetaControlGraft.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_ExecutionEngineGetBlobs); ok { + if err := oneof.ExecutionEngineGetBlobs.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := libp2p.ControlGraftMetaItemFromVTPool() + v := ExecutionEngineGetBlobsFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlGraft{Libp2PTraceRpcMetaControlGraft: v} + m.Data = &DecoratedEvent_ExecutionEngineGetBlobs{ExecutionEngineGetBlobs: v} } iNdEx = postIndex - case 70: + case 206: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaControlPrune", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlob", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52024,21 +63744,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaControlPrune); ok { - if err := oneof.Libp2PTraceRpcMetaControlPrune.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconBlob); ok { + if unmarshal, ok := interface{}(oneof.EthV1BeaconBlob).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1BeaconBlob); err != nil { + return err + } } } else { - v := libp2p.ControlPruneMetaItemFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.BlobFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceRpcMetaControlPrune{Libp2PTraceRpcMetaControlPrune: v} + m.Data = &DecoratedEvent_EthV1BeaconBlob{EthV1BeaconBlob: v} } iNdEx = postIndex - case 71: + case 207: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaSubscription", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconSyncCommittee", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52065,21 +63801,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaSubscription); ok { - if err := oneof.Libp2PTraceRpcMetaSubscription.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconSyncCommittee); ok { + if err := oneof.EthV1BeaconSyncCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := libp2p.SubMetaItemFromVTPool() + v := SyncCommitteeDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_Libp2PTraceRpcMetaSubscription{Libp2PTraceRpcMetaSubscription: v} + m.Data = &DecoratedEvent_EthV1BeaconSyncCommittee{EthV1BeaconSyncCommittee: v} } iNdEx = postIndex - case 72: + case 208: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcMetaMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockSyncAggregate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52106,21 +63842,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcMetaMessage); ok { - if err := oneof.Libp2PTraceRpcMetaMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockSyncAggregate); ok { + if err := oneof.EthV2BeaconBlockSyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := libp2p.MessageMetaItemFromVTPool() + v := SyncAggregateDataFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_Libp2PTraceRpcMetaMessage{Libp2PTraceRpcMetaMessage: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockSyncAggregate{EthV2BeaconBlockSyncAggregate: v} } iNdEx = postIndex - case 73: + case 209: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeRecordConsensus", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ExecutionBlockMetrics", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52147,21 +63883,21 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_NodeRecordConsensus); ok { - if err := oneof.NodeRecordConsensus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Data.(*DecoratedEvent_ExecutionBlockMetrics); ok { + if err := oneof.ExecutionBlockMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := noderecord.ConsensusFromVTPool() + v := ExecutionBlockMetricsFromVTPool() if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Data = &DecoratedEvent_NodeRecordConsensus{NodeRecordConsensus: v} + m.Data = &DecoratedEvent_ExecutionBlockMetrics{ExecutionBlockMetrics: v} } iNdEx = postIndex - case 74: + case 210: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeRecordExecution", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFastConfirmation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52188,21 +63924,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_NodeRecordExecution); ok { - if err := oneof.NodeRecordExecution.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsFastConfirmation); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsFastConfirmation).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsFastConfirmation); err != nil { + return err + } } } else { - v := noderecord.ExecutionFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.EventFastConfirmationFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_NodeRecordExecution{NodeRecordExecution: v} + m.Data = &DecoratedEvent_EthV1EventsFastConfirmation{EthV1EventsFastConfirmation: v} } iNdEx = postIndex - case 75: + case 211: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubAggregateAndProof", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockAccessList", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52229,21 +63981,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof); ok { - if err := oneof.Libp2PTraceGossipsubAggregateAndProof.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockAccessList); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockAccessList).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockAccessList); err != nil { + return err + } } } else { - v := v1.SignedAggregateAttestationAndProofV2FromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.BlockAccessListChangeFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceGossipsubAggregateAndProof{Libp2PTraceGossipsubAggregateAndProof: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockAccessList{EthV2BeaconBlockAccessList: v} } iNdEx = postIndex - case 76: + case 212: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsDataColumnSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayload", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52270,21 +64038,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsDataColumnSidecar); ok { - if err := oneof.EthV1EventsDataColumnSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayload); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsExecutionPayload).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsExecutionPayload); err != nil { + return err + } } } else { - v := v1.EventDataColumnSidecarFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.SignedExecutionPayloadEnvelopeFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsDataColumnSidecar{EthV1EventsDataColumnSidecar: v} + m.Data = &DecoratedEvent_EthV1EventsExecutionPayload{EthV1EventsExecutionPayload: v} } iNdEx = postIndex - case 77: + case 213: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubDataColumnSidecar", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsPayloadAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52311,21 +64095,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar); ok { - if err := oneof.Libp2PTraceGossipsubDataColumnSidecar.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsPayloadAttestation); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsPayloadAttestation).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsPayloadAttestation); err != nil { + return err + } } } else { - v := gossipsub.DataColumnSidecarFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.PayloadAttestationMessageFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceGossipsubDataColumnSidecar{Libp2PTraceGossipsubDataColumnSidecar: v} + m.Data = &DecoratedEvent_EthV1EventsPayloadAttestation{EthV1EventsPayloadAttestation: v} } iNdEx = postIndex - case 78: + case 214: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceSyntheticHeartbeat", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayloadBid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52352,21 +64152,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceSyntheticHeartbeat); ok { - if err := oneof.Libp2PTraceSyntheticHeartbeat.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayloadBid); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsExecutionPayloadBid).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsExecutionPayloadBid); err != nil { + return err + } } } else { - v := libp2p.SyntheticHeartbeatFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.SignedExecutionPayloadBidFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceSyntheticHeartbeat{Libp2PTraceSyntheticHeartbeat: v} + m.Data = &DecoratedEvent_EthV1EventsExecutionPayloadBid{EthV1EventsExecutionPayloadBid: v} } iNdEx = postIndex - case 79: + case 215: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceIdentify", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsProposerPreferences", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52393,21 +64209,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceIdentify); ok { - if err := oneof.Libp2PTraceIdentify.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsProposerPreferences); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsProposerPreferences).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsProposerPreferences); err != nil { + return err + } } } else { - v := libp2p.IdentifyFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.SignedProposerPreferencesFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceIdentify{Libp2PTraceIdentify: v} + m.Data = &DecoratedEvent_EthV1EventsProposerPreferences{EthV1EventsProposerPreferences: v} } iNdEx = postIndex - case 200: + case 216: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceRpcDataColumnCustodyProbe", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockPayloadAttestation", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52434,21 +64266,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe); ok { - if err := oneof.Libp2PTraceRpcDataColumnCustodyProbe.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockPayloadAttestation); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockPayloadAttestation).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockPayloadAttestation); err != nil { + return err + } } } else { - v := libp2p.DataColumnCustodyProbeFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.PayloadAttestationFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_Libp2PTraceRpcDataColumnCustodyProbe{Libp2PTraceRpcDataColumnCustodyProbe: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockPayloadAttestation{EthV2BeaconBlockPayloadAttestation: v} } iNdEx = postIndex - case 201: + case 217: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionStateSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockExecutionPayloadBid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52475,21 +64323,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_ExecutionStateSize); ok { - if err := oneof.ExecutionStateSize.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid); ok { + if unmarshal, ok := interface{}(oneof.EthV2BeaconBlockExecutionPayloadBid).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV2BeaconBlockExecutionPayloadBid); err != nil { + return err + } } } else { - v := ExecutionStateSizeFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.SignedExecutionPayloadBidFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_ExecutionStateSize{ExecutionStateSize: v} + m.Data = &DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid{EthV2BeaconBlockExecutionPayloadBid: v} } iNdEx = postIndex - case 202: + case 218: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiNewPayload", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubExecutionPayloadEnvelope", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52516,21 +64380,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_ConsensusEngineApiNewPayload); ok { - if err := oneof.ConsensusEngineApiNewPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubExecutionPayloadEnvelope).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubExecutionPayloadEnvelope); err != nil { + return err + } } } else { - v := ConsensusEngineAPINewPayloadFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := gossipsub.ExecutionPayloadEnvelopeFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_ConsensusEngineApiNewPayload{ConsensusEngineApiNewPayload: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope{Libp2PTraceGossipsubExecutionPayloadEnvelope: v} } iNdEx = postIndex - case 203: + case 219: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusEngineApiGetBlobs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubExecutionPayloadBid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52557,21 +64437,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_ConsensusEngineApiGetBlobs); ok { - if err := oneof.ConsensusEngineApiGetBlobs.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubExecutionPayloadBid).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubExecutionPayloadBid); err != nil { + return err + } } } else { - v := ConsensusEngineAPIGetBlobsFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := gossipsub.ExecutionPayloadBidFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_ConsensusEngineApiGetBlobs{ConsensusEngineApiGetBlobs: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid{Libp2PTraceGossipsubExecutionPayloadBid: v} } iNdEx = postIndex - case 204: + case 220: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionEngineNewPayload", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubPayloadAttestationMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52598,21 +64494,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_ExecutionEngineNewPayload); ok { - if err := oneof.ExecutionEngineNewPayload.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubPayloadAttestationMessage).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubPayloadAttestationMessage); err != nil { + return err + } } } else { - v := ExecutionEngineNewPayloadFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := gossipsub.PayloadAttestationMessageFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_ExecutionEngineNewPayload{ExecutionEngineNewPayload: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage{Libp2PTraceGossipsubPayloadAttestationMessage: v} } iNdEx = postIndex - case 205: + case 221: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionEngineGetBlobs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Libp2PTraceGossipsubProposerPreferences", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52639,21 +64551,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_ExecutionEngineGetBlobs); ok { - if err := oneof.ExecutionEngineGetBlobs.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_Libp2PTraceGossipsubProposerPreferences); ok { + if unmarshal, ok := interface{}(oneof.Libp2PTraceGossipsubProposerPreferences).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Libp2PTraceGossipsubProposerPreferences); err != nil { + return err + } } } else { - v := ExecutionEngineGetBlobsFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := gossipsub.ProposerPreferencesFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_ExecutionEngineGetBlobs{ExecutionEngineGetBlobs: v} + m.Data = &DecoratedEvent_Libp2PTraceGossipsubProposerPreferences{Libp2PTraceGossipsubProposerPreferences: v} } iNdEx = postIndex - case 206: + case 222: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconBlob", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayloadGossip", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52680,21 +64608,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconBlob); ok { - if err := oneof.EthV1BeaconBlob.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayloadGossip); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsExecutionPayloadGossip).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsExecutionPayloadGossip); err != nil { + return err + } } } else { - v := v1.BlobFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.SignedExecutionPayloadEnvelopeFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1BeaconBlob{EthV1BeaconBlob: v} + m.Data = &DecoratedEvent_EthV1EventsExecutionPayloadGossip{EthV1EventsExecutionPayloadGossip: v} } iNdEx = postIndex - case 207: + case 223: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1BeaconSyncCommittee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsExecutionPayloadAvailable", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52721,21 +64665,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1BeaconSyncCommittee); ok { - if err := oneof.EthV1BeaconSyncCommittee.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsExecutionPayloadAvailable); ok { + if unmarshal, ok := interface{}(oneof.EthV1EventsExecutionPayloadAvailable).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.EthV1EventsExecutionPayloadAvailable); err != nil { + return err + } } } else { - v := SyncCommitteeDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.ExecutionPayloadAvailableFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1BeaconSyncCommittee{EthV1BeaconSyncCommittee: v} + m.Data = &DecoratedEvent_EthV1EventsExecutionPayloadAvailable{EthV1EventsExecutionPayloadAvailable: v} } iNdEx = postIndex - case 208: + case 224: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV2BeaconBlockSyncAggregate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconSyntheticPayloadStatusResolved", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52762,21 +64722,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV2BeaconBlockSyncAggregate); ok { - if err := oneof.EthV2BeaconBlockSyncAggregate.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_BeaconSyntheticPayloadStatusResolved); ok { + if unmarshal, ok := interface{}(oneof.BeaconSyntheticPayloadStatusResolved).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.BeaconSyntheticPayloadStatusResolved); err != nil { + return err + } } } else { - v := SyncAggregateDataFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.PayloadStatusResolvedFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV2BeaconBlockSyncAggregate{EthV2BeaconBlockSyncAggregate: v} + m.Data = &DecoratedEvent_BeaconSyntheticPayloadStatusResolved{BeaconSyntheticPayloadStatusResolved: v} } iNdEx = postIndex - case 209: + case 225: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExecutionBlockMetrics", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconSyntheticBuilderPendingPaymentSettlement", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52803,21 +64779,37 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_ExecutionBlockMetrics); ok { - if err := oneof.ExecutionBlockMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement); ok { + if unmarshal, ok := interface{}(oneof.BeaconSyntheticBuilderPendingPaymentSettlement).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.BeaconSyntheticBuilderPendingPaymentSettlement); err != nil { + return err + } } } else { - v := ExecutionBlockMetricsFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.BuilderPendingPaymentSettlementFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_ExecutionBlockMetrics{ExecutionBlockMetrics: v} + m.Data = &DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement{BeaconSyntheticBuilderPendingPaymentSettlement: v} } iNdEx = postIndex - case 210: + case 226: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EthV1EventsFastConfirmation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BeaconSyntheticPayloadAttestationProcessed", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -52844,16 +64836,32 @@ func (m *DecoratedEvent) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Data.(*DecoratedEvent_EthV1EventsFastConfirmation); ok { - if err := oneof.EthV1EventsFastConfirmation.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Data.(*DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed); ok { + if unmarshal, ok := interface{}(oneof.BeaconSyntheticPayloadAttestationProcessed).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.BeaconSyntheticPayloadAttestationProcessed); err != nil { + return err + } } } else { - v := v1.EventFastConfirmationFromVTPool() - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + v := v1.PayloadAttestationProcessedFromVTPool() + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } - m.Data = &DecoratedEvent_EthV1EventsFastConfirmation{EthV1EventsFastConfirmation: v} + m.Data = &DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed{BeaconSyntheticPayloadAttestationProcessed: v} } iNdEx = postIndex default: diff --git a/pkg/sentry/beacon_blob.go b/pkg/sentry/beacon_blob.go index 2021f243..3b01bc14 100644 --- a/pkg/sentry/beacon_blob.go +++ b/pkg/sentry/beacon_blob.go @@ -201,6 +201,16 @@ func extractKZGCommitments(block *spec.VersionedSignedBeaconBlock) ([]deneb.KZGC if block.Fulu != nil && block.Fulu.Message != nil && block.Fulu.Message.Body != nil { return block.Fulu.Message.Body.BlobKZGCommitments, nil } + case spec.DataVersionGloas: + // EIP-7732: BlobKZGCommitments live inside the SignedExecutionPayloadBid + // (the bid the proposer chose); the block body no longer carries them + // inline. If the bid is absent (shouldn't happen for a valid Gloas block), + // there are no commitments to return. + if block.Gloas != nil && block.Gloas.Message != nil && block.Gloas.Message.Body != nil && + block.Gloas.Message.Body.SignedExecutionPayloadBid != nil && + block.Gloas.Message.Body.SignedExecutionPayloadBid.Message != nil { + return block.Gloas.Message.Body.SignedExecutionPayloadBid.Message.BlobKZGCommitments, nil + } } return nil, fmt.Errorf("block version %s does not support KZG commitments", block.Version) diff --git a/pkg/sentry/cache/duplicate.go b/pkg/sentry/cache/duplicate.go index 1f791885..1838c5f7 100644 --- a/pkg/sentry/cache/duplicate.go +++ b/pkg/sentry/cache/duplicate.go @@ -7,23 +7,29 @@ import ( ) type DuplicateCache struct { - BeaconETHV1EventsAttestation *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsBlock *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsBlockGossip *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsFastConfirmation *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsChainReorg *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsFinalizedCheckpoint *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsHead *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsVoluntaryExit *ttlcache.Cache[string, time.Time] - BeaconETHV1EventsContributionAndProof *ttlcache.Cache[string, time.Time] - BeaconETHV2BeaconBlock *ttlcache.Cache[string, time.Time] - BeaconEthV1BeaconCommittee *ttlcache.Cache[string, time.Time] - BeaconEthV1EventsBlobSidecar *ttlcache.Cache[string, time.Time] - BeaconEthV1EventsDataColumnSidecar *ttlcache.Cache[string, time.Time] - BeaconEthV1BeaconBlob *ttlcache.Cache[string, time.Time] - MempoolTransaction *ttlcache.Cache[string, time.Time] - ExecutionStateSize *ttlcache.Cache[string, time.Time] - ConsensusEngineAPINewPayload *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsAttestation *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsBlock *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsBlockGossip *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsFastConfirmation *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsChainReorg *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsFinalizedCheckpoint *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsHead *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsVoluntaryExit *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsContributionAndProof *ttlcache.Cache[string, time.Time] + BeaconETHV2BeaconBlock *ttlcache.Cache[string, time.Time] + BeaconEthV1BeaconCommittee *ttlcache.Cache[string, time.Time] + BeaconEthV1EventsBlobSidecar *ttlcache.Cache[string, time.Time] + BeaconEthV1EventsDataColumnSidecar *ttlcache.Cache[string, time.Time] + BeaconEthV1BeaconBlob *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsExecutionPayload *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsExecutionPayloadGossip *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsExecutionPayloadAvailable *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsExecutionPayloadBid *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsPayloadAttestationMessage *ttlcache.Cache[string, time.Time] + BeaconETHV1EventsProposerPreferences *ttlcache.Cache[string, time.Time] + MempoolTransaction *ttlcache.Cache[string, time.Time] + ExecutionStateSize *ttlcache.Cache[string, time.Time] + ConsensusEngineAPINewPayload *ttlcache.Cache[string, time.Time] } const ( @@ -78,6 +84,24 @@ func NewDuplicateCache() *DuplicateCache { BeaconEthV1BeaconBlob: ttlcache.New( ttlcache.WithTTL[string, time.Time](CONSENSUS_TTL), ), + BeaconETHV1EventsExecutionPayload: ttlcache.New( + ttlcache.WithTTL[string, time.Time](CONSENSUS_TTL), + ), + BeaconETHV1EventsExecutionPayloadGossip: ttlcache.New( + ttlcache.WithTTL[string, time.Time](CONSENSUS_TTL), + ), + BeaconETHV1EventsExecutionPayloadAvailable: ttlcache.New( + ttlcache.WithTTL[string, time.Time](CONSENSUS_TTL), + ), + BeaconETHV1EventsExecutionPayloadBid: ttlcache.New( + ttlcache.WithTTL[string, time.Time](CONSENSUS_TTL), + ), + BeaconETHV1EventsPayloadAttestationMessage: ttlcache.New( + ttlcache.WithTTL[string, time.Time](CONSENSUS_TTL), + ), + BeaconETHV1EventsProposerPreferences: ttlcache.New( + ttlcache.WithTTL[string, time.Time](CONSENSUS_TTL), + ), MempoolTransaction: ttlcache.New( ttlcache.WithTTL[string, time.Time](EXECUTION_TTL), ), @@ -105,6 +129,12 @@ func (d *DuplicateCache) Start() { go d.BeaconEthV1EventsBlobSidecar.Start() go d.BeaconEthV1EventsDataColumnSidecar.Start() go d.BeaconEthV1BeaconBlob.Start() + go d.BeaconETHV1EventsExecutionPayload.Start() + go d.BeaconETHV1EventsExecutionPayloadGossip.Start() + go d.BeaconETHV1EventsExecutionPayloadAvailable.Start() + go d.BeaconETHV1EventsExecutionPayloadBid.Start() + go d.BeaconETHV1EventsPayloadAttestationMessage.Start() + go d.BeaconETHV1EventsProposerPreferences.Start() go d.MempoolTransaction.Start() go d.ExecutionStateSize.Start() go d.ConsensusEngineAPINewPayload.Start() diff --git a/pkg/sentry/event/beacon/eth/v1/beacon_blob.go b/pkg/sentry/event/beacon/eth/v1/beacon_blob.go index deb97fd7..cf3cbca5 100644 --- a/pkg/sentry/event/beacon/eth/v1/beacon_blob.go +++ b/pkg/sentry/event/beacon/eth/v1/beacon_blob.go @@ -103,10 +103,10 @@ func (e *BeaconBlob) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "slot": e.event.Slot, - "index": e.event.Index, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, + indexLogField: e.event.Index, }).WithContext(ctx).Debug("Duplicate beacon blob event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/beacon_committee.go b/pkg/sentry/event/beacon/eth/v1/beacon_committee.go index 0b9630b3..f7c0a045 100644 --- a/pkg/sentry/event/beacon/eth/v1/beacon_committee.go +++ b/pkg/sentry/event/beacon/eth/v1/beacon_committee.go @@ -92,8 +92,8 @@ func (e *BeaconCommittee) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(key, e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "epoch": e.epoch, - "time_since_first_item": time.Since(item.Value()), + epochLogField: e.epoch, + timeSinceFirstItemLogField: time.Since(item.Value()), }).WithContext(ctx).Debug("Duplicate beacon committee event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_attestation.go b/pkg/sentry/event/beacon/eth/v1/events_attestation.go index 1c12d0e0..a58d09e5 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_attestation.go +++ b/pkg/sentry/event/beacon/eth/v1/events_attestation.go @@ -154,8 +154,8 @@ func (e *EventsAttestation) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), }).WithContext(ctx).Debug("Duplicate attestation event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_blob_sidecar.go b/pkg/sentry/event/beacon/eth/v1/events_blob_sidecar.go index 6b3696fb..83bd674b 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_blob_sidecar.go +++ b/pkg/sentry/event/beacon/eth/v1/events_blob_sidecar.go @@ -89,10 +89,10 @@ func (e *EventsBlobSidecar) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "slot": e.event.Slot, - "index": e.event.Index, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, + indexLogField: e.event.Index, }).WithContext(ctx).Debug("Duplicate blob sidecar event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_block.go b/pkg/sentry/event/beacon/eth/v1/events_block.go index a00f228e..8687a055 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_block.go +++ b/pkg/sentry/event/beacon/eth/v1/events_block.go @@ -87,9 +87,9 @@ func (e *EventsBlock) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "slot": e.event.Slot, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, }).WithContext(ctx).Debug("Duplicate block event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_block_gossip.go b/pkg/sentry/event/beacon/eth/v1/events_block_gossip.go index 7b121d64..15d36bbf 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_block_gossip.go +++ b/pkg/sentry/event/beacon/eth/v1/events_block_gossip.go @@ -86,9 +86,9 @@ func (e *EventsBlockGossip) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "slot": e.event.Slot, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, }).WithContext(ctx).Debug("Duplicate block gossip event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go b/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go index a522353b..15b5358a 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go +++ b/pkg/sentry/event/beacon/eth/v1/events_chain_reorg.go @@ -83,9 +83,9 @@ func (e *EventsChainReorg) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "slot": e.event.Slot, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, }).WithContext(ctx).Debug("Duplicate chain reorg event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go b/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go index 38dea352..d519c8f1 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go +++ b/pkg/sentry/event/beacon/eth/v1/events_contribution_and_proof.go @@ -96,8 +96,8 @@ func (e *EventsContributionAndProof) ShouldIgnore(ctx context.Context) (bool, er item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), }).WithContext(ctx).Debug("Duplicate contribution and proof event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_data_column_sidecar.go b/pkg/sentry/event/beacon/eth/v1/events_data_column_sidecar.go index 933dfeea..af1ba081 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_data_column_sidecar.go +++ b/pkg/sentry/event/beacon/eth/v1/events_data_column_sidecar.go @@ -89,10 +89,10 @@ func (e *EventsDataColumnSidecar) ShouldIgnore(ctx context.Context) (bool, error item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "slot": e.event.Slot, - "index": e.event.Index, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, + indexLogField: e.event.Index, }).WithContext(ctx).Debug("Duplicate data column sidecar event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_execution_payload.go b/pkg/sentry/event/beacon/eth/v1/events_execution_payload.go new file mode 100644 index 00000000..b636458f --- /dev/null +++ b/pkg/sentry/event/beacon/eth/v1/events_execution_payload.go @@ -0,0 +1,133 @@ +package event + +import ( + "context" + "fmt" + "time" + + "github.com/ethpandaops/go-eth2-client/spec/gloas" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/ethpandaops/xatu/pkg/sentry/ethereum" + "github.com/google/uuid" + ttlcache "github.com/jellydator/ttlcache/v3" + hashstructure "github.com/mitchellh/hashstructure/v2" + "github.com/sirupsen/logrus" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +// EventsExecutionPayload handles the EIP-7732 `execution_payload` SSE event, +// which carries the full SignedExecutionPayloadEnvelope and fires when the +// beacon node has imported the envelope into the fork-choice store. +type EventsExecutionPayload struct { + log observability.ContextualLogger + + now time.Time + + event *gloas.SignedExecutionPayloadEnvelope + beacon *ethereum.BeaconNode + duplicateCache *ttlcache.Cache[string, time.Time] + clientMeta *xatu.ClientMeta + id uuid.UUID +} + +func NewEventsExecutionPayload(log observability.ContextualLogger, event *gloas.SignedExecutionPayloadEnvelope, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsExecutionPayload { + return &EventsExecutionPayload{ + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD"), + now: now, + event: event, + beacon: beacon, + duplicateCache: duplicateCache, + clientMeta: clientMeta, + id: uuid.New(), + } +} + +func (e *EventsExecutionPayload) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD, + DateTime: timestamppb.New(e.now), + Id: e.id.String(), + }, + Meta: &xatu.Meta{ + Client: e.clientMeta, + }, + Data: &xatu.DecoratedEvent_EthV1EventsExecutionPayload{ + EthV1EventsExecutionPayload: xatuethv1.NewSignedExecutionPayloadEnvelopeFromGloas(e.event), + }, + } + + additionalData, err := e.getAdditionalData(ctx) + if err != nil { + e.log.WithError(err).WithContext(ctx).Error("Failed to get extra execution payload data") + } else { + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsExecutionPayload{ + EthV1EventsExecutionPayload: additionalData, + } + } + + return decoratedEvent, nil +} + +func (e *EventsExecutionPayload) ShouldIgnore(ctx context.Context) (bool, error) { + if err := e.beacon.Synced(ctx); err != nil { + return true, err + } + + if e.event == nil || e.event.Message == nil { + return true, nil + } + + hash, err := hashstructure.Hash(e.event, hashstructure.FormatV2, nil) + if err != nil { + return true, err + } + + item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) + if retrieved { + e.log.WithFields(logrus.Fields{ + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + "beacon_block_root": e.event.Message.BeaconBlockRoot.String(), + }).WithContext(ctx).Debug("Duplicate execution payload event received") + + return true, nil + } + + return false, nil +} + +func (e *EventsExecutionPayload) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadData, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadData{} + + if e.event == nil || e.event.Message == nil || e.event.Message.Payload == nil { + return extra, fmt.Errorf("execution payload envelope missing message or payload") + } + + slotNumber := e.event.Message.Payload.SlotNumber + + slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(slotNumber) + epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(slotNumber) + + extra.Slot = &xatu.SlotV2{ + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + Number: &wrapperspb.UInt64Value{Value: slotNumber}, + } + + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + //nolint:gosec // not concerned in reality + Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + } + + return extra, nil +} diff --git a/pkg/sentry/event/beacon/eth/v1/events_execution_payload_available.go b/pkg/sentry/event/beacon/eth/v1/events_execution_payload_available.go new file mode 100644 index 00000000..4a62e106 --- /dev/null +++ b/pkg/sentry/event/beacon/eth/v1/events_execution_payload_available.go @@ -0,0 +1,132 @@ +package event + +import ( + "context" + "fmt" + "time" + + apiv1 "github.com/ethpandaops/go-eth2-client/api/v1" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/ethpandaops/xatu/pkg/sentry/ethereum" + "github.com/google/uuid" + ttlcache "github.com/jellydator/ttlcache/v3" + hashstructure "github.com/mitchellh/hashstructure/v2" + "github.com/sirupsen/logrus" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +// EventsExecutionPayloadAvailable handles the EIP-7732 +// `execution_payload_available` SSE event — a lightweight signal that the +// beacon node has confirmed the payload + blobs are locally available, ready +// for the PTC to vote payload_present = true. Carries only block_root + slot. +type EventsExecutionPayloadAvailable struct { + log observability.ContextualLogger + + now time.Time + + event *apiv1.ExecutionPayloadAvailableEvent + beacon *ethereum.BeaconNode + duplicateCache *ttlcache.Cache[string, time.Time] + clientMeta *xatu.ClientMeta + id uuid.UUID +} + +func NewEventsExecutionPayloadAvailable(log observability.ContextualLogger, event *apiv1.ExecutionPayloadAvailableEvent, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsExecutionPayloadAvailable { + return &EventsExecutionPayloadAvailable{ + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE"), + now: now, + event: event, + beacon: beacon, + duplicateCache: duplicateCache, + clientMeta: clientMeta, + id: uuid.New(), + } +} + +func (e *EventsExecutionPayloadAvailable) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE, + DateTime: timestamppb.New(e.now), + Id: e.id.String(), + }, + Meta: &xatu.Meta{ + Client: e.clientMeta, + }, + Data: &xatu.DecoratedEvent_EthV1EventsExecutionPayloadAvailable{ + EthV1EventsExecutionPayloadAvailable: xatuethv1.NewExecutionPayloadAvailableFromAPIV1(e.event), + }, + } + + additionalData, err := e.getAdditionalData(ctx) + if err != nil { + e.log.WithError(err).WithContext(ctx).Error("Failed to get extra execution payload available data") + } else { + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsExecutionPayloadAvailable{ + EthV1EventsExecutionPayloadAvailable: additionalData, + } + } + + return decoratedEvent, nil +} + +func (e *EventsExecutionPayloadAvailable) ShouldIgnore(ctx context.Context) (bool, error) { + if err := e.beacon.Synced(ctx); err != nil { + return true, err + } + + if e.event == nil { + return true, nil + } + + hash, err := hashstructure.Hash(e.event, hashstructure.FormatV2, nil) + if err != nil { + return true, err + } + + item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) + if retrieved { + e.log.WithFields(logrus.Fields{ + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, + }).WithContext(ctx).Debug("Duplicate execution payload available event received") + + return true, nil + } + + return false, nil +} + +func (e *EventsExecutionPayloadAvailable) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadAvailableData{} + + if e.event == nil { + return extra, fmt.Errorf("execution payload available event is nil") + } + + slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(uint64(e.event.Slot)) + epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(uint64(e.event.Slot)) + + extra.Slot = &xatu.SlotV2{ + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + Number: &wrapperspb.UInt64Value{Value: uint64(e.event.Slot)}, + } + + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + //nolint:gosec // not concerned in reality + Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + } + + return extra, nil +} diff --git a/pkg/sentry/event/beacon/eth/v1/events_execution_payload_bid.go b/pkg/sentry/event/beacon/eth/v1/events_execution_payload_bid.go new file mode 100644 index 00000000..593040da --- /dev/null +++ b/pkg/sentry/event/beacon/eth/v1/events_execution_payload_bid.go @@ -0,0 +1,134 @@ +package event + +import ( + "context" + "fmt" + "time" + + "github.com/ethpandaops/go-eth2-client/spec/gloas" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/ethpandaops/xatu/pkg/sentry/ethereum" + "github.com/google/uuid" + ttlcache "github.com/jellydator/ttlcache/v3" + hashstructure "github.com/mitchellh/hashstructure/v2" + "github.com/sirupsen/logrus" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +// EventsExecutionPayloadBid handles the EIP-7732 `execution_payload_bid` SSE +// event — the builder's signed bid for the upcoming slot's execution payload. +type EventsExecutionPayloadBid struct { + log observability.ContextualLogger + + now time.Time + + event *gloas.SignedExecutionPayloadBid + beacon *ethereum.BeaconNode + duplicateCache *ttlcache.Cache[string, time.Time] + clientMeta *xatu.ClientMeta + id uuid.UUID +} + +func NewEventsExecutionPayloadBid(log observability.ContextualLogger, event *gloas.SignedExecutionPayloadBid, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsExecutionPayloadBid { + return &EventsExecutionPayloadBid{ + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID"), + now: now, + event: event, + beacon: beacon, + duplicateCache: duplicateCache, + clientMeta: clientMeta, + id: uuid.New(), + } +} + +func (e *EventsExecutionPayloadBid) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID, + DateTime: timestamppb.New(e.now), + Id: e.id.String(), + }, + Meta: &xatu.Meta{ + Client: e.clientMeta, + }, + Data: &xatu.DecoratedEvent_EthV1EventsExecutionPayloadBid{ + EthV1EventsExecutionPayloadBid: xatuethv1.NewSignedExecutionPayloadBidFromGloas(e.event), + }, + } + + additionalData, err := e.getAdditionalData(ctx) + if err != nil { + e.log.WithError(err).WithContext(ctx).Error("Failed to get extra execution payload bid data") + } else { + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsExecutionPayloadBid{ + EthV1EventsExecutionPayloadBid: additionalData, + } + } + + return decoratedEvent, nil +} + +func (e *EventsExecutionPayloadBid) ShouldIgnore(ctx context.Context) (bool, error) { + if err := e.beacon.Synced(ctx); err != nil { + return true, err + } + + if e.event == nil || e.event.Message == nil { + return true, nil + } + + hash, err := hashstructure.Hash(e.event, hashstructure.FormatV2, nil) + if err != nil { + return true, err + } + + item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) + if retrieved { + e.log.WithFields(logrus.Fields{ + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Message.Slot, + "builder_index": e.event.Message.BuilderIndex, + "block_hash": e.event.Message.BlockHash.String(), + }).WithContext(ctx).Debug("Duplicate execution payload bid event received") + + return true, nil + } + + return false, nil +} + +func (e *EventsExecutionPayloadBid) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadBidData{} + + if e.event == nil || e.event.Message == nil { + return extra, fmt.Errorf("execution payload bid missing message") + } + + slotNumber := uint64(e.event.Message.Slot) + + slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(slotNumber) + epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(slotNumber) + + extra.Slot = &xatu.SlotV2{ + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + Number: &wrapperspb.UInt64Value{Value: slotNumber}, + } + + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + //nolint:gosec // not concerned in reality + Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + } + + return extra, nil +} diff --git a/pkg/sentry/event/beacon/eth/v1/events_execution_payload_gossip.go b/pkg/sentry/event/beacon/eth/v1/events_execution_payload_gossip.go new file mode 100644 index 00000000..951393b0 --- /dev/null +++ b/pkg/sentry/event/beacon/eth/v1/events_execution_payload_gossip.go @@ -0,0 +1,134 @@ +package event + +import ( + "context" + "fmt" + "time" + + "github.com/ethpandaops/go-eth2-client/spec/gloas" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/ethpandaops/xatu/pkg/sentry/ethereum" + "github.com/google/uuid" + ttlcache "github.com/jellydator/ttlcache/v3" + hashstructure "github.com/mitchellh/hashstructure/v2" + "github.com/sirupsen/logrus" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +// EventsExecutionPayloadGossip handles the EIP-7732 `execution_payload_gossip` +// SSE event — analog of `block_gossip`. Fires when the beacon node first sees +// the SignedExecutionPayloadEnvelope on the gossip mesh and it passes gossip +// validation, before fork-choice import. +type EventsExecutionPayloadGossip struct { + log observability.ContextualLogger + + now time.Time + + event *gloas.SignedExecutionPayloadEnvelope + beacon *ethereum.BeaconNode + duplicateCache *ttlcache.Cache[string, time.Time] + clientMeta *xatu.ClientMeta + id uuid.UUID +} + +func NewEventsExecutionPayloadGossip(log observability.ContextualLogger, event *gloas.SignedExecutionPayloadEnvelope, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsExecutionPayloadGossip { + return &EventsExecutionPayloadGossip{ + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP"), + now: now, + event: event, + beacon: beacon, + duplicateCache: duplicateCache, + clientMeta: clientMeta, + id: uuid.New(), + } +} + +func (e *EventsExecutionPayloadGossip) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP, + DateTime: timestamppb.New(e.now), + Id: e.id.String(), + }, + Meta: &xatu.Meta{ + Client: e.clientMeta, + }, + Data: &xatu.DecoratedEvent_EthV1EventsExecutionPayloadGossip{ + EthV1EventsExecutionPayloadGossip: xatuethv1.NewSignedExecutionPayloadEnvelopeFromGloas(e.event), + }, + } + + additionalData, err := e.getAdditionalData(ctx) + if err != nil { + e.log.WithError(err).WithContext(ctx).Error("Failed to get extra execution payload gossip data") + } else { + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsExecutionPayloadGossip{ + EthV1EventsExecutionPayloadGossip: additionalData, + } + } + + return decoratedEvent, nil +} + +func (e *EventsExecutionPayloadGossip) ShouldIgnore(ctx context.Context) (bool, error) { + if err := e.beacon.Synced(ctx); err != nil { + return true, err + } + + if e.event == nil || e.event.Message == nil { + return true, nil + } + + hash, err := hashstructure.Hash(e.event, hashstructure.FormatV2, nil) + if err != nil { + return true, err + } + + item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) + if retrieved { + e.log.WithFields(logrus.Fields{ + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + "beacon_block_root": e.event.Message.BeaconBlockRoot.String(), + }).WithContext(ctx).Debug("Duplicate execution payload gossip event received") + + return true, nil + } + + return false, nil +} + +func (e *EventsExecutionPayloadGossip) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsExecutionPayloadGossipData{} + + if e.event == nil || e.event.Message == nil || e.event.Message.Payload == nil { + return extra, fmt.Errorf("execution payload envelope missing message or payload") + } + + slotNumber := e.event.Message.Payload.SlotNumber + + slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(slotNumber) + epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(slotNumber) + + extra.Slot = &xatu.SlotV2{ + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + Number: &wrapperspb.UInt64Value{Value: slotNumber}, + } + + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + //nolint:gosec // not concerned in reality + Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + } + + return extra, nil +} diff --git a/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go b/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go index 9b58c43b..7e48be38 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go +++ b/pkg/sentry/event/beacon/eth/v1/events_finalized_checkpoint.go @@ -87,9 +87,9 @@ func (e *EventsFinalizedCheckpoint) ShouldIgnore(ctx context.Context) (bool, err item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "epoch": e.event.Epoch, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + epochLogField: e.event.Epoch, }).WithContext(ctx).Debug("Duplicate finalized checkpoint event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_head.go b/pkg/sentry/event/beacon/eth/v1/events_head.go index 21d3723f..2e14c44d 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_head.go +++ b/pkg/sentry/event/beacon/eth/v1/events_head.go @@ -90,9 +90,9 @@ func (e *EventsHead) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "slot": e.event.Slot, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + slotLogField: e.event.Slot, }).WithContext(ctx).Debug("Duplicate head event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_payload_attestation.go b/pkg/sentry/event/beacon/eth/v1/events_payload_attestation.go new file mode 100644 index 00000000..392f662e --- /dev/null +++ b/pkg/sentry/event/beacon/eth/v1/events_payload_attestation.go @@ -0,0 +1,134 @@ +package event + +import ( + "context" + "fmt" + "time" + + "github.com/ethpandaops/go-eth2-client/spec/gloas" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/ethpandaops/xatu/pkg/sentry/ethereum" + "github.com/google/uuid" + ttlcache "github.com/jellydator/ttlcache/v3" + hashstructure "github.com/mitchellh/hashstructure/v2" + "github.com/sirupsen/logrus" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +// EventsPayloadAttestation handles the EIP-7732 `payload_attestation_message` +// SSE event — an individual PTC validator's payload attestation. ~512 messages +// per slot, high volume. +type EventsPayloadAttestation struct { + log observability.ContextualLogger + + now time.Time + + event *gloas.PayloadAttestationMessage + beacon *ethereum.BeaconNode + duplicateCache *ttlcache.Cache[string, time.Time] + clientMeta *xatu.ClientMeta + id uuid.UUID +} + +func NewEventsPayloadAttestation(log observability.ContextualLogger, event *gloas.PayloadAttestationMessage, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsPayloadAttestation { + return &EventsPayloadAttestation{ + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION"), + now: now, + event: event, + beacon: beacon, + duplicateCache: duplicateCache, + clientMeta: clientMeta, + id: uuid.New(), + } +} + +func (e *EventsPayloadAttestation) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION, + DateTime: timestamppb.New(e.now), + Id: e.id.String(), + }, + Meta: &xatu.Meta{ + Client: e.clientMeta, + }, + Data: &xatu.DecoratedEvent_EthV1EventsPayloadAttestation{ + EthV1EventsPayloadAttestation: xatuethv1.NewPayloadAttestationMessageFromGloas(e.event), + }, + } + + additionalData, err := e.getAdditionalData(ctx) + if err != nil { + e.log.WithError(err).WithContext(ctx).Error("Failed to get extra payload attestation data") + } else { + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsPayloadAttestation{ + EthV1EventsPayloadAttestation: additionalData, + } + } + + return decoratedEvent, nil +} + +func (e *EventsPayloadAttestation) ShouldIgnore(ctx context.Context) (bool, error) { + if err := e.beacon.Synced(ctx); err != nil { + return true, err + } + + if e.event == nil || e.event.Data == nil { + return true, nil + } + + hash, err := hashstructure.Hash(e.event, hashstructure.FormatV2, nil) + if err != nil { + return true, err + } + + item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) + if retrieved { + e.log.WithFields(logrus.Fields{ + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + "validator_index": e.event.ValidatorIndex, + slotLogField: e.event.Data.Slot, + }).WithContext(ctx).Debug("Duplicate payload attestation message received") + + return true, nil + } + + return false, nil +} + +func (e *EventsPayloadAttestation) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsPayloadAttestationData, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsPayloadAttestationData{} + + if e.event == nil || e.event.Data == nil { + return extra, fmt.Errorf("payload attestation message missing data") + } + + slotNumber := uint64(e.event.Data.Slot) + + slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(slotNumber) + epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(slotNumber) + + extra.Slot = &xatu.SlotV2{ + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + Number: &wrapperspb.UInt64Value{Value: slotNumber}, + } + + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + //nolint:gosec // not concerned in reality + Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + } + + return extra, nil +} diff --git a/pkg/sentry/event/beacon/eth/v1/events_proposer_preferences.go b/pkg/sentry/event/beacon/eth/v1/events_proposer_preferences.go new file mode 100644 index 00000000..a923f065 --- /dev/null +++ b/pkg/sentry/event/beacon/eth/v1/events_proposer_preferences.go @@ -0,0 +1,134 @@ +package event + +import ( + "context" + "fmt" + "time" + + "github.com/ethpandaops/go-eth2-client/spec/gloas" + "github.com/ethpandaops/xatu/pkg/observability" + xatuethv1 "github.com/ethpandaops/xatu/pkg/proto/eth/v1" + "github.com/ethpandaops/xatu/pkg/proto/xatu" + "github.com/ethpandaops/xatu/pkg/sentry/ethereum" + "github.com/google/uuid" + ttlcache "github.com/jellydator/ttlcache/v3" + hashstructure "github.com/mitchellh/hashstructure/v2" + "github.com/sirupsen/logrus" + "google.golang.org/protobuf/types/known/timestamppb" + "google.golang.org/protobuf/types/known/wrapperspb" +) + +// EventsProposerPreferences handles the EIP-7732 `proposer_preferences` SSE +// event — a proposer's signed declaration of their fee recipient + gas limit +// preferences for an upcoming slot. +type EventsProposerPreferences struct { + log observability.ContextualLogger + + now time.Time + + event *gloas.SignedProposerPreferences + beacon *ethereum.BeaconNode + duplicateCache *ttlcache.Cache[string, time.Time] + clientMeta *xatu.ClientMeta + id uuid.UUID +} + +func NewEventsProposerPreferences(log observability.ContextualLogger, event *gloas.SignedProposerPreferences, now time.Time, beacon *ethereum.BeaconNode, duplicateCache *ttlcache.Cache[string, time.Time], clientMeta *xatu.ClientMeta) *EventsProposerPreferences { + return &EventsProposerPreferences{ + log: log.WithField("event", "BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES"), + now: now, + event: event, + beacon: beacon, + duplicateCache: duplicateCache, + clientMeta: clientMeta, + id: uuid.New(), + } +} + +func (e *EventsProposerPreferences) Decorate(ctx context.Context) (*xatu.DecoratedEvent, error) { + decoratedEvent := &xatu.DecoratedEvent{ + Event: &xatu.Event{ + Name: xatu.Event_BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES, + DateTime: timestamppb.New(e.now), + Id: e.id.String(), + }, + Meta: &xatu.Meta{ + Client: e.clientMeta, + }, + Data: &xatu.DecoratedEvent_EthV1EventsProposerPreferences{ + EthV1EventsProposerPreferences: xatuethv1.NewSignedProposerPreferencesFromGloas(e.event), + }, + } + + additionalData, err := e.getAdditionalData(ctx) + if err != nil { + e.log.WithError(err).WithContext(ctx).Error("Failed to get extra proposer preferences data") + } else { + decoratedEvent.Meta.Client.AdditionalData = &xatu.ClientMeta_EthV1EventsProposerPreferences{ + EthV1EventsProposerPreferences: additionalData, + } + } + + return decoratedEvent, nil +} + +func (e *EventsProposerPreferences) ShouldIgnore(ctx context.Context) (bool, error) { + if err := e.beacon.Synced(ctx); err != nil { + return true, err + } + + if e.event == nil || e.event.Message == nil { + return true, nil + } + + hash, err := hashstructure.Hash(e.event, hashstructure.FormatV2, nil) + if err != nil { + return true, err + } + + item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) + if retrieved { + e.log.WithFields(logrus.Fields{ + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + "validator_index": e.event.Message.ValidatorIndex, + "proposal_slot": e.event.Message.ProposalSlot, + }).WithContext(ctx).Debug("Duplicate proposer preferences event received") + + return true, nil + } + + return false, nil +} + +func (e *EventsProposerPreferences) getAdditionalData(_ context.Context) (*xatu.ClientMeta_AdditionalEthV1EventsProposerPreferencesData, error) { + extra := &xatu.ClientMeta_AdditionalEthV1EventsProposerPreferencesData{} + + if e.event == nil || e.event.Message == nil { + return extra, fmt.Errorf("proposer preferences missing message") + } + + slotNumber := uint64(e.event.Message.ProposalSlot) + + slot := e.beacon.Metadata().Wallclock().Slots().FromNumber(slotNumber) + epoch := e.beacon.Metadata().Wallclock().Epochs().FromSlot(slotNumber) + + extra.Slot = &xatu.SlotV2{ + StartDateTime: timestamppb.New(slot.TimeWindow().Start()), + Number: &wrapperspb.UInt64Value{Value: slotNumber}, + } + + extra.Epoch = &xatu.EpochV2{ + Number: &wrapperspb.UInt64Value{Value: epoch.Number()}, + StartDateTime: timestamppb.New(epoch.TimeWindow().Start()), + } + + extra.Propagation = &xatu.PropagationV2{ + SlotStartDiff: &wrapperspb.UInt64Value{ + //nolint:gosec // not concerned in reality + Value: uint64(e.now.Sub(slot.TimeWindow().Start()).Milliseconds()), + }, + } + + return extra, nil +} diff --git a/pkg/sentry/event/beacon/eth/v1/events_single_attestation.go b/pkg/sentry/event/beacon/eth/v1/events_single_attestation.go index f80d1366..4ac2bdf1 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_single_attestation.go +++ b/pkg/sentry/event/beacon/eth/v1/events_single_attestation.go @@ -121,8 +121,8 @@ func (e *EventsSingleAttestation) ShouldIgnore(ctx context.Context) (bool, error item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), }).WithContext(ctx).Debug("Duplicate attestation event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go b/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go index 1f25b2da..2339384d 100644 --- a/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go +++ b/pkg/sentry/event/beacon/eth/v1/events_voluntary_exit.go @@ -90,9 +90,9 @@ func (e *EventsVoluntaryExit) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(fmt.Sprint(hash), e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "hash": hash, - "time_since_first_item": time.Since(item.Value()), - "epoch": e.event.Message.Epoch, + hashLogField: hash, + timeSinceFirstItemLogField: time.Since(item.Value()), + epochLogField: e.event.Message.Epoch, }).WithContext(ctx).Debug("Duplicate voluntary exit event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v1/log_fields.go b/pkg/sentry/event/beacon/eth/v1/log_fields.go new file mode 100644 index 00000000..113c1019 --- /dev/null +++ b/pkg/sentry/event/beacon/eth/v1/log_fields.go @@ -0,0 +1,10 @@ +package event + +// Log field keys shared across the v1 sentry beacon event handlers. +const ( + hashLogField = "hash" + slotLogField = "slot" + timeSinceFirstItemLogField = "time_since_first_item" + epochLogField = "epoch" + indexLogField = "index" +) diff --git a/pkg/sentry/event/beacon/eth/v1/proposer_duty.go b/pkg/sentry/event/beacon/eth/v1/proposer_duty.go index 14fcbbb5..02f4154f 100644 --- a/pkg/sentry/event/beacon/eth/v1/proposer_duty.go +++ b/pkg/sentry/event/beacon/eth/v1/proposer_duty.go @@ -95,8 +95,8 @@ func (e *ProposerDuty) ShouldIgnore(ctx context.Context) (bool, error) { item, retrieved := e.duplicateCache.GetOrSet(key, e.now, ttlcache.WithTTL[string, time.Time](ttlcache.DefaultTTL)) if retrieved { e.log.WithFields(logrus.Fields{ - "epoch": e.epoch, - "time_since_first_item": time.Since(item.Value()), + epochLogField: e.epoch, + timeSinceFirstItemLogField: time.Since(item.Value()), }).WithContext(ctx).Debug("Duplicate proposer duty event received") return true, nil diff --git a/pkg/sentry/event/beacon/eth/v2/beacon_block.go b/pkg/sentry/event/beacon/eth/v2/beacon_block.go index 8908becd..38c26c51 100644 --- a/pkg/sentry/event/beacon/eth/v2/beacon_block.go +++ b/pkg/sentry/event/beacon/eth/v2/beacon_block.go @@ -220,6 +220,8 @@ func getBlockMessage(block *spec.VersionedSignedBeaconBlock) (ssz.Marshaler, err return block.Electra.Message, nil case spec.DataVersionFulu: return block.Fulu.Message, nil + case spec.DataVersionGloas: + return block.Gloas.Message, nil default: return nil, fmt.Errorf("unsupported block version: %s", block.Version) } diff --git a/pkg/sentry/event/beacon/eth/v3/proposed_validator_block.go b/pkg/sentry/event/beacon/eth/v3/proposed_validator_block.go index b82eb01a..3ad68cfe 100644 --- a/pkg/sentry/event/beacon/eth/v3/proposed_validator_block.go +++ b/pkg/sentry/event/beacon/eth/v3/proposed_validator_block.go @@ -205,6 +205,16 @@ func (e *ValidatorBlock) getAdditionalData() (*xatu.ClientMeta_AdditionalEthV3Va } addTxData(fuluTxs) + case spec.DataVersionGloas: + // EIP-7732: the proposed Gloas block body has no inline ExecutionPayload — + // transactions arrive separately via the ExecutionPayloadEnvelope after the + // builder reveals it. At validator-proposal time the envelope isn't published + // yet, so block size is the body-only size and tx-related counts stay zero + // (cannon's envelope-sourced derivers fill in tx data downstream). + totalBytes, totalBytesCompressed, err = computeBlockSize(e.event.Gloas.Body) + if err != nil { + e.log.WithError(err).Warn("Failed to compute gloas block size") + } default: e.log.WithError(err).Warn("Failed to get block message to compute block size. Missing fork version?") diff --git a/pkg/sentry/sentry.go b/pkg/sentry/sentry.go index dbb539d4..53e111bd 100644 --- a/pkg/sentry/sentry.go +++ b/pkg/sentry/sentry.go @@ -22,6 +22,7 @@ import ( "github.com/ethpandaops/go-eth2-client/spec" "github.com/ethpandaops/go-eth2-client/spec/altair" "github.com/ethpandaops/go-eth2-client/spec/electra" + "github.com/ethpandaops/go-eth2-client/spec/gloas" "github.com/ethpandaops/go-eth2-client/spec/phase0" "github.com/go-co-op/gocron/v2" "github.com/google/uuid" @@ -617,6 +618,171 @@ func (s *Sentry) Start(ctx context.Context) error { return s.handleNewDecoratedEvent(ctx, decoratedEvent) }) + // EIP-7732 ePBS SSE handlers. The connected beacon node only emits + // these on Gloas+ networks; pre-Gloas the broker simply receives no + // events on these topics so the handlers are no-ops. + s.beacon.Node().OnExecutionPayload(ctx, func(ctx context.Context, envelope *gloas.SignedExecutionPayloadEnvelope) error { + now := time.Now().Add(s.clockDrift) + + meta, err := s.createNewClientMeta(ctx) + if err != nil { + return err + } + + event := v1.NewEventsExecutionPayload(s.log, envelope, now, s.beacon, s.duplicateCache.BeaconETHV1EventsExecutionPayload, meta) + + ignore, err := event.ShouldIgnore(ctx) + if err != nil { + return err + } + + if ignore { + return nil + } + + decoratedEvent, err := event.Decorate(ctx) + if err != nil { + return err + } + + return s.handleNewDecoratedEvent(ctx, decoratedEvent) + }) + + s.beacon.Node().OnExecutionPayloadGossip(ctx, func(ctx context.Context, envelope *gloas.SignedExecutionPayloadEnvelope) error { + now := time.Now().Add(s.clockDrift) + + meta, err := s.createNewClientMeta(ctx) + if err != nil { + return err + } + + event := v1.NewEventsExecutionPayloadGossip(s.log, envelope, now, s.beacon, s.duplicateCache.BeaconETHV1EventsExecutionPayloadGossip, meta) + + ignore, err := event.ShouldIgnore(ctx) + if err != nil { + return err + } + + if ignore { + return nil + } + + decoratedEvent, err := event.Decorate(ctx) + if err != nil { + return err + } + + return s.handleNewDecoratedEvent(ctx, decoratedEvent) + }) + + s.beacon.Node().OnExecutionPayloadAvailable(ctx, func(ctx context.Context, ev *eth2v1.ExecutionPayloadAvailableEvent) error { + now := time.Now().Add(s.clockDrift) + + meta, err := s.createNewClientMeta(ctx) + if err != nil { + return err + } + + event := v1.NewEventsExecutionPayloadAvailable(s.log, ev, now, s.beacon, s.duplicateCache.BeaconETHV1EventsExecutionPayloadAvailable, meta) + + ignore, err := event.ShouldIgnore(ctx) + if err != nil { + return err + } + + if ignore { + return nil + } + + decoratedEvent, err := event.Decorate(ctx) + if err != nil { + return err + } + + return s.handleNewDecoratedEvent(ctx, decoratedEvent) + }) + + s.beacon.Node().OnExecutionPayloadBid(ctx, func(ctx context.Context, bid *gloas.SignedExecutionPayloadBid) error { + now := time.Now().Add(s.clockDrift) + + meta, err := s.createNewClientMeta(ctx) + if err != nil { + return err + } + + event := v1.NewEventsExecutionPayloadBid(s.log, bid, now, s.beacon, s.duplicateCache.BeaconETHV1EventsExecutionPayloadBid, meta) + + ignore, err := event.ShouldIgnore(ctx) + if err != nil { + return err + } + + if ignore { + return nil + } + + decoratedEvent, err := event.Decorate(ctx) + if err != nil { + return err + } + + return s.handleNewDecoratedEvent(ctx, decoratedEvent) + }) + + s.beacon.Node().OnPayloadAttestationMessage(ctx, func(ctx context.Context, msg *gloas.PayloadAttestationMessage) error { + now := time.Now().Add(s.clockDrift) + + meta, err := s.createNewClientMeta(ctx) + if err != nil { + return err + } + + event := v1.NewEventsPayloadAttestation(s.log, msg, now, s.beacon, s.duplicateCache.BeaconETHV1EventsPayloadAttestationMessage, meta) + + ignore, err := event.ShouldIgnore(ctx) + if err != nil { + return err + } + + if ignore { + return nil + } + + decoratedEvent, err := event.Decorate(ctx) + if err != nil { + return err + } + + return s.handleNewDecoratedEvent(ctx, decoratedEvent) + }) + + s.beacon.Node().OnProposerPreferences(ctx, func(ctx context.Context, prefs *gloas.SignedProposerPreferences) error { + now := time.Now().Add(s.clockDrift) + + meta, err := s.createNewClientMeta(ctx) + if err != nil { + return err + } + + event := v1.NewEventsProposerPreferences(s.log, prefs, now, s.beacon, s.duplicateCache.BeaconETHV1EventsProposerPreferences, meta) + + ignore, err := event.ShouldIgnore(ctx) + if err != nil { + return err + } + + if ignore { + return nil + } + + decoratedEvent, err := event.Decorate(ctx) + if err != nil { + return err + } + + return s.handleNewDecoratedEvent(ctx, decoratedEvent) + }) + s.beacon.Node().OnFastConfirmation(ctx, func(ctx context.Context, ev *eth2v1.FastConfirmationEvent) error { now := time.Now().Add(s.clockDrift) diff --git a/pkg/server/persistence/cannon/location.go b/pkg/server/persistence/cannon/location.go index 9256a8a5..b1fbb69a 100644 --- a/pkg/server/persistence/cannon/location.go +++ b/pkg/server/persistence/cannon/location.go @@ -203,6 +203,39 @@ func (l *Location) Marshal(msg *xatu.CannonLocation) error { return fmt.Errorf("%w: %s", ErrFailedToMarshal, err) } + l.Value = string(b) + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST: + l.Type = "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST" + + data := msg.GetEthV2BeaconBlockAccessList() + + b, err := protojson.Marshal(data) + if err != nil { + return fmt.Errorf("%w: %s", ErrFailedToMarshal, err) + } + + l.Value = string(b) + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION: + l.Type = "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION" + + data := msg.GetEthV2BeaconBlockPayloadAttestation() + + b, err := protojson.Marshal(data) + if err != nil { + return fmt.Errorf("%w: %s", ErrFailedToMarshal, err) + } + + l.Value = string(b) + case xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID: + l.Type = "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID" + + data := msg.GetEthV2BeaconBlockExecutionPayloadBid() + + b, err := protojson.Marshal(data) + if err != nil { + return fmt.Errorf("%w: %s", ErrFailedToMarshal, err) + } + l.Value = string(b) default: return fmt.Errorf("unknown type: %s", msg.Type) @@ -415,6 +448,45 @@ func (l *Location) Unmarshal() (*xatu.CannonLocation, error) { msg.Data = &xatu.CannonLocation_EthV2BeaconBlockSyncAggregate{ EthV2BeaconBlockSyncAggregate: data, } + case "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST": + msg.Type = xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST + + data := &xatu.CannonLocationEthV2BeaconBlockAccessList{} + + err := protojson.Unmarshal([]byte(l.Value), data) + if err != nil { + return nil, fmt.Errorf("%w: %s", ErrFailedToUnmarshal, err) + } + + msg.Data = &xatu.CannonLocation_EthV2BeaconBlockAccessList{ + EthV2BeaconBlockAccessList: data, + } + case "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION": + msg.Type = xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION + + data := &xatu.CannonLocationEthV2BeaconBlockPayloadAttestation{} + + err := protojson.Unmarshal([]byte(l.Value), data) + if err != nil { + return nil, fmt.Errorf("%w: %s", ErrFailedToUnmarshal, err) + } + + msg.Data = &xatu.CannonLocation_EthV2BeaconBlockPayloadAttestation{ + EthV2BeaconBlockPayloadAttestation: data, + } + case "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID": + msg.Type = xatu.CannonType_BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID + + data := &xatu.CannonLocationEthV2BeaconBlockExecutionPayloadBid{} + + err := protojson.Unmarshal([]byte(l.Value), data) + if err != nil { + return nil, fmt.Errorf("%w: %s", ErrFailedToUnmarshal, err) + } + + msg.Data = &xatu.CannonLocation_EthV2BeaconBlockExecutionPayloadBid{ + EthV2BeaconBlockExecutionPayloadBid: data, + } default: return nil, fmt.Errorf("unknown type: %s", l.Type) } diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload.go new file mode 100644 index 00000000..61a05c2f --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload.go @@ -0,0 +1,46 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + EventsExecutionPayloadType = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD" +) + +type EventsExecutionPayload struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewEventsExecutionPayload(log observability.ContextualLogger, event *xatu.DecoratedEvent) *EventsExecutionPayload { + return &EventsExecutionPayload{ + log: log.WithField("event", EventsExecutionPayloadType), + event: event, + } +} + +func (e *EventsExecutionPayload) Type() string { + return EventsExecutionPayloadType +} + +func (e *EventsExecutionPayload) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_EthV1EventsExecutionPayload) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *EventsExecutionPayload) Filter(_ context.Context) bool { + return false +} + +func (e *EventsExecutionPayload) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_available.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_available.go new file mode 100644 index 00000000..8201743e --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_available.go @@ -0,0 +1,46 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + EventsExecutionPayloadAvailableType = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_AVAILABLE" +) + +type EventsExecutionPayloadAvailable struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewEventsExecutionPayloadAvailable(log observability.ContextualLogger, event *xatu.DecoratedEvent) *EventsExecutionPayloadAvailable { + return &EventsExecutionPayloadAvailable{ + log: log.WithField("event", EventsExecutionPayloadAvailableType), + event: event, + } +} + +func (e *EventsExecutionPayloadAvailable) Type() string { + return EventsExecutionPayloadAvailableType +} + +func (e *EventsExecutionPayloadAvailable) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_EthV1EventsExecutionPayloadAvailable) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *EventsExecutionPayloadAvailable) Filter(_ context.Context) bool { + return false +} + +func (e *EventsExecutionPayloadAvailable) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_bid.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_bid.go new file mode 100644 index 00000000..24bcb90d --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_bid.go @@ -0,0 +1,46 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + EventsExecutionPayloadBidType = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_BID" +) + +type EventsExecutionPayloadBid struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewEventsExecutionPayloadBid(log observability.ContextualLogger, event *xatu.DecoratedEvent) *EventsExecutionPayloadBid { + return &EventsExecutionPayloadBid{ + log: log.WithField("event", EventsExecutionPayloadBidType), + event: event, + } +} + +func (e *EventsExecutionPayloadBid) Type() string { + return EventsExecutionPayloadBidType +} + +func (e *EventsExecutionPayloadBid) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_EthV1EventsExecutionPayloadBid) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *EventsExecutionPayloadBid) Filter(_ context.Context) bool { + return false +} + +func (e *EventsExecutionPayloadBid) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_gossip.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_gossip.go new file mode 100644 index 00000000..971c2170 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_execution_payload_gossip.go @@ -0,0 +1,46 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + EventsExecutionPayloadGossipType = "BEACON_API_ETH_V1_EVENTS_EXECUTION_PAYLOAD_GOSSIP" +) + +type EventsExecutionPayloadGossip struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewEventsExecutionPayloadGossip(log observability.ContextualLogger, event *xatu.DecoratedEvent) *EventsExecutionPayloadGossip { + return &EventsExecutionPayloadGossip{ + log: log.WithField("event", EventsExecutionPayloadGossipType), + event: event, + } +} + +func (e *EventsExecutionPayloadGossip) Type() string { + return EventsExecutionPayloadGossipType +} + +func (e *EventsExecutionPayloadGossip) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_EthV1EventsExecutionPayloadGossip) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *EventsExecutionPayloadGossip) Filter(_ context.Context) bool { + return false +} + +func (e *EventsExecutionPayloadGossip) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_payload_attestation.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_payload_attestation.go new file mode 100644 index 00000000..b03731bb --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_payload_attestation.go @@ -0,0 +1,46 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + EventsPayloadAttestationType = "BEACON_API_ETH_V1_EVENTS_PAYLOAD_ATTESTATION" +) + +type EventsPayloadAttestation struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewEventsPayloadAttestation(log observability.ContextualLogger, event *xatu.DecoratedEvent) *EventsPayloadAttestation { + return &EventsPayloadAttestation{ + log: log.WithField("event", EventsPayloadAttestationType), + event: event, + } +} + +func (e *EventsPayloadAttestation) Type() string { + return EventsPayloadAttestationType +} + +func (e *EventsPayloadAttestation) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_EthV1EventsPayloadAttestation) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *EventsPayloadAttestation) Filter(_ context.Context) bool { + return false +} + +func (e *EventsPayloadAttestation) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v1/events_proposer_preferences.go b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_proposer_preferences.go new file mode 100644 index 00000000..efa6002d --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v1/events_proposer_preferences.go @@ -0,0 +1,46 @@ +package v1 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + EventsProposerPreferencesType = "BEACON_API_ETH_V1_EVENTS_PROPOSER_PREFERENCES" +) + +type EventsProposerPreferences struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewEventsProposerPreferences(log observability.ContextualLogger, event *xatu.DecoratedEvent) *EventsProposerPreferences { + return &EventsProposerPreferences{ + log: log.WithField("event", EventsProposerPreferencesType), + event: event, + } +} + +func (e *EventsProposerPreferences) Type() string { + return EventsProposerPreferencesType +} + +func (e *EventsProposerPreferences) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_EthV1EventsProposerPreferences) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *EventsProposerPreferences) Filter(_ context.Context) bool { + return false +} + +func (e *EventsProposerPreferences) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block.go b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block.go index 52b6b58f..cd19bb5c 100644 --- a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block.go +++ b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block.go @@ -99,6 +99,16 @@ func (b *BeaconBlock) Filter(ctx context.Context) bool { } hash = fuluBlock.FuluBlock.StateRoot + case spec.DataVersionGloas.String(): + //nolint:staticcheck // Handled by v2 + gloasBlock, ok := data.EthV2BeaconBlock.GetMessage().(*v2.EventBlock_GloasBlock) + if !ok { + b.log.Error("failed to cast message to GloasBlock") + + return true + } + + hash = gloasBlock.GloasBlock.GetStateRoot() default: b.log.WithContext(ctx).Error(fmt.Errorf("unknown version: %s", version)) diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_access_list.go b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_access_list.go new file mode 100644 index 00000000..2eb62b05 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_access_list.go @@ -0,0 +1,46 @@ +package v2 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + BeaconBlockAccessListType = "BEACON_API_ETH_V2_BEACON_BLOCK_ACCESS_LIST" +) + +type BeaconBlockAccessList struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewBeaconBlockAccessList(log observability.ContextualLogger, event *xatu.DecoratedEvent) *BeaconBlockAccessList { + return &BeaconBlockAccessList{ + log: log.WithField("event", BeaconBlockAccessListType), + event: event, + } +} + +func (b *BeaconBlockAccessList) Type() string { + return BeaconBlockAccessListType +} + +func (b *BeaconBlockAccessList) Validate(ctx context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV2BeaconBlockAccessList) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *BeaconBlockAccessList) Filter(ctx context.Context) bool { + return false +} + +func (b *BeaconBlockAccessList) AppendServerMeta(ctx context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_execution_payload_bid.go b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_execution_payload_bid.go new file mode 100644 index 00000000..a234d74b --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_execution_payload_bid.go @@ -0,0 +1,46 @@ +package v2 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + BeaconBlockExecutionPayloadBidType = "BEACON_API_ETH_V2_BEACON_BLOCK_EXECUTION_PAYLOAD_BID" +) + +type BeaconBlockExecutionPayloadBid struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewBeaconBlockExecutionPayloadBid(log observability.ContextualLogger, event *xatu.DecoratedEvent) *BeaconBlockExecutionPayloadBid { + return &BeaconBlockExecutionPayloadBid{ + log: log.WithField("event", BeaconBlockExecutionPayloadBidType), + event: event, + } +} + +func (b *BeaconBlockExecutionPayloadBid) Type() string { + return BeaconBlockExecutionPayloadBidType +} + +func (b *BeaconBlockExecutionPayloadBid) Validate(_ context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV2BeaconBlockExecutionPayloadBid) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *BeaconBlockExecutionPayloadBid) Filter(_ context.Context) bool { + return false +} + +func (b *BeaconBlockExecutionPayloadBid) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_payload_attestation.go b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_payload_attestation.go new file mode 100644 index 00000000..74f755dd --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_payload_attestation.go @@ -0,0 +1,46 @@ +package v2 + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + BeaconBlockPayloadAttestationType = "BEACON_API_ETH_V2_BEACON_BLOCK_PAYLOAD_ATTESTATION" +) + +type BeaconBlockPayloadAttestation struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewBeaconBlockPayloadAttestation(log observability.ContextualLogger, event *xatu.DecoratedEvent) *BeaconBlockPayloadAttestation { + return &BeaconBlockPayloadAttestation{ + log: log.WithField("event", BeaconBlockPayloadAttestationType), + event: event, + } +} + +func (b *BeaconBlockPayloadAttestation) Type() string { + return BeaconBlockPayloadAttestationType +} + +func (b *BeaconBlockPayloadAttestation) Validate(_ context.Context) error { + _, ok := b.event.GetData().(*xatu.DecoratedEvent_EthV2BeaconBlockPayloadAttestation) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (b *BeaconBlockPayloadAttestation) Filter(_ context.Context) bool { + return false +} + +func (b *BeaconBlockPayloadAttestation) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_v2.go b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_v2.go index f3e7e889..0ca9f337 100644 --- a/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_v2.go +++ b/pkg/server/service/event-ingester/event/beacon/eth/v2/beacon_block_v2.go @@ -95,6 +95,15 @@ func (b *BeaconBlockV2) Filter(ctx context.Context) bool { } hash = fuluBlock.FuluBlock.StateRoot + case spec.DataVersionGloas.String(): + gloasBlock, ok := data.EthV2BeaconBlockV2.GetMessage().(*v2.EventBlockV2_GloasBlock) + if !ok { + b.log.Error("failed to cast message to GloasBlock") + + return true + } + + hash = gloasBlock.GloasBlock.GetStateRoot() default: b.log.WithContext(ctx).Error(fmt.Errorf("unknown version: %s", version)) diff --git a/pkg/server/service/event-ingester/event/beacon/synthetic/builder_pending_payment_settlement.go b/pkg/server/service/event-ingester/event/beacon/synthetic/builder_pending_payment_settlement.go new file mode 100644 index 00000000..557e432a --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/synthetic/builder_pending_payment_settlement.go @@ -0,0 +1,49 @@ +package synthetic + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + BuilderPendingPaymentSettlementType = "BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT" +) + +// BuilderPendingPaymentSettlement handles BEACON_SYNTHETIC_BUILDER_PENDING_PAYMENT_SETTLEMENT +// events — epoch-boundary builder pending payment settle/drop decisions synthesized +// from beacon-node internals (TYSM-instrumented, EIP-7732 ePBS). +type BuilderPendingPaymentSettlement struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewBuilderPendingPaymentSettlement(log observability.ContextualLogger, event *xatu.DecoratedEvent) *BuilderPendingPaymentSettlement { + return &BuilderPendingPaymentSettlement{ + log: log.WithField("event", BuilderPendingPaymentSettlementType), + event: event, + } +} + +func (e *BuilderPendingPaymentSettlement) Type() string { + return BuilderPendingPaymentSettlementType +} + +func (e *BuilderPendingPaymentSettlement) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_BeaconSyntheticBuilderPendingPaymentSettlement) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *BuilderPendingPaymentSettlement) Filter(_ context.Context) bool { + return false +} + +func (e *BuilderPendingPaymentSettlement) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/synthetic/payload_attestation_processed.go b/pkg/server/service/event-ingester/event/beacon/synthetic/payload_attestation_processed.go new file mode 100644 index 00000000..abff0293 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/synthetic/payload_attestation_processed.go @@ -0,0 +1,49 @@ +package synthetic + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + PayloadAttestationProcessedType = "BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED" +) + +// PayloadAttestationProcessed handles BEACON_SYNTHETIC_PAYLOAD_ATTESTATION_PROCESSED events +// — per-PTC-vote observation synthesized from beacon-node internals +// (TYSM-instrumented, EIP-7732 ePBS). +type PayloadAttestationProcessed struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewPayloadAttestationProcessed(log observability.ContextualLogger, event *xatu.DecoratedEvent) *PayloadAttestationProcessed { + return &PayloadAttestationProcessed{ + log: log.WithField("event", PayloadAttestationProcessedType), + event: event, + } +} + +func (e *PayloadAttestationProcessed) Type() string { + return PayloadAttestationProcessedType +} + +func (e *PayloadAttestationProcessed) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_BeaconSyntheticPayloadAttestationProcessed) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *PayloadAttestationProcessed) Filter(_ context.Context) bool { + return false +} + +func (e *PayloadAttestationProcessed) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/beacon/synthetic/payload_status_resolved.go b/pkg/server/service/event-ingester/event/beacon/synthetic/payload_status_resolved.go new file mode 100644 index 00000000..58f753f0 --- /dev/null +++ b/pkg/server/service/event-ingester/event/beacon/synthetic/payload_status_resolved.go @@ -0,0 +1,49 @@ +package synthetic + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + PayloadStatusResolvedType = "BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED" +) + +// PayloadStatusResolved handles BEACON_SYNTHETIC_PAYLOAD_STATUS_RESOLVED events +// — fork-choice slot payload status transitions synthesized from beacon-node +// internals (TYSM-instrumented, EIP-7732 ePBS). +type PayloadStatusResolved struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewPayloadStatusResolved(log observability.ContextualLogger, event *xatu.DecoratedEvent) *PayloadStatusResolved { + return &PayloadStatusResolved{ + log: log.WithField("event", PayloadStatusResolvedType), + event: event, + } +} + +func (e *PayloadStatusResolved) Type() string { + return PayloadStatusResolvedType +} + +func (e *PayloadStatusResolved) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_BeaconSyntheticPayloadStatusResolved) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *PayloadStatusResolved) Filter(_ context.Context) bool { + return false +} + +func (e *PayloadStatusResolved) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/event.go b/pkg/server/service/event-ingester/event/event.go index 09c20e2a..5c6ef9ff 100644 --- a/pkg/server/service/event-ingester/event/event.go +++ b/pkg/server/service/event-ingester/event/event.go @@ -11,6 +11,7 @@ import ( v1 "github.com/ethpandaops/xatu/pkg/server/service/event-ingester/event/beacon/eth/v1" v2 "github.com/ethpandaops/xatu/pkg/server/service/event-ingester/event/beacon/eth/v2" v3 "github.com/ethpandaops/xatu/pkg/server/service/event-ingester/event/beacon/eth/v3" + "github.com/ethpandaops/xatu/pkg/server/service/event-ingester/event/beacon/synthetic" "github.com/ethpandaops/xatu/pkg/server/service/event-ingester/event/consensus" "github.com/ethpandaops/xatu/pkg/server/service/event-ingester/event/execution" "github.com/ethpandaops/xatu/pkg/server/service/event-ingester/event/libp2p" @@ -65,6 +66,7 @@ var ( TypeBeaconEthV2BeaconExecutionTransaction Type = v2.BeaconBlockExecutionTransactionType TypeBeaconEthV2BeaconBLSToExecutionChange Type = v2.BeaconBlockBLSToExecutionChangeType TypeBeaconEthV2BeaconWithdrawal Type = v2.BeaconBlockWithdrawalType + TypeBeaconEthV2BeaconBlockAccessList Type = v2.BeaconBlockAccessListType TypeBeaconETHV1EventsBlobSidecar Type = v1.EventsBlobSidecarType TypeBeaconETHV1EventsDataColumnSidecar Type = v1.EventsDataColumnSidecarType TypeBeaconETHV1BeaconBlobSidecar Type = v1.BeaconBlobSidecarType @@ -111,6 +113,30 @@ var ( TypeLibP2PTraceSyntheticHeartbeat Type = Type(libp2p.TraceSyntheticHeartbeatType) TypeLibP2PTraceIdentify Type = Type(libp2p.TraceIdentifyType) TypeLibP2PRPCDataColumnCustodyProbe Type = Type(libp2p.TypeLibp2pRPCDataColumnCustodyProbe) + + // EIP-7732 ePBS: Sentry SSE events + TypeBeaconETHV1EventsExecutionPayload Type = v1.EventsExecutionPayloadType + TypeBeaconETHV1EventsExecutionPayloadGossip Type = v1.EventsExecutionPayloadGossipType + TypeBeaconETHV1EventsExecutionPayloadAvailable Type = v1.EventsExecutionPayloadAvailableType + TypeBeaconETHV1EventsPayloadAttestation Type = v1.EventsPayloadAttestationType + TypeBeaconETHV1EventsExecutionPayloadBid Type = v1.EventsExecutionPayloadBidType + TypeBeaconETHV1EventsProposerPreferences Type = v1.EventsProposerPreferencesType + + // EIP-7732 ePBS: Cannon derived events + TypeBeaconEthV2BeaconBlockPayloadAttestation Type = v2.BeaconBlockPayloadAttestationType + TypeBeaconEthV2BeaconBlockExecutionPayloadBid Type = v2.BeaconBlockExecutionPayloadBidType + + // EIP-7732 ePBS: P2P gossip events + TypeLibP2PTraceGossipSubExecutionPayloadEnvelope Type = Type(libp2p.TraceGossipSubExecutionPayloadEnvelopeType) + TypeLibP2PTraceGossipSubExecutionPayloadBid Type = Type(libp2p.TraceGossipSubExecutionPayloadBidType) + TypeLibP2PTraceGossipSubPayloadAttestationMessage Type = Type(libp2p.TraceGossipSubPayloadAttestationMessageType) + TypeLibP2PTraceGossipSubProposerPreferences Type = Type(libp2p.TraceGossipSubProposerPreferencesType) + + // EIP-7732 ePBS: synthesized observability events from beacon-node internals + // (TYSM-instrumented). No beacon API equivalent today. + TypeBeaconSyntheticPayloadStatusResolved Type = synthetic.PayloadStatusResolvedType + TypeBeaconSyntheticBuilderPendingPaymentSettlement Type = synthetic.BuilderPendingPaymentSettlementType + TypeBeaconSyntheticPayloadAttestationProcessed Type = synthetic.PayloadAttestationProcessedType ) type Event interface { @@ -270,6 +296,9 @@ func NewEventRouter(log observability.ContextualLogger, cache store.Cache, geoip router.RegisterHandler(TypeBeaconEthV2BeaconWithdrawal, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { return v2.NewBeaconBlockWithdrawal(router.log, event), nil }) + router.RegisterHandler(TypeBeaconEthV2BeaconBlockAccessList, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v2.NewBeaconBlockAccessList(router.log, event), nil + }) router.RegisterHandler(TypeBeaconETHV1EventsBlobSidecar, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { return v1.NewEventsBlobSidecar(router.log, event), nil }) @@ -400,6 +429,59 @@ func NewEventRouter(log observability.ContextualLogger, cache store.Cache, geoip return libp2p.NewDataColumnCustodyProbe(router.log, event), nil }) + // EIP-7732 ePBS: Sentry SSE events + router.RegisterHandler(TypeBeaconETHV1EventsExecutionPayload, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v1.NewEventsExecutionPayload(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconETHV1EventsExecutionPayloadGossip, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v1.NewEventsExecutionPayloadGossip(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconETHV1EventsExecutionPayloadAvailable, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v1.NewEventsExecutionPayloadAvailable(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconETHV1EventsPayloadAttestation, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v1.NewEventsPayloadAttestation(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconETHV1EventsExecutionPayloadBid, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v1.NewEventsExecutionPayloadBid(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconETHV1EventsProposerPreferences, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v1.NewEventsProposerPreferences(router.log, event), nil + }) + + // EIP-7732 ePBS: Cannon derived events + router.RegisterHandler(TypeBeaconEthV2BeaconBlockPayloadAttestation, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v2.NewBeaconBlockPayloadAttestation(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconEthV2BeaconBlockExecutionPayloadBid, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return v2.NewBeaconBlockExecutionPayloadBid(router.log, event), nil + }) + + // EIP-7732 ePBS: P2P gossip events + router.RegisterHandler(TypeLibP2PTraceGossipSubExecutionPayloadEnvelope, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return libp2p.NewTraceGossipSubExecutionPayloadEnvelope(router.log, event), nil + }) + router.RegisterHandler(TypeLibP2PTraceGossipSubExecutionPayloadBid, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return libp2p.NewTraceGossipSubExecutionPayloadBid(router.log, event), nil + }) + router.RegisterHandler(TypeLibP2PTraceGossipSubPayloadAttestationMessage, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return libp2p.NewTraceGossipSubPayloadAttestationMessage(router.log, event), nil + }) + router.RegisterHandler(TypeLibP2PTraceGossipSubProposerPreferences, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return libp2p.NewTraceGossipSubProposerPreferences(router.log, event), nil + }) + + // EIP-7732 ePBS: synthesized observability events (TYSM-instrumented) + router.RegisterHandler(TypeBeaconSyntheticPayloadStatusResolved, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return synthetic.NewPayloadStatusResolved(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconSyntheticBuilderPendingPaymentSettlement, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return synthetic.NewBuilderPendingPaymentSettlement(router.log, event), nil + }) + router.RegisterHandler(TypeBeaconSyntheticPayloadAttestationProcessed, func(event *xatu.DecoratedEvent, router *EventRouter) (Event, error) { + return synthetic.NewPayloadAttestationProcessed(router.log, event), nil + }) + return router } diff --git a/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_execution_payload_bid.go b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_execution_payload_bid.go new file mode 100644 index 00000000..2007f280 --- /dev/null +++ b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_execution_payload_bid.go @@ -0,0 +1,46 @@ +package libp2p + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + TraceGossipSubExecutionPayloadBidType = "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_BID" +) + +type TraceGossipSubExecutionPayloadBid struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewTraceGossipSubExecutionPayloadBid(log observability.ContextualLogger, event *xatu.DecoratedEvent) *TraceGossipSubExecutionPayloadBid { + return &TraceGossipSubExecutionPayloadBid{ + log: log.WithField("event", TraceGossipSubExecutionPayloadBidType), + event: event, + } +} + +func (e *TraceGossipSubExecutionPayloadBid) Type() string { + return TraceGossipSubExecutionPayloadBidType +} + +func (e *TraceGossipSubExecutionPayloadBid) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadBid) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *TraceGossipSubExecutionPayloadBid) Filter(_ context.Context) bool { + return false +} + +func (e *TraceGossipSubExecutionPayloadBid) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_execution_payload_envelope.go b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_execution_payload_envelope.go new file mode 100644 index 00000000..eb8ca97e --- /dev/null +++ b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_execution_payload_envelope.go @@ -0,0 +1,46 @@ +package libp2p + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + TraceGossipSubExecutionPayloadEnvelopeType = "LIBP2P_TRACE_GOSSIPSUB_EXECUTION_PAYLOAD_ENVELOPE" +) + +type TraceGossipSubExecutionPayloadEnvelope struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewTraceGossipSubExecutionPayloadEnvelope(log observability.ContextualLogger, event *xatu.DecoratedEvent) *TraceGossipSubExecutionPayloadEnvelope { + return &TraceGossipSubExecutionPayloadEnvelope{ + log: log.WithField("event", TraceGossipSubExecutionPayloadEnvelopeType), + event: event, + } +} + +func (e *TraceGossipSubExecutionPayloadEnvelope) Type() string { + return TraceGossipSubExecutionPayloadEnvelopeType +} + +func (e *TraceGossipSubExecutionPayloadEnvelope) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_Libp2PTraceGossipsubExecutionPayloadEnvelope) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *TraceGossipSubExecutionPayloadEnvelope) Filter(_ context.Context) bool { + return false +} + +func (e *TraceGossipSubExecutionPayloadEnvelope) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_payload_attestation_message.go b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_payload_attestation_message.go new file mode 100644 index 00000000..af299230 --- /dev/null +++ b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_payload_attestation_message.go @@ -0,0 +1,46 @@ +package libp2p + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + TraceGossipSubPayloadAttestationMessageType = "LIBP2P_TRACE_GOSSIPSUB_PAYLOAD_ATTESTATION_MESSAGE" +) + +type TraceGossipSubPayloadAttestationMessage struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewTraceGossipSubPayloadAttestationMessage(log observability.ContextualLogger, event *xatu.DecoratedEvent) *TraceGossipSubPayloadAttestationMessage { + return &TraceGossipSubPayloadAttestationMessage{ + log: log.WithField("event", TraceGossipSubPayloadAttestationMessageType), + event: event, + } +} + +func (e *TraceGossipSubPayloadAttestationMessage) Type() string { + return TraceGossipSubPayloadAttestationMessageType +} + +func (e *TraceGossipSubPayloadAttestationMessage) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_Libp2PTraceGossipsubPayloadAttestationMessage) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *TraceGossipSubPayloadAttestationMessage) Filter(_ context.Context) bool { + return false +} + +func (e *TraceGossipSubPayloadAttestationMessage) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +} diff --git a/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_proposer_preferences.go b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_proposer_preferences.go new file mode 100644 index 00000000..b5c2b4eb --- /dev/null +++ b/pkg/server/service/event-ingester/event/libp2p/trace_gossipsub_proposer_preferences.go @@ -0,0 +1,46 @@ +package libp2p + +import ( + "context" + "errors" + + "github.com/ethpandaops/xatu/pkg/observability" + "github.com/ethpandaops/xatu/pkg/proto/xatu" +) + +const ( + TraceGossipSubProposerPreferencesType = "LIBP2P_TRACE_GOSSIPSUB_PROPOSER_PREFERENCES" +) + +type TraceGossipSubProposerPreferences struct { + log observability.ContextualLogger + event *xatu.DecoratedEvent +} + +func NewTraceGossipSubProposerPreferences(log observability.ContextualLogger, event *xatu.DecoratedEvent) *TraceGossipSubProposerPreferences { + return &TraceGossipSubProposerPreferences{ + log: log.WithField("event", TraceGossipSubProposerPreferencesType), + event: event, + } +} + +func (e *TraceGossipSubProposerPreferences) Type() string { + return TraceGossipSubProposerPreferencesType +} + +func (e *TraceGossipSubProposerPreferences) Validate(_ context.Context) error { + _, ok := e.event.GetData().(*xatu.DecoratedEvent_Libp2PTraceGossipsubProposerPreferences) + if !ok { + return errors.New("failed to cast event data") + } + + return nil +} + +func (e *TraceGossipSubProposerPreferences) Filter(_ context.Context) bool { + return false +} + +func (e *TraceGossipSubProposerPreferences) AppendServerMeta(_ context.Context, meta *xatu.ServerMeta) *xatu.ServerMeta { + return meta +}