From 947f5f2b152e18dfab2bec72c99ef76e1d851764 Mon Sep 17 00:00:00 2001 From: gary rong Date: Fri, 2 Aug 2019 15:20:46 +0800 Subject: accounts/abi, signer/fourbyte: fix incorrect signature (#19881) The abi package already supports function overload by adding a suffix to the overloaded function name, but it uses the function name with suffix to calculate signature(both for the event and method). This PR fixes it by adding a new field named RawName, which can be used to calcuate all signatures but use Name to distinguish different overloaded function. --- signer/fourbyte/abi.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'signer') diff --git a/signer/fourbyte/abi.go b/signer/fourbyte/abi.go index ba3af6225..585eae1cd 100644 --- a/signer/fourbyte/abi.go +++ b/signer/fourbyte/abi.go @@ -140,7 +140,7 @@ func parseCallData(calldata []byte, abidata string) (*decodedCallData, error) { return nil, err } // Everything valid, assemble the call infos for the signer - decoded := decodedCallData{signature: method.Sig(), name: method.Name} + decoded := decodedCallData{signature: method.Sig(), name: method.RawName} for i := 0; i < len(method.Inputs); i++ { decoded.inputs = append(decoded.inputs, decodedArgument{ soltype: method.Inputs[i], -- cgit v1.2.3