util.go 591 B

123456789101112131415161718192021222324252627282930
  1. package util
  2. import (
  3. "strconv"
  4. "strings"
  5. )
  6. type JsonRpcResponseGetter struct {
  7. m map[string]interface{}
  8. }
  9. func NewJsonRpcResponseGetter(result interface{}) JsonRpcResponseGetter {
  10. return JsonRpcResponseGetter{m: result.(map[string]interface{})}
  11. }
  12. func (this JsonRpcResponseGetter) GetString(key string) string {
  13. return this.m[key].(string)
  14. }
  15. func (this JsonRpcResponseGetter) GetUint64(key string) uint64 {
  16. str := this.m[key].(string)
  17. if strings.HasPrefix(str, "0x") {
  18. str = str[2:]
  19. }
  20. ret, err := strconv.ParseUint(str, 16, 64)
  21. if err != nil {
  22. panic(err)
  23. }
  24. return ret
  25. }