code.vegaprotocol.io/vega@v0.79.0/cmd/data-node/commands/start/sqlsubscribers.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 start 17 18 import ( 19 "context" 20 21 "code.vegaprotocol.io/vega/datanode/broker" 22 "code.vegaprotocol.io/vega/datanode/candlesv2" 23 "code.vegaprotocol.io/vega/datanode/service" 24 "code.vegaprotocol.io/vega/datanode/sqlstore" 25 "code.vegaprotocol.io/vega/datanode/sqlsubscribers" 26 "code.vegaprotocol.io/vega/logging" 27 ) 28 29 type SQLSubscribers struct { 30 // Stores 31 assetStore *sqlstore.Assets 32 blockStore *sqlstore.Blocks 33 accountStore *sqlstore.Accounts 34 balanceStore *sqlstore.Balances 35 ledger *sqlstore.Ledger 36 partyStore *sqlstore.Parties 37 orderStore *sqlstore.Orders 38 tradeStore *sqlstore.Trades 39 networkLimitsStore *sqlstore.NetworkLimits 40 marketDataStore *sqlstore.MarketData 41 rewardStore *sqlstore.Rewards 42 delegationStore *sqlstore.Delegations 43 marketsStore *sqlstore.Markets 44 epochStore *sqlstore.Epochs 45 depositStore *sqlstore.Deposits 46 withdrawalsStore *sqlstore.Withdrawals 47 proposalStore *sqlstore.Proposals 48 voteStore *sqlstore.Votes 49 marginLevelsStore *sqlstore.MarginLevels 50 riskFactorStore *sqlstore.RiskFactors 51 netParamStore *sqlstore.NetworkParameters 52 checkpointStore *sqlstore.Checkpoints 53 oracleSpecStore *sqlstore.OracleSpec 54 oracleDataStore *sqlstore.OracleData 55 liquidityProvisionStore *sqlstore.LiquidityProvision 56 positionStore *sqlstore.Positions 57 transfersStore *sqlstore.Transfers 58 stakeLinkingStore *sqlstore.StakeLinking 59 notaryStore *sqlstore.Notary 60 multiSigSignerAddedStore *sqlstore.ERC20MultiSigSignerEvent 61 keyRotationsStore *sqlstore.KeyRotations 62 ethereumKeyRotationsStore *sqlstore.EthereumKeyRotations 63 nodeStore *sqlstore.Node 64 candleStore *sqlstore.Candles 65 chainStore *sqlstore.Chain 66 pupStore *sqlstore.ProtocolUpgradeProposals 67 snapStore *sqlstore.CoreSnapshotData 68 stopOrderStore *sqlstore.StopOrders 69 fundingPeriodStore *sqlstore.FundingPeriods 70 partyActivityStreakStore *sqlstore.PartyActivityStreaks 71 referralProgramStore *sqlstore.ReferralPrograms 72 referralSetsStore *sqlstore.ReferralSets 73 teamsStore *sqlstore.Teams 74 vestingStatsStore *sqlstore.VestingStats 75 feesStatsStore *sqlstore.FeesStats 76 fundingPaymentStore *sqlstore.FundingPayments 77 volumeDiscountStatsStore *sqlstore.VolumeDiscountStats 78 volumeDiscountProgramsStore *sqlstore.VolumeDiscountPrograms 79 paidLiquidityFeesStatsStore *sqlstore.PaidLiquidityFeesStats 80 partyLockedBalancesStore *sqlstore.PartyLockedBalance 81 partyVestingBalancesStore *sqlstore.PartyVestingBalance 82 gamesStore *sqlstore.Games 83 marginModesStore *sqlstore.MarginModes 84 timeWeightedNotionalPositionStore *sqlstore.TimeWeightedNotionalPosition 85 gameScoreStore *sqlstore.GameScores 86 ammPoolsStore *sqlstore.AMMPools 87 volumeRebateStatsStore *sqlstore.VolumeRebateStats 88 volumeRebateProgramsStore *sqlstore.VolumeRebatePrograms 89 90 // Services 91 candleService *candlesv2.Svc 92 marketDepthService *service.MarketDepth 93 riskService *service.Risk 94 marketDataService *service.MarketData 95 positionService *service.Position 96 tradeService *service.Trade 97 ledgerService *service.Ledger 98 rewardService *service.Reward 99 delegationService *service.Delegation 100 assetService *service.Asset 101 blockService *service.Block 102 partyService *service.Party 103 accountService *service.Account 104 orderService *service.Order 105 networkLimitsService *service.NetworkLimits 106 marketsService *service.Markets 107 epochService *service.Epoch 108 depositService *service.Deposit 109 withdrawalService *service.Withdrawal 110 governanceService *service.Governance 111 riskFactorService *service.RiskFactor 112 networkParameterService *service.NetworkParameter 113 checkpointService *service.Checkpoint 114 oracleSpecService *service.OracleSpec 115 oracleDataService *service.OracleData 116 liquidityProvisionService *service.LiquidityProvision 117 transferService *service.Transfer 118 stakeLinkingService *service.StakeLinking 119 notaryService *service.Notary 120 multiSigService *service.MultiSig 121 keyRotationsService *service.KeyRotations 122 ethereumKeyRotationsService *service.EthereumKeyRotation 123 nodeService *service.Node 124 chainService *service.Chain 125 protocolUpgradeService *service.ProtocolUpgrade 126 coreSnapshotService *service.SnapshotData 127 stopOrderService *service.StopOrders 128 fundingPeriodService *service.FundingPeriods 129 partyActivityStreakService *service.PartyActivityStreak 130 referralProgramService *service.ReferralPrograms 131 referralSetsService *service.ReferralSets 132 teamsService *service.Teams 133 vestingStatsService *service.VestingStats 134 feesStatsService *service.FeesStats 135 fundingPaymentService *service.FundingPayment 136 volumeDiscountStatsService *service.VolumeDiscountStats 137 volumeDiscountProgramService *service.VolumeDiscountPrograms 138 paidLiquidityFeesStatsService *service.PaidLiquidityFeesStats 139 partyLockedBalancesService *service.PartyLockedBalances 140 partyVestingBalancesService *service.PartyVestingBalances 141 transactionResultsService *service.TransactionResults 142 gamesService *service.Games 143 marginModesService *service.MarginModes 144 timeWeightedNotionalPositionService *service.TimeWeightedNotionalPosition 145 gameScoreService *service.GameScore 146 ammPoolsService *service.AMMPools 147 volumeRebateStatsService *service.VolumeRebateStats 148 volumeRebateProgramService *service.VolumeRebatePrograms 149 150 // Subscribers 151 accountSub *sqlsubscribers.Account 152 assetSub *sqlsubscribers.Asset 153 partySub *sqlsubscribers.Party 154 transferResponseSub *sqlsubscribers.TransferResponse 155 orderSub *sqlsubscribers.Order 156 networkLimitsSub *sqlsubscribers.NetworkLimits 157 marketDataSub *sqlsubscribers.MarketData 158 tradesSub *sqlsubscribers.TradeSubscriber 159 rewardsSub *sqlsubscribers.Reward 160 delegationsSub *sqlsubscribers.Delegation 161 marketCreatedSub *sqlsubscribers.MarketCreated 162 marketUpdatedSub *sqlsubscribers.MarketUpdated 163 epochSub *sqlsubscribers.Epoch 164 depositSub *sqlsubscribers.Deposit 165 withdrawalSub *sqlsubscribers.Withdrawal 166 proposalsSub *sqlsubscribers.Proposal 167 votesSub *sqlsubscribers.Vote 168 marginLevelsSub *sqlsubscribers.MarginLevels 169 riskFactorSub *sqlsubscribers.RiskFactor 170 netParamSub *sqlsubscribers.NetworkParameter 171 checkpointSub *sqlsubscribers.Checkpoint 172 oracleSpecSub *sqlsubscribers.OracleSpec 173 oracleDataSub *sqlsubscribers.OracleData 174 liquidityProvisionSub *sqlsubscribers.LiquidityProvision 175 positionsSub *sqlsubscribers.Position 176 transferSub *sqlsubscribers.Transfer 177 stakeLinkingSub *sqlsubscribers.StakeLinking 178 notarySub *sqlsubscribers.Notary 179 multiSigSignerEventSub *sqlsubscribers.ERC20MultiSigSignerEvent 180 keyRotationsSub *sqlsubscribers.KeyRotation 181 ethereumKeyRotationsSub *sqlsubscribers.EthereumKeyRotation 182 nodeSub *sqlsubscribers.Node 183 pupSub *sqlsubscribers.ProtocolUpgrade 184 snapSub *sqlsubscribers.SnapshotData 185 stopOrdersSub *sqlsubscribers.StopOrder 186 fundingPeriodSub *sqlsubscribers.FundingPeriod 187 partyActivityStreakSub *sqlsubscribers.PartyActivityStreak 188 referralProgramSub *sqlsubscribers.ReferralProgram 189 referralSetsSub *sqlsubscribers.ReferralSets 190 teamsSub *sqlsubscribers.Teams 191 vestingStatsSub *sqlsubscribers.VestingStatsUpdated 192 feesStatsSub *sqlsubscribers.FeesStats 193 fundingPaymentSub *sqlsubscribers.FundingPaymentSubscriber 194 volumeDiscountStatsSub *sqlsubscribers.VolumeDiscountStatsUpdated 195 volumeDiscountProgramSub *sqlsubscribers.VolumeDiscountProgram 196 paidLiquidityFeesStatsSub *sqlsubscribers.PaidLiquidityFeesStats 197 vestingSummarySub *sqlsubscribers.VestingBalancesSummary 198 transactionResultsSub *sqlsubscribers.TransactionResults 199 marginModesSub *sqlsubscribers.MarginModes 200 timeWeightedNotionalPositionSub *sqlsubscribers.TimeWeightedNotionalPosition 201 gameScoreSub *sqlsubscribers.GameScore 202 ammPoolsSub *sqlsubscribers.AMMPools 203 volumeRebateStatsSub *sqlsubscribers.VolumeRebateStatsUpdated 204 volumeRebateProgramSub *sqlsubscribers.VolumeRebateProgram 205 } 206 207 func (s *SQLSubscribers) GetSQLSubscribers() []broker.SQLBrokerSubscriber { 208 return []broker.SQLBrokerSubscriber{ 209 s.accountSub, 210 s.assetSub, 211 s.partySub, 212 s.transferResponseSub, 213 s.orderSub, 214 s.networkLimitsSub, 215 s.marketDataSub, 216 s.tradesSub, 217 s.rewardsSub, 218 s.delegationsSub, 219 s.marketCreatedSub, 220 s.marketUpdatedSub, 221 s.epochSub, 222 s.marketUpdatedSub, 223 s.depositSub, 224 s.withdrawalSub, 225 s.proposalsSub, 226 s.votesSub, 227 s.depositSub, 228 s.marginLevelsSub, 229 s.riskFactorSub, 230 s.netParamSub, 231 s.checkpointSub, 232 s.positionsSub, 233 s.oracleSpecSub, 234 s.oracleDataSub, 235 s.liquidityProvisionSub, 236 s.transferSub, 237 s.stakeLinkingSub, 238 s.notarySub, 239 s.multiSigSignerEventSub, 240 s.keyRotationsSub, 241 s.nodeSub, 242 s.ethereumKeyRotationsSub, 243 s.pupSub, 244 s.snapSub, 245 s.stopOrdersSub, 246 s.fundingPeriodSub, 247 s.partyActivityStreakSub, 248 s.referralProgramSub, 249 s.referralSetsSub, 250 s.teamsSub, 251 s.vestingStatsSub, 252 s.feesStatsSub, 253 s.fundingPaymentSub, 254 s.volumeDiscountStatsSub, 255 s.volumeDiscountProgramSub, 256 s.paidLiquidityFeesStatsSub, 257 s.vestingSummarySub, 258 s.transactionResultsSub, 259 s.marginModesSub, 260 s.timeWeightedNotionalPositionSub, 261 s.gameScoreSub, 262 s.ammPoolsSub, 263 s.volumeRebateProgramSub, 264 s.volumeRebateStatsSub, 265 } 266 } 267 268 func (s *SQLSubscribers) CreateAllStores(ctx context.Context, Log *logging.Logger, transactionalConnectionSource *sqlstore.ConnectionSource, 269 candleV2Config candlesv2.CandleStoreConfig, 270 ) { 271 s.assetStore = sqlstore.NewAssets(transactionalConnectionSource) 272 s.blockStore = sqlstore.NewBlocks(transactionalConnectionSource) 273 s.partyStore = sqlstore.NewParties(transactionalConnectionSource) 274 s.partyStore.Initialise(ctx) 275 s.accountStore = sqlstore.NewAccounts(transactionalConnectionSource) 276 s.balanceStore = sqlstore.NewBalances(transactionalConnectionSource) 277 s.ledger = sqlstore.NewLedger(transactionalConnectionSource) 278 s.orderStore = sqlstore.NewOrders(transactionalConnectionSource) 279 s.tradeStore = sqlstore.NewTrades(transactionalConnectionSource) 280 s.networkLimitsStore = sqlstore.NewNetworkLimits(transactionalConnectionSource) 281 s.marketDataStore = sqlstore.NewMarketData(transactionalConnectionSource) 282 s.rewardStore = sqlstore.NewRewards(ctx, transactionalConnectionSource) 283 s.marketsStore = sqlstore.NewMarkets(transactionalConnectionSource) 284 s.delegationStore = sqlstore.NewDelegations(transactionalConnectionSource) 285 s.epochStore = sqlstore.NewEpochs(transactionalConnectionSource) 286 s.depositStore = sqlstore.NewDeposits(transactionalConnectionSource) 287 s.withdrawalsStore = sqlstore.NewWithdrawals(transactionalConnectionSource) 288 s.proposalStore = sqlstore.NewProposals(transactionalConnectionSource) 289 s.voteStore = sqlstore.NewVotes(transactionalConnectionSource) 290 s.marginLevelsStore = sqlstore.NewMarginLevels(transactionalConnectionSource) 291 s.riskFactorStore = sqlstore.NewRiskFactors(transactionalConnectionSource) 292 s.netParamStore = sqlstore.NewNetworkParameters(transactionalConnectionSource) 293 s.checkpointStore = sqlstore.NewCheckpoints(transactionalConnectionSource) 294 s.positionStore = sqlstore.NewPositions(transactionalConnectionSource) 295 s.oracleSpecStore = sqlstore.NewOracleSpec(transactionalConnectionSource) 296 s.oracleDataStore = sqlstore.NewOracleData(transactionalConnectionSource) 297 s.liquidityProvisionStore = sqlstore.NewLiquidityProvision(transactionalConnectionSource, Log) 298 s.transfersStore = sqlstore.NewTransfers(transactionalConnectionSource) 299 s.stakeLinkingStore = sqlstore.NewStakeLinking(transactionalConnectionSource) 300 s.notaryStore = sqlstore.NewNotary(transactionalConnectionSource) 301 s.multiSigSignerAddedStore = sqlstore.NewERC20MultiSigSignerEvent(transactionalConnectionSource) 302 s.keyRotationsStore = sqlstore.NewKeyRotations(transactionalConnectionSource) 303 s.ethereumKeyRotationsStore = sqlstore.NewEthereumKeyRotations(transactionalConnectionSource) 304 s.nodeStore = sqlstore.NewNode(transactionalConnectionSource) 305 s.candleStore = sqlstore.NewCandles(ctx, transactionalConnectionSource, candleV2Config) 306 s.chainStore = sqlstore.NewChain(transactionalConnectionSource) 307 s.pupStore = sqlstore.NewProtocolUpgradeProposals(transactionalConnectionSource) 308 s.snapStore = sqlstore.NewCoreSnapshotData(transactionalConnectionSource) 309 s.stopOrderStore = sqlstore.NewStopOrders(transactionalConnectionSource) 310 s.fundingPeriodStore = sqlstore.NewFundingPeriods(transactionalConnectionSource) 311 s.partyActivityStreakStore = sqlstore.NewPartyActivityStreaks(transactionalConnectionSource) 312 s.referralProgramStore = sqlstore.NewReferralPrograms(transactionalConnectionSource) 313 s.referralSetsStore = sqlstore.NewReferralSets(transactionalConnectionSource) 314 s.teamsStore = sqlstore.NewTeams(transactionalConnectionSource) 315 s.vestingStatsStore = sqlstore.NewVestingStats(transactionalConnectionSource) 316 s.feesStatsStore = sqlstore.NewFeesStats(transactionalConnectionSource) 317 s.fundingPaymentStore = sqlstore.NewFundingPayments(transactionalConnectionSource) 318 s.volumeDiscountStatsStore = sqlstore.NewVolumeDiscountStats(transactionalConnectionSource) 319 s.volumeDiscountProgramsStore = sqlstore.NewVolumeDiscountPrograms(transactionalConnectionSource) 320 s.paidLiquidityFeesStatsStore = sqlstore.NewPaidLiquidityFeesStats(transactionalConnectionSource) 321 s.partyLockedBalancesStore = sqlstore.NewPartyLockedBalances(transactionalConnectionSource) 322 s.partyVestingBalancesStore = sqlstore.NewPartyVestingBalances(transactionalConnectionSource) 323 s.gamesStore = sqlstore.NewGames(transactionalConnectionSource) 324 s.marginModesStore = sqlstore.NewMarginModes(transactionalConnectionSource) 325 s.timeWeightedNotionalPositionStore = sqlstore.NewTimeWeightedNotionalPosition(transactionalConnectionSource) 326 s.gameScoreStore = sqlstore.NewGameScores(transactionalConnectionSource) 327 s.ammPoolsStore = sqlstore.NewAMMPools(transactionalConnectionSource) 328 s.volumeRebateStatsStore = sqlstore.NewVolumeRebateStats(transactionalConnectionSource) 329 s.volumeRebateProgramsStore = sqlstore.NewVolumeRebatePrograms(transactionalConnectionSource) 330 } 331 332 func (s *SQLSubscribers) SetupServices(ctx context.Context, log *logging.Logger, cfg service.Config, candlesConfig candlesv2.Config) error { 333 s.accountService = service.NewAccount(s.accountStore, s.balanceStore, log) 334 s.assetService = service.NewAsset(s.assetStore) 335 s.blockService = service.NewBlock(s.blockStore) 336 s.candleService = candlesv2.NewService(ctx, log, candlesConfig, s.candleStore) 337 s.checkpointService = service.NewCheckpoint(s.checkpointStore) 338 s.delegationService = service.NewDelegation(s.delegationStore, log) 339 s.depositService = service.NewDeposit(s.depositStore) 340 s.epochService = service.NewEpoch(s.epochStore) 341 s.governanceService = service.NewGovernance(s.proposalStore, s.voteStore, log) 342 s.keyRotationsService = service.NewKeyRotations(s.keyRotationsStore) 343 s.ethereumKeyRotationsService = service.NewEthereumKeyRotation(s.ethereumKeyRotationsStore, log) 344 s.ledgerService = service.NewLedger(s.ledger, log) 345 s.liquidityProvisionService = service.NewLiquidityProvision(s.liquidityProvisionStore) 346 s.marketDataService = service.NewMarketData(s.marketDataStore, log) 347 s.positionService = service.NewPosition(s.positionStore, log) 348 s.marketsService = service.NewMarkets(s.marketsStore) 349 s.multiSigService = service.NewMultiSig(s.multiSigSignerAddedStore) 350 s.networkLimitsService = service.NewNetworkLimits(s.networkLimitsStore) 351 s.networkParameterService = service.NewNetworkParameter(s.netParamStore) 352 s.nodeService = service.NewNode(s.nodeStore) 353 s.notaryService = service.NewNotary(s.notaryStore) 354 s.oracleDataService = service.NewOracleData(s.oracleDataStore) 355 s.oracleSpecService = service.NewOracleSpec(s.oracleSpecStore) 356 s.orderService = service.NewOrder(s.orderStore, log) 357 s.partyService = service.NewParty(s.partyStore) 358 s.rewardService = service.NewReward(s.rewardStore, log) 359 s.riskFactorService = service.NewRiskFactor(s.riskFactorStore) 360 s.riskService = service.NewRisk(s.marginLevelsStore, s.accountStore, log) 361 s.stakeLinkingService = service.NewStakeLinking(s.stakeLinkingStore) 362 s.tradeService = service.NewTrade(s.tradeStore, log) 363 s.transferService = service.NewTransfer(s.transfersStore) 364 s.withdrawalService = service.NewWithdrawal(s.withdrawalsStore) 365 s.chainService = service.NewChain(s.chainStore) 366 s.protocolUpgradeService = service.NewProtocolUpgrade(s.pupStore, log) 367 s.coreSnapshotService = service.NewSnapshotData(s.snapStore) 368 s.stopOrderService = service.NewStopOrders(s.stopOrderStore) 369 s.partyActivityStreakService = service.NewPartyActivityStreak(s.partyActivityStreakStore) 370 s.fundingPeriodService = service.NewFundingPeriods(s.fundingPeriodStore) 371 s.referralProgramService = service.NewReferralPrograms(s.referralProgramStore) 372 s.referralSetsService = service.NewReferralSets(s.referralSetsStore) 373 s.teamsService = service.NewTeams(s.teamsStore) 374 s.vestingStatsService = service.NewVestingStats(s.vestingStatsStore) 375 s.feesStatsService = service.NewFeesStats(s.feesStatsStore) 376 s.fundingPaymentService = service.NewFundingPayment(s.fundingPaymentStore) 377 s.volumeDiscountStatsService = service.NewVolumeDiscountStats(s.volumeDiscountStatsStore) 378 s.volumeDiscountProgramService = service.NewVolumeDiscountPrograms(s.volumeDiscountProgramsStore) 379 s.paidLiquidityFeesStatsService = service.NewPaidLiquidityFeesStats(s.paidLiquidityFeesStatsStore) 380 s.partyLockedBalancesService = service.NewPartyLockedBalances(s.partyLockedBalancesStore) 381 s.partyVestingBalancesService = service.NewPartyVestingBalances(s.partyVestingBalancesStore) 382 s.gamesService = service.NewGames(s.gamesStore) 383 s.marginModesService = service.NewMarginModes(s.marginModesStore) 384 s.timeWeightedNotionalPositionService = service.NewTimeWeightedNotionalPosition(s.timeWeightedNotionalPositionStore) 385 s.gameScoreService = service.NewGameScore(s.gameScoreStore, log) 386 s.ammPoolsService = service.NewAMMPools(s.ammPoolsStore) 387 s.volumeRebateStatsService = service.NewVolumeRebateStats(s.volumeRebateStatsStore) 388 s.volumeRebateProgramService = service.NewVolumeRebatePrograms(s.volumeRebateProgramsStore) 389 390 s.marketDepthService = service.NewMarketDepth( 391 cfg.MarketDepth, 392 s.orderStore, 393 s.ammPoolsStore, 394 s.marketDataStore, 395 s.positionService, 396 s.assetStore, 397 s.marketsStore, 398 log, 399 ) 400 401 s.transactionResultsSub = sqlsubscribers.NewTransactionResults(log) 402 s.transactionResultsService = service.NewTransactionResults(s.transactionResultsSub) 403 404 toInit := []interface{ Initialise(context.Context) error }{ 405 s.marketDepthService, 406 s.marketDataService, 407 s.marketsService, 408 } 409 410 for _, svc := range toInit { 411 if err := svc.Initialise(ctx); err != nil { 412 return err 413 } 414 } 415 416 return nil 417 } 418 419 func (s *SQLSubscribers) SetupSQLSubscribers() { 420 s.accountSub = sqlsubscribers.NewAccount(s.accountService) 421 s.assetSub = sqlsubscribers.NewAsset(s.assetService) 422 s.partySub = sqlsubscribers.NewParty(s.partyService) 423 s.transferResponseSub = sqlsubscribers.NewTransferResponse(s.ledgerService, s.accountService) 424 s.orderSub = sqlsubscribers.NewOrder(s.orderService, s.marketDepthService) 425 s.networkLimitsSub = sqlsubscribers.NewNetworkLimitSub(s.networkLimitsService) 426 s.marketDataSub = sqlsubscribers.NewMarketData(s.marketDataService) 427 s.tradesSub = sqlsubscribers.NewTradesSubscriber(s.tradeService) 428 s.rewardsSub = sqlsubscribers.NewReward(s.rewardService) 429 s.marketCreatedSub = sqlsubscribers.NewMarketCreated(s.marketsService) 430 s.marketUpdatedSub = sqlsubscribers.NewMarketUpdated(s.marketsService) 431 s.delegationsSub = sqlsubscribers.NewDelegation(s.delegationService) 432 s.epochSub = sqlsubscribers.NewEpoch(s.epochService) 433 s.depositSub = sqlsubscribers.NewDeposit(s.depositService) 434 s.withdrawalSub = sqlsubscribers.NewWithdrawal(s.withdrawalService) 435 s.proposalsSub = sqlsubscribers.NewProposal(s.governanceService) 436 s.votesSub = sqlsubscribers.NewVote(s.governanceService) 437 s.marginLevelsSub = sqlsubscribers.NewMarginLevels(s.riskService, s.accountStore) 438 s.riskFactorSub = sqlsubscribers.NewRiskFactor(s.riskFactorService) 439 s.netParamSub = sqlsubscribers.NewNetworkParameter(s.networkParameterService) 440 s.checkpointSub = sqlsubscribers.NewCheckpoint(s.checkpointService) 441 s.positionsSub = sqlsubscribers.NewPosition(s.positionService, s.marketsService) 442 s.oracleSpecSub = sqlsubscribers.NewOracleSpec(s.oracleSpecService) 443 s.oracleDataSub = sqlsubscribers.NewOracleData(s.oracleDataService) 444 s.liquidityProvisionSub = sqlsubscribers.NewLiquidityProvision(s.liquidityProvisionService) 445 s.transferSub = sqlsubscribers.NewTransfer(s.transfersStore, s.accountService) 446 s.stakeLinkingSub = sqlsubscribers.NewStakeLinking(s.stakeLinkingService) 447 s.notarySub = sqlsubscribers.NewNotary(s.notaryService) 448 s.multiSigSignerEventSub = sqlsubscribers.NewERC20MultiSigSignerEvent(s.multiSigService) 449 s.keyRotationsSub = sqlsubscribers.NewKeyRotation(s.keyRotationsService) 450 s.ethereumKeyRotationsSub = sqlsubscribers.NewEthereumKeyRotation(s.ethereumKeyRotationsService) 451 s.nodeSub = sqlsubscribers.NewNode(s.nodeService) 452 s.pupSub = sqlsubscribers.NewProtocolUpgrade(s.protocolUpgradeService) 453 s.snapSub = sqlsubscribers.NewSnapshotData(s.coreSnapshotService) 454 s.stopOrdersSub = sqlsubscribers.NewStopOrder(s.stopOrderService) 455 s.fundingPeriodSub = sqlsubscribers.NewFundingPeriod(s.fundingPeriodService) 456 s.partyActivityStreakSub = sqlsubscribers.NewPartyActivityStreak(s.partyActivityStreakService) 457 s.referralProgramSub = sqlsubscribers.NewReferralProgram(s.referralProgramService) 458 s.referralSetsSub = sqlsubscribers.NewReferralSets(s.referralSetsService) 459 s.teamsSub = sqlsubscribers.NewTeams(s.teamsService) 460 s.vestingStatsSub = sqlsubscribers.NewVestingStatsUpdated(s.vestingStatsService) 461 s.feesStatsSub = sqlsubscribers.NewFeesStats(s.feesStatsService) 462 s.fundingPaymentSub = sqlsubscribers.NewFundingPaymentsSubscriber(s.fundingPaymentStore) 463 s.volumeDiscountStatsSub = sqlsubscribers.NewVolumeDiscountStatsUpdated(s.volumeDiscountStatsService) 464 s.volumeDiscountProgramSub = sqlsubscribers.NewVolumeDiscountProgram(s.volumeDiscountProgramService) 465 s.paidLiquidityFeesStatsSub = sqlsubscribers.NewPaidLiquidityFeesStats(s.paidLiquidityFeesStatsService) 466 s.vestingSummarySub = sqlsubscribers.NewVestingBalancesSummary(s.partyVestingBalancesStore, s.partyLockedBalancesStore) 467 s.marginModesSub = sqlsubscribers.NewMarginModes(s.marginModesService) 468 s.timeWeightedNotionalPositionSub = sqlsubscribers.NewTimeWeightedNotionalPosition(s.timeWeightedNotionalPositionService) 469 s.gameScoreSub = sqlsubscribers.NewGameScore(s.gameScoreStore) 470 s.volumeRebateStatsSub = sqlsubscribers.NewVolumeRebateStatsUpdated(s.volumeRebateStatsService) 471 s.volumeRebateProgramSub = sqlsubscribers.NewVolumeRebateProgram(s.volumeRebateProgramService) 472 s.ammPoolsSub = sqlsubscribers.NewAMMPools(s.ammPoolsService, s.marketDepthService) 473 }