fix evm constructor input data
This commit is contained in:
parent
a2a9147790
commit
2cda4547d6
17
cli/chain.go
17
cli/chain.go
@ -1516,7 +1516,7 @@ var ChainPruneCmd = &cli.Command{
|
|||||||
var ChainExecEVMCmd = &cli.Command{
|
var ChainExecEVMCmd = &cli.Command{
|
||||||
Name: "create-evm-actor",
|
Name: "create-evm-actor",
|
||||||
Usage: "Create an new EVM actor via the init actor and return its address",
|
Usage: "Create an new EVM actor via the init actor and return its address",
|
||||||
ArgsUsage: "contract [params]",
|
ArgsUsage: "contract",
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "from",
|
Name: "from",
|
||||||
@ -1533,8 +1533,8 @@ var ChainExecEVMCmd = &cli.Command{
|
|||||||
defer closer()
|
defer closer()
|
||||||
ctx := ReqContext(cctx)
|
ctx := ReqContext(cctx)
|
||||||
|
|
||||||
if argc := cctx.Args().Len(); argc < 1 || argc > 2 {
|
if argc := cctx.Args().Len(); argc != 1 {
|
||||||
return xerrors.Errorf("must pass the contract and (optionally) constructor input data")
|
return xerrors.Errorf("must pass the contract init code")
|
||||||
}
|
}
|
||||||
|
|
||||||
contract, err := os.ReadFile(cctx.Args().First())
|
contract, err := os.ReadFile(cctx.Args().First())
|
||||||
@ -1542,17 +1542,8 @@ var ChainExecEVMCmd = &cli.Command{
|
|||||||
return xerrors.Errorf("failed to read contract: %w", err)
|
return xerrors.Errorf("failed to read contract: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var inputData []byte
|
|
||||||
if cctx.Args().Len() == 2 {
|
|
||||||
inputData, err = base64.StdEncoding.DecodeString(cctx.Args().Get(1))
|
|
||||||
if err != nil {
|
|
||||||
return xerrors.Errorf("decoding base64 value: %w", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
constructorParams, err := actors.SerializeParams(&evm.ConstructorParams{
|
constructorParams, err := actors.SerializeParams(&evm.ConstructorParams{
|
||||||
Bytecode: contract,
|
Bytecode: contract,
|
||||||
InputData: inputData,
|
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("failed to serialize constructor params: %w", err)
|
return xerrors.Errorf("failed to serialize constructor params: %w", err)
|
||||||
|
Loading…
Reference in New Issue
Block a user