@@ -12,6 +12,7 @@ import (
1212 "github.com/Layr-Labs/eigensdk-go/chainio/clients/elcontracts"
1313 "github.com/Layr-Labs/eigensdk-go/logging"
1414 eigenSdkUtils "github.com/Layr-Labs/eigensdk-go/utils"
15+ "github.com/ethereum/go-ethereum/accounts/abi/bind"
1516 gethcommon "github.com/ethereum/go-ethereum/common"
1617 gethtypes "github.com/ethereum/go-ethereum/core/types"
1718 "github.com/ethereum/go-ethereum/ethclient"
@@ -25,6 +26,7 @@ type RemoveAppointeePermissionWriter interface {
2526 request elcontracts.RemovePermissionRequest ,
2627 ) (* gethtypes.Receipt , error )
2728 NewRemovePermissionTx (
29+ txOpts * bind.TransactOpts ,
2830 request elcontracts.RemovePermissionRequest ,
2931 ) (* gethtypes.Transaction , error )
3032}
@@ -69,10 +71,27 @@ func removeAppointeePermission(
6971 if config .Broadcast {
7072 return broadcastRemoveAppointeeTx (ctx , permissionWriter , config , removePermissionRequest )
7173 }
72- return printRemoveAppointeeResult (logger , permissionWriter , config , removePermissionRequest )
74+ return printRemoveAppointeeTx (logger , permissionWriter , config , removePermissionRequest )
7375}
7476
75- func printRemoveAppointeeResult (
77+ func broadcastRemoveAppointeeTx (
78+ ctx context.Context ,
79+ permissionWriter RemoveAppointeePermissionWriter ,
80+ config * removeConfig ,
81+ request elcontracts.RemovePermissionRequest ,
82+ ) error {
83+ receipt , err := permissionWriter .RemovePermission (
84+ ctx ,
85+ request ,
86+ )
87+ if err != nil {
88+ return err
89+ }
90+ common .PrintTransactionInfo (receipt .TxHash .String (), config .ChainID )
91+ return nil
92+ }
93+
94+ func printRemoveAppointeeTx (
7695 logger logging.Logger ,
7796 permissionWriter RemoveAppointeePermissionWriter ,
7897 config * removeConfig ,
@@ -84,10 +103,9 @@ func printRemoveAppointeeResult(
84103 }
85104 noSendTxOpts := common .GetNoSendTxOpts (config .CallerAddress )
86105 if common .IsSmartContractAddress (config .CallerAddress , ethClient ) {
87- // address is a smart contract
88106 noSendTxOpts .GasLimit = 150_000
89107 }
90- unsignedTx , err := permissionWriter .NewRemovePermissionTx (request )
108+ unsignedTx , err := permissionWriter .NewRemovePermissionTx (noSendTxOpts , request )
91109 if err != nil {
92110 return eigenSdkUtils .WrapError ("failed to create unsigned tx" , err )
93111 }
@@ -109,7 +127,7 @@ func printRemoveAppointeeResult(
109127 fmt .Println ()
110128 }
111129 fmt .Printf (
112- "Appointee %s will be lose permission to target %s selector %s by account %s\n " ,
130+ "Appointee %s will lose permission to target %s selector %s for account %s\n " ,
113131 config .AppointeeAddress ,
114132 config .Target ,
115133 config .Selector ,
@@ -123,23 +141,6 @@ func printRemoveAppointeeResult(
123141 return nil
124142}
125143
126- func broadcastRemoveAppointeeTx (
127- ctx context.Context ,
128- permissionWriter RemoveAppointeePermissionWriter ,
129- config * removeConfig ,
130- request elcontracts.RemovePermissionRequest ,
131- ) error {
132- receipt , err := permissionWriter .RemovePermission (
133- ctx ,
134- request ,
135- )
136- if err != nil {
137- return err
138- }
139- common .PrintTransactionInfo (receipt .TxHash .String (), config .ChainID )
140- return nil
141- }
142-
143144func generateRemoveAppointeePermissionWriter (
144145 prompter utils.Prompter ,
145146) func (
0 commit comments