From 6eb7327b28d4c29bb607bab864d2d74e27531dfa Mon Sep 17 00:00:00 2001 From: Madhur Shrimal Date: Tue, 6 Aug 2024 10:04:04 -0800 Subject: [PATCH] feat: add set operator commission bips method --- chainio/clients/elcontracts/writer.go | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/chainio/clients/elcontracts/writer.go b/chainio/clients/elcontracts/writer.go index acfa03d5..429fcb48 100644 --- a/chainio/clients/elcontracts/writer.go +++ b/chainio/clients/elcontracts/writer.go @@ -376,3 +376,31 @@ func (w *ChainWriter) ForceDeregisterFromOperatorSets( return receipt, nil } + +func (w *ChainWriter) SetOperatorCommissionBips( + ctx context.Context, + operatorSet rewardscoordinator.IAVSDirectoryOperatorSet, + rewardType uint8, + commissionBips uint16, +) (*gethtypes.Receipt, error) { + if w.rewardsCoordinator == nil { + return nil, errors.New("RewardsCoordinator contract not provided") + } + + noSendTxOpts, err := w.txMgr.GetNoSendTxOpts() + if err != nil { + return nil, utils.WrapError("failed to get no send tx opts", err) + } + + tx, err := w.rewardsCoordinator.SetOperatorCommissionBips(noSendTxOpts, operatorSet, rewardType, commissionBips) + if err != nil { + return nil, utils.WrapError("failed to create SetOperatorCommissionBips tx", err) + } + + receipt, err := w.txMgr.Send(ctx, tx) + if err != nil { + return nil, utils.WrapError("failed to send tx", err) + } + + return receipt, nil +}