mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
cmd/checkpoint-admin: add another flag for clef mode signing
This commit is contained in:
parent
54ba20a163
commit
457c98cd7d
2 changed files with 16 additions and 11 deletions
|
|
@ -25,6 +25,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/accounts"
|
||||
"github.com/ethereum/go-ethereum/accounts/abi/bind"
|
||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
|
|
@ -61,9 +62,9 @@ var commandSign = cli.Command{
|
|||
clefURLFlag,
|
||||
indexFlag,
|
||||
hashFlag,
|
||||
addressFlag,
|
||||
oracleFlag,
|
||||
keyFileFlag,
|
||||
signersFlag,
|
||||
signerFlag,
|
||||
utils.PasswordFileFlag,
|
||||
},
|
||||
Action: utils.MigrateFlags(sign),
|
||||
|
|
@ -148,10 +149,10 @@ func sign(ctx *cli.Context) error {
|
|||
}
|
||||
cindex = ctx.Uint64(indexFlag.Name)
|
||||
|
||||
if !ctx.IsSet(addressFlag.Name) {
|
||||
utils.Fatalf("Please specify oracle address (--address) to sign in offline mode")
|
||||
if !ctx.IsSet(oracleFlag.Name) {
|
||||
utils.Fatalf("Please specify oracle address (--oracle) to sign in offline mode")
|
||||
}
|
||||
address = common.HexToAddress(ctx.String(addressFlag.Name))
|
||||
address = common.HexToAddress(ctx.String(oracleFlag.Name))
|
||||
} else {
|
||||
// Interactive mode signing, retrieve the data from the remote node
|
||||
node = newRPCClient(ctx.GlobalString(nodeURLFlag.Name))
|
||||
|
|
@ -209,7 +210,7 @@ func sign(ctx *cli.Context) error {
|
|||
switch {
|
||||
case ctx.GlobalIsSet(clefURLFlag.Name):
|
||||
// Sign checkpoint in clef mode.
|
||||
signer = ctx.GlobalString(signersFlag.Name)
|
||||
signer = ctx.String(signerFlag.Name)
|
||||
|
||||
if !offline {
|
||||
if err := isAdmin(common.HexToAddress(signer)); err != nil {
|
||||
|
|
@ -222,7 +223,7 @@ func sign(ctx *cli.Context) error {
|
|||
binary.BigEndian.PutUint64(buf, cindex)
|
||||
p["address"] = address.Hex()
|
||||
p["message"] = hexutil.Encode(append(buf, chash.Bytes()...))
|
||||
if err := clef.Call(&signature, "account_signData", "data/validator", signer, p); err != nil {
|
||||
if err := clef.Call(&signature, "account_signData", accounts.MimetypeDataWithValidator, signer, p); err != nil {
|
||||
utils.Fatalf("Failed to sign checkpoint, err %v", err)
|
||||
}
|
||||
case ctx.GlobalIsSet(keyFileFlag.Name):
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ func init() {
|
|||
commandPublish,
|
||||
}
|
||||
app.Flags = []cli.Flag{
|
||||
addressFlag,
|
||||
oracleFlag,
|
||||
keyFileFlag,
|
||||
nodeURLFlag,
|
||||
clefURLFlag,
|
||||
|
|
@ -77,9 +77,9 @@ var (
|
|||
Name: "hash",
|
||||
Usage: "Checkpoint hash (query latest from remote node if not specified)",
|
||||
}
|
||||
addressFlag = cli.StringFlag{
|
||||
Name: "address",
|
||||
Usage: "Checkpoint contract address (query from remote node if not specified)",
|
||||
oracleFlag = cli.StringFlag{
|
||||
Name: "oracle",
|
||||
Usage: "Checkpoint oracle address (query from remote node if not specified)",
|
||||
}
|
||||
thresholdFlag = cli.Int64Flag{
|
||||
Name: "threshold",
|
||||
|
|
@ -99,6 +99,10 @@ var (
|
|||
Value: "http://localhost:8550",
|
||||
Usage: "The rpc endpoint of clef",
|
||||
}
|
||||
signerFlag = cli.StringFlag{
|
||||
Name: "signer",
|
||||
Usage: "Signer address for clef mode signing",
|
||||
}
|
||||
signersFlag = cli.StringFlag{
|
||||
Name: "signers",
|
||||
Usage: "Comma separated accounts of trusted checkpoint signers",
|
||||
|
|
|
|||
Loading…
Reference in a new issue