Shed: Create a verifreg command for when VRK isn't a multisig
This commit is contained in:
parent
0d7654d2c9
commit
90e60f7a98
@ -28,7 +28,8 @@ var verifRegCmd = &cli.Command{
|
|||||||
Usage: "Interact with the verified registry actor",
|
Usage: "Interact with the verified registry actor",
|
||||||
Flags: []cli.Flag{},
|
Flags: []cli.Flag{},
|
||||||
Subcommands: []*cli.Command{
|
Subcommands: []*cli.Command{
|
||||||
verifRegAddVerifierCmd,
|
verifRegAddVerifierFromMsigCmd,
|
||||||
|
verifRegAddVerifierFromAccountCmd,
|
||||||
verifRegVerifyClientCmd,
|
verifRegVerifyClientCmd,
|
||||||
verifRegListVerifiersCmd,
|
verifRegListVerifiersCmd,
|
||||||
verifRegListClientsCmd,
|
verifRegListClientsCmd,
|
||||||
@ -37,7 +38,7 @@ var verifRegCmd = &cli.Command{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var verifRegAddVerifierCmd = &cli.Command{
|
var verifRegAddVerifierFromMsigCmd = &cli.Command{
|
||||||
Name: "add-verifier",
|
Name: "add-verifier",
|
||||||
Usage: "make a given account a verifier",
|
Usage: "make a given account a verifier",
|
||||||
ArgsUsage: "<message sender> <new verifier> <allowance>",
|
ArgsUsage: "<message sender> <new verifier> <allowance>",
|
||||||
@ -110,6 +111,71 @@ var verifRegAddVerifierCmd = &cli.Command{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var verifRegAddVerifierFromAccountCmd = &cli.Command{
|
||||||
|
Name: "add-verifier-from-account",
|
||||||
|
Usage: "make a given account a verifier",
|
||||||
|
ArgsUsage: "<verifier root key> <new verifier> <allowance>",
|
||||||
|
Action: func(cctx *cli.Context) error {
|
||||||
|
if cctx.Args().Len() != 3 {
|
||||||
|
return fmt.Errorf("must specify three arguments: sender, verifier, and allowance")
|
||||||
|
}
|
||||||
|
|
||||||
|
sender, err := address.NewFromString(cctx.Args().Get(0))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
verifier, err := address.NewFromString(cctx.Args().Get(1))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
allowance, err := types.BigFromString(cctx.Args().Get(2))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: ActorUpgrade: Abstract
|
||||||
|
params, err := actors.SerializeParams(&verifreg2.AddVerifierParams{Address: verifier, Allowance: allowance})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
api, closer, err := lcli.GetFullNodeAPI(cctx)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer closer()
|
||||||
|
ctx := lcli.ReqContext(cctx)
|
||||||
|
|
||||||
|
msg := &types.Message{
|
||||||
|
To: verifreg.Address,
|
||||||
|
From: sender,
|
||||||
|
Method: verifreg.Methods.AddVerifier,
|
||||||
|
Params: params,
|
||||||
|
}
|
||||||
|
|
||||||
|
smsg, err := api.MpoolPushMessage(ctx, msg, nil)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("message sent, now waiting on cid: %s\n", smsg.Cid())
|
||||||
|
|
||||||
|
mwait, err := api.StateWaitMsg(ctx, smsg.Cid(), build.MessageConfidence)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if mwait.Receipt.ExitCode != 0 {
|
||||||
|
return fmt.Errorf("failed to add verified client: %d", mwait.Receipt.ExitCode)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
var verifRegVerifyClientCmd = &cli.Command{
|
var verifRegVerifyClientCmd = &cli.Command{
|
||||||
Name: "verify-client",
|
Name: "verify-client",
|
||||||
Usage: "make a given account a verified client",
|
Usage: "make a given account a verified client",
|
||||||
|
Loading…
Reference in New Issue
Block a user