From f7dda63c04b69af635f226d8021942454a5ad43d Mon Sep 17 00:00:00 2001 From: Mark Spanbroek Date: Tue, 9 Mar 2021 11:07:35 +0100 Subject: [PATCH] Move common imports into a "basics" module --- nitro/basics.nim | 11 +++++++++++ nitro/{types.nim => ethaddress.nim} | 14 ++------------ nitro/protocol/abi.nim | 5 ++--- nitro/protocol/channel.nim | 4 ++-- nitro/protocol/outcome.nim | 4 ++-- nitro/protocol/signature.nim | 7 +++---- nitro/protocol/state.nim | 4 ++-- nitro/uint48.nim | 3 +++ tests/nitro/protocol/basics.nim | 7 +++++++ tests/nitro/protocol/testAbi.nim | 4 +--- tests/nitro/protocol/testChannel.nim | 4 +--- tests/nitro/protocol/testOutcome.nim | 6 ++---- tests/nitro/protocol/testSignature.nim | 5 +---- tests/nitro/protocol/testState.nim | 6 ++---- 14 files changed, 41 insertions(+), 43 deletions(-) create mode 100644 nitro/basics.nim rename nitro/{types.nim => ethaddress.nim} (50%) create mode 100644 nitro/uint48.nim create mode 100644 tests/nitro/protocol/basics.nim diff --git a/nitro/basics.nim b/nitro/basics.nim new file mode 100644 index 0000000..1e20cea --- /dev/null +++ b/nitro/basics.nim @@ -0,0 +1,11 @@ +import pkg/questionable +import pkg/questionable/results +import pkg/stint +import ./uint48 +import ./ethaddress + +export questionable +export results +export stint +export uint48 +export ethaddress diff --git a/nitro/types.nim b/nitro/ethaddress.nim similarity index 50% rename from nitro/types.nim rename to nitro/ethaddress.nim index 2a67084..1abeca5 100644 --- a/nitro/types.nim +++ b/nitro/ethaddress.nim @@ -1,24 +1,14 @@ -import std/math import pkg/questionable -import pkg/stint import pkg/stew/byteutils -include questionable/errorban - -export stint export questionable -type - UInt48* = range[0'u64..2'u64^48-1] - EthAddress* = distinct array[20, byte] +type 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 + EthAddress(array[20, byte].fromHex(hex)).catch.toOption proc `==`*(a, b: EthAddress): bool {.borrow.} diff --git a/nitro/protocol/abi.nim b/nitro/protocol/abi.nim index b481c28..e45fc0a 100644 --- a/nitro/protocol/abi.nim +++ b/nitro/protocol/abi.nim @@ -1,10 +1,9 @@ import pkg/stew/endians2 -import pkg/stint -import ../types +import ../basics include questionable/errorban -export types +export basics type AbiEncoder* = object diff --git a/nitro/protocol/channel.nim b/nitro/protocol/channel.nim index 2136608..0d65a70 100644 --- a/nitro/protocol/channel.nim +++ b/nitro/protocol/channel.nim @@ -1,10 +1,10 @@ import pkg/nimcrypto -import ../types +import ../basics import ./abi include questionable/errorban -export types +export basics type Channel* = object diff --git a/nitro/protocol/outcome.nim b/nitro/protocol/outcome.nim index 7c419e5..c74558a 100644 --- a/nitro/protocol/outcome.nim +++ b/nitro/protocol/outcome.nim @@ -1,10 +1,10 @@ import pkg/nimcrypto -import ../types +import ../basics import ./abi include questionable/errorban -export types +export basics type Outcome* = distinct seq[AssetOutcome] diff --git a/nitro/protocol/signature.nim b/nitro/protocol/signature.nim index 10ffb09..fb52116 100644 --- a/nitro/protocol/signature.nim +++ b/nitro/protocol/signature.nim @@ -1,13 +1,12 @@ -import pkg/questionable -import pkg/questionable/results -import pkg/nimcrypto import pkg/secp256k1 +import pkg/nimcrypto import pkg/stew/byteutils +import ../basics import ./state include questionable/errorban -export questionable +export basics export toPublicKey type diff --git a/nitro/protocol/state.nim b/nitro/protocol/state.nim index bb3db25..60da40b 100644 --- a/nitro/protocol/state.nim +++ b/nitro/protocol/state.nim @@ -1,12 +1,12 @@ import pkg/nimcrypto -import ../types +import ../basics import ./channel import ./outcome import ./abi include questionable/errorban -export types +export basics export channel export outcome diff --git a/nitro/uint48.nim b/nitro/uint48.nim new file mode 100644 index 0000000..acb63eb --- /dev/null +++ b/nitro/uint48.nim @@ -0,0 +1,3 @@ +import std/math + +type UInt48* = range[0'u64..2'u64^48-1] diff --git a/tests/nitro/protocol/basics.nim b/tests/nitro/protocol/basics.nim new file mode 100644 index 0000000..13473d2 --- /dev/null +++ b/tests/nitro/protocol/basics.nim @@ -0,0 +1,7 @@ +import std/unittest +import pkg/nitro +import ./examples + +export unittest +export nitro +export examples diff --git a/tests/nitro/protocol/testAbi.nim b/tests/nitro/protocol/testAbi.nim index 7ed39f1..1802d38 100644 --- a/tests/nitro/protocol/testAbi.nim +++ b/tests/nitro/protocol/testAbi.nim @@ -1,7 +1,5 @@ -import std/unittest +import ./basics import pkg/nitro/protocol/abi -import pkg/stint -import ./examples suite "ABI encoding": diff --git a/tests/nitro/protocol/testChannel.nim b/tests/nitro/protocol/testChannel.nim index c40a246..fb520cf 100644 --- a/tests/nitro/protocol/testChannel.nim +++ b/tests/nitro/protocol/testChannel.nim @@ -1,9 +1,7 @@ -import std/unittest -import pkg/nitro/protocol/channel +import ./basics import pkg/nitro/protocol/abi import pkg/nimcrypto import pkg/stew/byteutils -import ./examples suite "channel": diff --git a/tests/nitro/protocol/testOutcome.nim b/tests/nitro/protocol/testOutcome.nim index c597695..02bd2df 100644 --- a/tests/nitro/protocol/testOutcome.nim +++ b/tests/nitro/protocol/testOutcome.nim @@ -1,9 +1,7 @@ -import std/unittest +import ./basics +import pkg/nitro/protocol/abi import pkg/nimcrypto import pkg/stew/byteutils -import pkg/nitro/protocol/abi -import pkg/nitro/protocol/outcome -import ./examples suite "outcome": diff --git a/tests/nitro/protocol/testSignature.nim b/tests/nitro/protocol/testSignature.nim index da8a411..7c9ce34 100644 --- a/tests/nitro/protocol/testSignature.nim +++ b/tests/nitro/protocol/testSignature.nim @@ -1,10 +1,7 @@ -import std/unittest +import ./basics import pkg/nimcrypto import pkg/secp256k1 import pkg/stew/byteutils -import pkg/nitro/protocol/state -import pkg/nitro/protocol/signature -import ./examples suite "signature": diff --git a/tests/nitro/protocol/testState.nim b/tests/nitro/protocol/testState.nim index 778d7c2..d401933 100644 --- a/tests/nitro/protocol/testState.nim +++ b/tests/nitro/protocol/testState.nim @@ -1,9 +1,7 @@ -import std/unittest +import ./basics +import pkg/nitro/protocol/abi import pkg/nimcrypto import pkg/stew/byteutils -import pkg/nitro/protocol/state -import pkg/nitro/protocol/abi -import ./examples suite "state":