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 gzliudan committed Dec 19, 2024
1 parent af1fbbc commit 47e3dac
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 @@ -253,6 +253,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 {
checksumed := a.checksumHex()
Expand Down

0 comments on commit 47e3dac

Please sign in to comment.