|
|
|
@ -89,6 +89,18 @@ func (h *Hash) GetHex() string { |
|
|
|
|
// Hashes represents a slice of hashes.
|
|
|
|
|
type Hashes struct{ hashes []common.Hash } |
|
|
|
|
|
|
|
|
|
// NewHashes creates a slice of uninitialized Hashes.
|
|
|
|
|
func NewHashes(size int) *Hashes { |
|
|
|
|
return &Hashes{ |
|
|
|
|
hashes: make([]common.Hash, size), |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// NewHashesEmpty creates an empty slice of Hashes values.
|
|
|
|
|
func NewHashesEmpty() *Hashes { |
|
|
|
|
return NewHashes(0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Size returns the number of hashes in the slice.
|
|
|
|
|
func (h *Hashes) Size() int { |
|
|
|
|
return len(h.hashes) |
|
|
|
@ -102,6 +114,20 @@ func (h *Hashes) Get(index int) (hash *Hash, _ error) { |
|
|
|
|
return &Hash{h.hashes[index]}, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Set sets the Hash at the given index in the slice.
|
|
|
|
|
func (h *Hashes) Set(index int, hash *Hash) error { |
|
|
|
|
if index < 0 || index >= len(h.hashes) { |
|
|
|
|
return errors.New("index out of bounds") |
|
|
|
|
} |
|
|
|
|
h.hashes[index] = hash.hash |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Append adds a new Hash element to the end of the slice.
|
|
|
|
|
func (h *Hashes) Append(hash *Hash) { |
|
|
|
|
h.hashes = append(h.hashes, hash.hash) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Address represents the 20 byte address of an Ethereum account.
|
|
|
|
|
type Address struct { |
|
|
|
|
address common.Address |
|
|
|
@ -164,6 +190,18 @@ func (a *Address) GetHex() string { |
|
|
|
|
// Addresses represents a slice of addresses.
|
|
|
|
|
type Addresses struct{ addresses []common.Address } |
|
|
|
|
|
|
|
|
|
// NewAddresses creates a slice of uninitialized addresses.
|
|
|
|
|
func NewAddresses(size int) *Addresses { |
|
|
|
|
return &Addresses{ |
|
|
|
|
addresses: make([]common.Address, size), |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// NewAddressesEmpty creates an empty slice of Addresses values.
|
|
|
|
|
func NewAddressesEmpty() *Addresses { |
|
|
|
|
return NewAddresses(0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Size returns the number of addresses in the slice.
|
|
|
|
|
func (a *Addresses) Size() int { |
|
|
|
|
return len(a.addresses) |
|
|
|
@ -185,3 +223,8 @@ func (a *Addresses) Set(index int, address *Address) error { |
|
|
|
|
a.addresses[index] = address.address |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Append adds a new address element to the end of the slice.
|
|
|
|
|
func (a *Addresses) Append(address *Address) { |
|
|
|
|
a.addresses = append(a.addresses, address.address) |
|
|
|
|
} |
|
|
|
|