mirror of
https://github.com/logos-storage/nim-nitro.git
synced 2026-01-03 14:13:09 +00:00
22 lines
519 B
Nim
22 lines
519 B
Nim
import pkg/questionable
|
|
import pkg/questionable/results
|
|
import pkg/stew/byteutils
|
|
|
|
export questionable
|
|
|
|
type EthAddress* = distinct array[20, byte]
|
|
|
|
func zero*(_: type EthAddress): EthAddress =
|
|
EthAddress.default
|
|
|
|
func toArray*(address: EthAddress): array[20, byte] =
|
|
array[20, byte](address)
|
|
|
|
func `$`*(a: EthAddress): string =
|
|
a.toArray().toHex()
|
|
|
|
func parse*(_: type EthAddress, hex: string): ?EthAddress =
|
|
EthAddress(array[20, byte].fromHex(hex)).catch.option
|
|
|
|
func `==`*(a, b: EthAddress): bool {.borrow.}
|