Skip to content

Commit

Permalink
common/types: add Address.Big (ethereum#26132)
Browse files Browse the repository at this point in the history
Many of the other types have a function to convert the type to a big.Int,
but Address was missing this function.

It is useful to be able to turn an Address into a big.Int when doing
EVM-like computations natively in Go. Sometimes a Solidity address
type is casted to a uint256 and having a Big method on the Address
type makes this easy.
  • Loading branch information
tynes authored and shekhirin committed Jun 6, 2023
1 parent 67a3d3a commit 2dcbf66
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions common/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,9 @@ func (a Address) Bytes() []byte { return a[:] }
// Hash converts an address to a hash by left-padding it with zeros.
func (a Address) Hash() Hash { return BytesToHash(a[:]) }

// Big converts an address to a big integer.
func (a Address) Big() *big.Int { return new(big.Int).SetBytes(a[:]) }

// Hex returns an EIP55-compliant hex string representation of the address.
func (a Address) Hex() string {
return string(a.checksumHex())
Expand Down

0 comments on commit 2dcbf66

Please sign in to comment.