From 21920416e8d5821ad9e37cec5735a4a8789eb69e Mon Sep 17 00:00:00 2001 From: brion Date: Tue, 20 Dec 2022 01:12:42 +0800 Subject: [PATCH] update --- internal/ethapi/api_multicall.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/ethapi/api_multicall.go b/internal/ethapi/api_multicall.go index 0bbd38cfff..b7f6cfe09d 100644 --- a/internal/ethapi/api_multicall.go +++ b/internal/ethapi/api_multicall.go @@ -139,7 +139,7 @@ func handleNative(ctx context.Context, state *state.StateDB, msg types.Message) data := msg.Data() method, err := erc20ABI.MethodById(data) if err != nil { - return []byte("0x"), err + return nil, err } switch method.Name { case "name", "symbol": @@ -153,20 +153,21 @@ func handleNative(ctx context.Context, state *state.StateDB, msg types.Message) if method.Name == "balanceOf" { inputs, err := method.Inputs.Unpack(data[4:]) if err != nil || len(inputs) == 0 { - return []byte("0x"), fmt.Errorf("input error") + return nil, fmt.Errorf("input error") } address, ok := inputs[0].(common.Address) if !ok { - return []byte("0x"), fmt.Errorf("input address parse error") + return nil, fmt.Errorf("input address parse error") } balance, err := method.Outputs.Pack(state.GetBalance(address)) if err != nil { - return []byte("0x"), err + return nil, err } return balance, state.Error() } - return []byte("0x"), nil + // should never reach here + return nil, fmt.Errorf("unsupported method") } func doOneCall(ctx context.Context, b Backend, state *state.StateDB, header *types.Header, arg TransactionArgs, disableCache bool) (*callResult, error) {