From 37245a2af0cafcce1e85b70a65dbf7aa4a5d8405 Mon Sep 17 00:00:00 2001 From: Will Scott Date: Wed, 7 May 2025 16:09:52 -0700 Subject: [PATCH] allow verifreg commands in lotus-shed to be run against a gateway They still expect a 'full node api', but are in practice used with a gateway. Changes to the primary gateway to restrict available methods mean that it's preferable to have only the methods available on the gateay in use for these commands --- cmd/lotus-shed/verifreg.go | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/cmd/lotus-shed/verifreg.go b/cmd/lotus-shed/verifreg.go index 585c5a0db5e..3ba2df29440 100644 --- a/cmd/lotus-shed/verifreg.go +++ b/cmd/lotus-shed/verifreg.go @@ -80,7 +80,20 @@ var verifRegAddVerifierFromMsigCmd = &cli.Command{ api := srv.FullNodeAPI() ctx := lcli.ReqContext(cctx) - vrk, err := api.StateVerifiedRegistryRootKey(ctx, types.EmptyTSK) + vact, err := api.StateGetActor(ctx, verifreg.Address, types.EmptyTSK) + if err != nil { + return err + } + + apibs := blockstore.NewAPIBlockstore(api) + store := adt.WrapStore(ctx, cbor.NewCborStore(apibs)) + + vst, err := verifreg.Load(store, vact) + if err != nil { + return err + } + + vrk, err := vst.RootKey() if err != nil { return err } @@ -460,18 +473,28 @@ var verifRegRemoveVerifiedClientDataCapCmd = &cli.Command{ return err } - vrk, err := api.StateVerifiedRegistryRootKey(ctx, types.EmptyTSK) + vact, err := api.StateGetActor(ctx, verifreg.Address, types.EmptyTSK) if err != nil { return err } - vrkState, err := api.StateGetActor(ctx, vrk, types.EmptyTSK) + apibs := blockstore.NewAPIBlockstore(api) + store := adt.WrapStore(ctx, cbor.NewCborStore(apibs)) + + vst, err := verifreg.Load(store, vact) if err != nil { return err } - apibs := blockstore.NewAPIBlockstore(api) - store := adt.WrapStore(ctx, cbor.NewCborStore(apibs)) + vrk, err := vst.RootKey() + if err != nil { + return err + } + + vrkState, err := api.StateGetActor(ctx, vrk, types.EmptyTSK) + if err != nil { + return err + } st, err := multisig.Load(store, vrkState) if err != nil {