code.vegaprotocol.io/vega@v0.79.0/datanode/broker/convert.go (about)

     1  // Copyright (C) 2023 Gobalsky Labs Limited
     2  //
     3  // This program is free software: you can redistribute it and/or modify
     4  // it under the terms of the GNU Affero General Public License as
     5  // published by the Free Software Foundation, either version 3 of the
     6  // License, or (at your option) any later version.
     7  //
     8  // This program is distributed in the hope that it will be useful,
     9  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    10  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    11  // GNU Affero General Public License for more details.
    12  //
    13  // You should have received a copy of the GNU Affero General Public License
    14  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    15  
    16  package broker
    17  
    18  import (
    19  	"context"
    20  
    21  	"code.vegaprotocol.io/vega/core/events"
    22  	eventspb "code.vegaprotocol.io/vega/protos/vega/events/v1"
    23  )
    24  
    25  func toEvent(ctx context.Context, be *eventspb.BusEvent) events.Event {
    26  	switch be.Type {
    27  	case eventspb.BusEventType_BUS_EVENT_TYPE_TIME_UPDATE:
    28  		return events.TimeEventFromStream(ctx, be)
    29  	case eventspb.BusEventType_BUS_EVENT_TYPE_LEDGER_MOVEMENTS:
    30  		return events.TransferResponseEventFromStream(ctx, be)
    31  	case eventspb.BusEventType_BUS_EVENT_TYPE_POSITION_RESOLUTION:
    32  		return events.PositionResolutionEventFromStream(ctx, be)
    33  	case eventspb.BusEventType_BUS_EVENT_TYPE_ORDER:
    34  		return events.OrderEventFromStream(ctx, be)
    35  	case eventspb.BusEventType_BUS_EVENT_TYPE_ACCOUNT:
    36  		return events.AccountEventFromStream(ctx, be)
    37  	case eventspb.BusEventType_BUS_EVENT_TYPE_PARTY:
    38  		return events.PartyEventFromStream(ctx, be)
    39  	case eventspb.BusEventType_BUS_EVENT_TYPE_TRADE:
    40  		return events.TradeEventFromStream(ctx, be)
    41  	case eventspb.BusEventType_BUS_EVENT_TYPE_MARGIN_LEVELS:
    42  		return events.MarginLevelsEventFromStream(ctx, be)
    43  	case eventspb.BusEventType_BUS_EVENT_TYPE_PROPOSAL:
    44  		return events.ProposalEventFromStream(ctx, be)
    45  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOTE:
    46  		return events.VoteEventFromStream(ctx, be)
    47  	case eventspb.BusEventType_BUS_EVENT_TYPE_MARKET_DATA:
    48  		return events.MarketDataEventFromStream(ctx, be)
    49  	case eventspb.BusEventType_BUS_EVENT_TYPE_NODE_SIGNATURE:
    50  		return events.NodeSignatureEventFromStream(ctx, be)
    51  	case eventspb.BusEventType_BUS_EVENT_TYPE_LOSS_SOCIALIZATION:
    52  		return events.LossSocializationEventFromStream(ctx, be)
    53  	case eventspb.BusEventType_BUS_EVENT_TYPE_SETTLE_POSITION:
    54  		return events.SettlePositionEventFromStream(ctx, be)
    55  	case eventspb.BusEventType_BUS_EVENT_TYPE_SETTLE_DISTRESSED:
    56  		return events.SettleDistressedEventFromStream(ctx, be)
    57  	case eventspb.BusEventType_BUS_EVENT_TYPE_MARKET_CREATED:
    58  		return events.MarketCreatedEventFromStream(ctx, be)
    59  	case eventspb.BusEventType_BUS_EVENT_TYPE_ASSET:
    60  		return events.AssetEventFromStream(ctx, be)
    61  	case eventspb.BusEventType_BUS_EVENT_TYPE_MARKET_TICK:
    62  		return events.MarketTickEventFromStream(ctx, be)
    63  	case eventspb.BusEventType_BUS_EVENT_TYPE_WITHDRAWAL:
    64  		return events.WithdrawalEventFromStream(ctx, be)
    65  	case eventspb.BusEventType_BUS_EVENT_TYPE_DEPOSIT:
    66  		return events.DepositEventFromStream(ctx, be)
    67  	case eventspb.BusEventType_BUS_EVENT_TYPE_AUCTION:
    68  		return events.AuctionEventFromStream(ctx, be)
    69  	case eventspb.BusEventType_BUS_EVENT_TYPE_RISK_FACTOR:
    70  		return events.RiskFactorEventFromStream(ctx, be)
    71  	case eventspb.BusEventType_BUS_EVENT_TYPE_NETWORK_PARAMETER:
    72  		return events.NetworkParameterEventFromStream(ctx, be)
    73  	case eventspb.BusEventType_BUS_EVENT_TYPE_LIQUIDITY_PROVISION:
    74  		return events.LiquidityProvisionEventFromStream(ctx, be)
    75  	case eventspb.BusEventType_BUS_EVENT_TYPE_MARKET_UPDATED:
    76  		return events.MarketUpdatedEventFromStream(ctx, be)
    77  	case eventspb.BusEventType_BUS_EVENT_TYPE_ORACLE_SPEC:
    78  		return events.OracleSpecEventFromStream(ctx, be)
    79  	case eventspb.BusEventType_BUS_EVENT_TYPE_ORACLE_DATA:
    80  		return events.OracleDataEventFromStream(ctx, be)
    81  	case eventspb.BusEventType_BUS_EVENT_TYPE_TX_ERROR:
    82  		return events.TxErrEventFromStream(ctx, be)
    83  	case eventspb.BusEventType_BUS_EVENT_TYPE_EPOCH_UPDATE:
    84  		return events.EpochEventFromStream(ctx, be)
    85  	case eventspb.BusEventType_BUS_EVENT_TYPE_DELEGATION_BALANCE:
    86  		return events.DelegationBalanceEventFromStream(ctx, be)
    87  	case eventspb.BusEventType_BUS_EVENT_TYPE_VALIDATOR_UPDATE:
    88  		return events.ValidatorUpdateEventFromStream(ctx, be)
    89  	case eventspb.BusEventType_BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT:
    90  		return events.RewardPayoutEventFromStream(ctx, be)
    91  	case eventspb.BusEventType_BUS_EVENT_TYPE_STAKE_LINKING:
    92  		return events.StakeLinkingFromStream(ctx, be)
    93  	case eventspb.BusEventType_BUS_EVENT_TYPE_VALIDATOR_SCORE:
    94  		return events.ValidatorScoreEventFromStream(ctx, be)
    95  	case eventspb.BusEventType_BUS_EVENT_TYPE_CHECKPOINT:
    96  		return events.CheckpointEventFromStream(ctx, be)
    97  	case eventspb.BusEventType_BUS_EVENT_TYPE_KEY_ROTATION:
    98  		return events.KeyRotationEventFromStream(ctx, be)
    99  	case eventspb.BusEventType_BUS_EVENT_TYPE_STATE_VAR:
   100  		return events.StateVarEventFromStream(ctx, be)
   101  	case eventspb.BusEventType_BUS_EVENT_TYPE_NETWORK_LIMITS:
   102  		return events.NetworkLimitsEventFromStream(ctx, be)
   103  	case eventspb.BusEventType_BUS_EVENT_TYPE_TRANSFER:
   104  		return events.TransferFundsEventFromStream(ctx, be)
   105  	case eventspb.BusEventType_BUS_EVENT_TYPE_VALIDATOR_RANKING:
   106  		return events.ValidatorRankingEventFromStream(ctx, be)
   107  	case eventspb.BusEventType_BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD:
   108  		return events.ERC20MultiSigThresholdSetFromStream(ctx, be)
   109  	case eventspb.BusEventType_BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT:
   110  		return events.ERC20MultiSigSignerFromStream(ctx, be)
   111  	case eventspb.BusEventType_BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED:
   112  		return events.ERC20MultiSigSignerAddedFromStream(ctx, be)
   113  	case eventspb.BusEventType_BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED:
   114  		return events.ERC20MultiSigSignerRemovedFromStream(ctx, be)
   115  	case eventspb.BusEventType_BUS_EVENT_TYPE_POSITION_STATE:
   116  		return events.PositionStateEventFromStream(ctx, be)
   117  	case eventspb.BusEventType_BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION:
   118  		return events.EthereumKeyRotationEventFromStream(ctx, be)
   119  	case eventspb.BusEventType_BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL:
   120  		return events.ProtocolUpgradeProposalEventFromStream(ctx, be)
   121  	case eventspb.BusEventType_BUS_EVENT_TYPE_BEGIN_BLOCK:
   122  		return events.BeginBlockEventFromStream(ctx, be)
   123  	case eventspb.BusEventType_BUS_EVENT_TYPE_END_BLOCK:
   124  		return events.EndBlockEventFromStream(ctx, be)
   125  	case eventspb.BusEventType_BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED:
   126  		return events.ProtocolUpgradeStartedEventFromStream(ctx, be)
   127  	case eventspb.BusEventType_BUS_EVENT_TYPE_SETTLE_MARKET:
   128  		return events.SettleMarketEventFromStream(ctx, be)
   129  	case eventspb.BusEventType_BUS_EVENT_TYPE_TRANSACTION_RESULT:
   130  		return events.TransactionResultEventFromStream(ctx, be)
   131  	case eventspb.BusEventType_BUS_EVENT_TYPE_SNAPSHOT_TAKEN:
   132  		return events.SnapthostTakenEventFromStream(ctx, be)
   133  	case eventspb.BusEventType_BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED:
   134  		return events.DistressedOrdersEventFromStream(ctx, be)
   135  	case eventspb.BusEventType_BUS_EVENT_TYPE_EXPIRED_ORDERS:
   136  		return events.ExpiredOrdersEventFromStream(ctx, be)
   137  	case eventspb.BusEventType_BUS_EVENT_TYPE_DISTRESSED_POSITIONS:
   138  		return events.DistressedPositionsEventFromStream(ctx, be)
   139  	case eventspb.BusEventType_BUS_EVENT_TYPE_STOP_ORDER:
   140  		return events.StopOrderEventFromStream(ctx, be)
   141  	case eventspb.BusEventType_BUS_EVENT_TYPE_FUNDING_PERIOD:
   142  		return events.FundingPeriodEventFromStream(ctx, be)
   143  	case eventspb.BusEventType_BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT:
   144  		return events.FundingPeriodDataPointEventFromStream(ctx, be)
   145  	case eventspb.BusEventType_BUS_EVENT_TYPE_TEAM_CREATED:
   146  		return events.TeamCreatedEventFromStream(ctx, be)
   147  	case eventspb.BusEventType_BUS_EVENT_TYPE_TEAM_UPDATED:
   148  		return events.TeamUpdatedEventFromStream(ctx, be)
   149  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFEREE_SWITCHED_TEAM:
   150  		return events.RefereeSwitchedTeamEventFromStream(ctx, be)
   151  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFEREE_JOINED_TEAM:
   152  		return events.RefereeJoinedTeamEventFromStream(ctx, be)
   153  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFERRAL_PROGRAM_STARTED:
   154  		return events.ReferralProgramStartedEventFromStream(ctx, be)
   155  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFERRAL_PROGRAM_ENDED:
   156  		return events.ReferralProgramEndedEventFromStream(ctx, be)
   157  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFERRAL_PROGRAM_UPDATED:
   158  		return events.ReferralProgramUpdatedEventFromStream(ctx, be)
   159  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFERRAL_SET_CREATED:
   160  		return events.ReferralSetCreatedEventFromStream(ctx, be)
   161  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFEREE_JOINED_REFERRAL_SET:
   162  		return events.RefereeJoinedReferralSetEventFromStream(ctx, be)
   163  	case eventspb.BusEventType_BUS_EVENT_TYPE_PARTY_ACTIVITY_STREAK:
   164  		return events.PartyActivityStreakEventFromStream(ctx, be)
   165  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_DISCOUNT_PROGRAM_STARTED:
   166  		return events.VolumeDiscountProgramStartedEventFromStream(ctx, be)
   167  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_DISCOUNT_PROGRAM_ENDED:
   168  		return events.VolumeDiscountProgramEndedEventFromStream(ctx, be)
   169  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_DISCOUNT_PROGRAM_UPDATED:
   170  		return events.VolumeDiscountProgramUpdatedEventFromStream(ctx, be)
   171  	case eventspb.BusEventType_BUS_EVENT_TYPE_REFERRAL_SET_STATS_UPDATED:
   172  		return events.ReferralSetStatsUpdatedEventFromStream(ctx, be)
   173  	case eventspb.BusEventType_BUS_EVENT_TYPE_VESTING_STATS_UPDATED:
   174  		return events.VestingStatsUpdatedEventFromStream(ctx, be)
   175  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_DISCOUNT_STATS_UPDATED:
   176  		return events.VolumeDiscountStatsUpdatedEventFromStream(ctx, be)
   177  	case eventspb.BusEventType_BUS_EVENT_TYPE_FEES_STATS_UPDATED:
   178  		return events.FeesStatsEventFromStream(ctx, be)
   179  	case eventspb.BusEventType_BUS_EVENT_TYPE_FUNDING_PAYMENTS:
   180  		return events.FundingPaymentEventFromStream(ctx, be)
   181  	case eventspb.BusEventType_BUS_EVENT_TYPE_PAID_LIQUIDITY_FEES_STATS_UPDATED:
   182  		return events.PaidLiquidityFeesStatsEventFromStream(ctx, be)
   183  	case eventspb.BusEventType_BUS_EVENT_TYPE_VESTING_SUMMARY:
   184  		return events.VestingBalancesSummaryEventFromStream(ctx, be)
   185  	case eventspb.BusEventType_BUS_EVENT_TYPE_TRANSFER_FEES_PAID:
   186  		return events.TransferFeesEventFromStream(ctx, be)
   187  	case eventspb.BusEventType_BUS_EVENT_TYPE_TRANSFER_FEES_DISCOUNT_UPDATED:
   188  		return events.TransferFeesDiscountUpdatedFromStream(ctx, be)
   189  	case eventspb.BusEventType_BUS_EVENT_TYPE_PARTY_MARGIN_MODE_UPDATED:
   190  		return events.PartyMarginModeUpdatedEventFromStream(ctx, be)
   191  	case eventspb.BusEventType_BUS_EVENT_TYPE_PARTY_PROFILE_UPDATED:
   192  		return events.PartyProfileUpdatedEventFromStream(ctx, be)
   193  	case eventspb.BusEventType_BUS_EVENT_TYPE_TEAMS_STATS_UPDATED:
   194  		return events.TeamsStatsUpdatedEventFromStream(ctx, be)
   195  	case eventspb.BusEventType_BUS_EVENT_TYPE_TIME_WEIGHTED_NOTIONAL_POSITION_UPDATED:
   196  		return events.TimeWeightedNotionalPositionUpdatedEventFromStream(ctx, be)
   197  	case eventspb.BusEventType_BUS_EVENT_TYPE_CANCELLED_ORDERS:
   198  		return events.CancelledOrdersEventFromStream(ctx, be)
   199  	case eventspb.BusEventType_BUS_EVENT_TYPE_GAME_SCORES:
   200  		return events.GameScoresEventFromStream(ctx, be)
   201  	case eventspb.BusEventType_BUS_EVENT_TYPE_AMM:
   202  		return events.AMMPoolEventFromStream(ctx, be)
   203  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_REBATE_PROGRAM_STARTED:
   204  		return events.VolumeRebateProgramStartedEventFromStream(ctx, be)
   205  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_REBATE_PROGRAM_ENDED:
   206  		return events.VolumeRebateProgramEndedEventFromStream(ctx, be)
   207  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_REBATE_PROGRAM_UPDATED:
   208  		return events.VolumeRebateProgramUpdatedEventFromStream(ctx, be)
   209  	case eventspb.BusEventType_BUS_EVENT_TYPE_VOLUME_REBATE_STATS_UPDATED:
   210  		return events.VolumeRebateStatsUpdatedEventFromStream(ctx, be)
   211  	case eventspb.BusEventType_BUS_EVENT_TYPE_AUTOMATED_PURCHASE_ANNOUNCED:
   212  		return events.AutomatedPurchaseAnnouncedFromStream(ctx, be)
   213  	}
   214  
   215  	return nil
   216  }