Skip to content

Commit 5b65fb5

Browse files
authored
add HexNumber.ToBig helper and HexNumberToUnix time helper (#195)
1 parent e334786 commit 5b65fb5

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

types/types.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66
"math/big"
77
"strings"
8+
"time"
89
)
910

1011
type HexNumber big.Int
@@ -39,3 +40,20 @@ func (i *HexNumber) UnmarshalJSON(data []byte) error {
3940

4041
return nil
4142
}
43+
44+
var Zero = big.NewInt(0)
45+
46+
// ToBig converts HexNumber to *big.Int.
47+
// if HexNumber is nil, it returns a pointer to Zero.
48+
func (i *HexNumber) ToBig() *big.Int {
49+
if i == nil {
50+
return Zero
51+
}
52+
53+
return (*big.Int)(i)
54+
}
55+
56+
// HexNumberToUnix converts HexNumber to time.Time by interpreting it as a Unix timestamp.
57+
func HexNumberToUnix(n *HexNumber) time.Time {
58+
return time.Unix(n.ToBig().Int64(), 0)
59+
}

0 commit comments

Comments
 (0)