66 "github.com/Layr-Labs/eigenlayer-cli/pkg/internal/command"
77 "github.com/Layr-Labs/eigenlayer-cli/pkg/internal/common"
88 "github.com/Layr-Labs/eigenlayer-cli/pkg/internal/common/flags"
9+ "github.com/Layr-Labs/eigenlayer-cli/pkg/keys"
910 "github.com/Layr-Labs/eigenlayer-cli/pkg/utils"
1011
1112 "github.com/Layr-Labs/eigensdk-go/chainio/clients/elcontracts"
@@ -75,11 +76,12 @@ func (r RegisterOperatorSetCmd) Execute(cCtx *cli.Context) error {
7576 }
7677 receipt , err := eLWriter .RegisterForOperatorSets (
7778 ctx ,
78- config .callerAddress ,
79+ config .registryCoordinatorAddress ,
7980 elcontracts.RegistrationRequest {
8081 OperatorAddress : config .operatorAddress ,
8182 AVSAddress : config .avsAddress ,
8283 OperatorSetIds : config .operatorSetIds ,
84+ BlsKeyPair : config .blsKeyPair ,
8385 WaitForReceipt : true ,
8486 })
8587 if err != nil {
@@ -183,27 +185,46 @@ func readAndValidateRegisterOperatorSetsConfig(cCtx *cli.Context, logger logging
183185 }
184186 }
185187
188+ registryCoordinatorAddress := cCtx .String (flags .RegistryCoordinatorAddressFlag .Name )
189+ if common .IsEmptyString (registryCoordinatorAddress ) {
190+ logger .Error ("--registry-coordinator-address flag must be set" )
191+ return nil , fmt .Errorf ("Empty registry coordinator address provided" )
192+ }
193+
186194 operatorSetIdsString := cCtx .Uint64Slice (flags .OperatorSetIdsFlag .Name )
187195 operatorSetIds := make ([]uint32 , len (operatorSetIdsString ))
188196 for i , id := range operatorSetIdsString {
189197 operatorSetIds [i ] = uint32 (id )
190198 }
191199
200+ blsPrivateKey := cCtx .String (flags .BlsPrivateKeyFlag .Name )
201+ if common .IsEmptyString (blsPrivateKey ) {
202+ logger .Error ("--bls-private-key flag must be set" )
203+ return nil , fmt .Errorf ("Empty BLS private key provided" )
204+ }
205+
206+ blsKeyPair , err := keys .ParseBlsPrivateKey (blsPrivateKey )
207+ if err != nil {
208+ return nil , err
209+ }
210+
192211 config := & RegisterConfig {
193- avsAddress : avsAddress ,
194- operatorSetIds : operatorSetIds ,
195- operatorAddress : operatorAddress ,
196- callerAddress : callerAddress ,
197- network : network ,
198- environment : environment ,
199- broadcast : broadcast ,
200- rpcUrl : rpcUrl ,
201- chainID : chainId ,
202- signerConfig : signerConfig ,
203- output : output ,
204- outputType : outputType ,
205- delegationManagerAddress : gethcommon .HexToAddress (delegationManagerAddress ),
206- isSilent : isSilent ,
212+ avsAddress : avsAddress ,
213+ operatorSetIds : operatorSetIds ,
214+ operatorAddress : operatorAddress ,
215+ callerAddress : callerAddress ,
216+ network : network ,
217+ environment : environment ,
218+ broadcast : broadcast ,
219+ rpcUrl : rpcUrl ,
220+ chainID : chainId ,
221+ signerConfig : signerConfig ,
222+ output : output ,
223+ outputType : outputType ,
224+ delegationManagerAddress : gethcommon .HexToAddress (delegationManagerAddress ),
225+ isSilent : isSilent ,
226+ registryCoordinatorAddress : gethcommon .HexToAddress (registryCoordinatorAddress ),
227+ blsKeyPair : blsKeyPair ,
207228 }
208229
209230 return config , nil
@@ -220,5 +241,7 @@ func getRegistrationFlags() []cli.Flag {
220241 & flags .OperatorSetIdsFlag ,
221242 & flags .DelegationManagerAddressFlag ,
222243 & flags .SilentFlag ,
244+ & flags .RegistryCoordinatorAddressFlag ,
245+ & flags .BlsPrivateKeyFlag ,
223246 }
224247}
0 commit comments