forked from mirror/go-ethereum
parent
c3f6c322c0
commit
5fdf72b1ab
@ -1,5 +1,29 @@ |
|||||||
package api |
package api |
||||||
|
|
||||||
|
import ( |
||||||
|
"encoding/json" |
||||||
|
|
||||||
|
"github.com/ethereum/go-ethereum/rpc/shared" |
||||||
|
) |
||||||
|
|
||||||
type Sha3Args struct { |
type Sha3Args struct { |
||||||
Data string |
Data string |
||||||
} |
} |
||||||
|
|
||||||
|
func (args *Sha3Args) UnmarshalJSON(b []byte) (err error) { |
||||||
|
var obj []interface{} |
||||||
|
if err := json.Unmarshal(b, &obj); err != nil { |
||||||
|
return shared.NewDecodeParamError(err.Error()) |
||||||
|
} |
||||||
|
|
||||||
|
if len(obj) < 1 { |
||||||
|
return shared.NewInsufficientParamsError(len(obj), 1) |
||||||
|
} |
||||||
|
|
||||||
|
argstr, ok := obj[0].(string) |
||||||
|
if !ok { |
||||||
|
return shared.NewInvalidTypeError("data", "is not a string") |
||||||
|
} |
||||||
|
args.Data = argstr |
||||||
|
return nil |
||||||
|
} |
||||||
|
Loading…
Reference in new issue