mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-23 03:38:35 +00:00
cli: use AddressFlag for calc-hash
This commit is contained in:
parent
90b054afd0
commit
df24c51262
2 changed files with 10 additions and 6 deletions
|
@ -211,6 +211,11 @@ func TestComlileAndInvokeFunction(t *testing.T) {
|
||||||
e.checkTxPersisted(t)
|
e.checkTxPersisted(t)
|
||||||
|
|
||||||
t.Run("check calc hash", func(t *testing.T) {
|
t.Run("check calc hash", func(t *testing.T) {
|
||||||
|
// missing sender
|
||||||
|
e.RunWithError(t, "neo-go", "contract", "calc-hash",
|
||||||
|
"--in", nefName,
|
||||||
|
"--manifest", manifestName)
|
||||||
|
|
||||||
e.Run(t, "neo-go", "contract", "calc-hash",
|
e.Run(t, "neo-go", "contract", "calc-hash",
|
||||||
"--sender", validatorAddr, "--in", nefName,
|
"--sender", validatorAddr, "--in", nefName,
|
||||||
"--manifest", manifestName)
|
"--manifest", manifestName)
|
||||||
|
|
|
@ -348,7 +348,7 @@ func NewCommands() []cli.Command {
|
||||||
Usage: "calculates hash of a contract after deployment",
|
Usage: "calculates hash of a contract after deployment",
|
||||||
Action: calcHash,
|
Action: calcHash,
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
cli.StringFlag{
|
flags.AddressFlag{
|
||||||
Name: "sender, s",
|
Name: "sender, s",
|
||||||
Usage: "sender script hash or address",
|
Usage: "sender script hash or address",
|
||||||
},
|
},
|
||||||
|
@ -466,10 +466,9 @@ func contractCompile(ctx *cli.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func calcHash(ctx *cli.Context) error {
|
func calcHash(ctx *cli.Context) error {
|
||||||
s := ctx.String("sender")
|
sender := ctx.Generic("sender").(*flags.Address)
|
||||||
u, err := flags.ParseAddress(s)
|
if !sender.IsSet {
|
||||||
if err != nil {
|
return cli.NewExitError("sender is not set", 1)
|
||||||
return cli.NewExitError(errors.New("invalid sender: must be either address or Uint160 in LE form"), 1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
p := ctx.String("in")
|
p := ctx.String("in")
|
||||||
|
@ -497,7 +496,7 @@ func calcHash(ctx *cli.Context) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return cli.NewExitError(fmt.Errorf("failed to restore manifest file: %w", err), 1)
|
return cli.NewExitError(fmt.Errorf("failed to restore manifest file: %w", err), 1)
|
||||||
}
|
}
|
||||||
fmt.Fprintln(ctx.App.Writer, "Contract hash:", state.CreateContractHash(u, nefFile.Checksum, m.Name).StringLE())
|
fmt.Fprintln(ctx.App.Writer, "Contract hash:", state.CreateContractHash(sender.Uint160(), nefFile.Checksum, m.Name).StringLE())
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue