nim-nitro/nitro/types.nim

25 lines
522 B
Nim
Raw Normal View History

import std/math
import pkg/questionable
import pkg/stint
import pkg/stew/byteutils
include questionable/errorban
2021-03-03 10:30:07 +01:00
export stint
export questionable
type
UInt48* = range[0'u64..2'u64^48-1]
EthAddress* = distinct array[20, byte]
proc toArray*(address: EthAddress): array[20, byte] =
array[20, byte](address)
proc fromHex*(_: type EthAddress, hex: string): ?EthAddress =
try:
EthAddress(array[20, byte].fromHex(hex)).some
except ValueError:
EthAddress.none
proc `==`*(a, b: EthAddress): bool {.borrow.}