github.com/InjectiveLabs/sdk-go@v1.53.0/chain/ocr/types/hooks.go (about) 1 package types 2 3 import ( 4 "cosmossdk.io/math" 5 sdk "github.com/cosmos/cosmos-sdk/types" 6 ) 7 8 type OcrHooks interface { 9 AfterSetFeedConfig(ctx sdk.Context, feedConfig *FeedConfig) 10 AfterTransmit(ctx sdk.Context, feedId string, answer math.LegacyDec, timestamp int64) 11 AfterFundFeedRewardPool(ctx sdk.Context, feedId string, newPoolAmount sdk.Coin) 12 } 13 14 var _ OcrHooks = MultiOcrHooks{} 15 16 type MultiOcrHooks []OcrHooks 17 18 func NewMultiOcrHooks(hooks ...OcrHooks) MultiOcrHooks { 19 return hooks 20 } 21 22 func (h MultiOcrHooks) AfterSetFeedConfig(ctx sdk.Context, feedConfig *FeedConfig) { 23 for i := range h { 24 h[i].AfterSetFeedConfig(ctx, feedConfig) 25 } 26 } 27 28 func (h MultiOcrHooks) AfterTransmit(ctx sdk.Context, feedId string, answer math.LegacyDec, timestamp int64) { 29 for i := range h { 30 h[i].AfterTransmit(ctx, feedId, answer, timestamp) 31 } 32 } 33 34 func (h MultiOcrHooks) AfterFundFeedRewardPool(ctx sdk.Context, feedId string, newPoolAmount sdk.Coin) { 35 for i := range h { 36 h[i].AfterFundFeedRewardPool(ctx, feedId, newPoolAmount) 37 } 38 }