[tests] Extract common examples into separate module
This commit is contained in:
parent
5b5f3335d6
commit
bd8f4d5d74
|
@ -3,12 +3,12 @@ import pkg/stint
|
||||||
import pkg/nimcrypto
|
import pkg/nimcrypto
|
||||||
import pkg/ethers
|
import pkg/ethers
|
||||||
import dagger/contracts
|
import dagger/contracts
|
||||||
|
import ../examples
|
||||||
|
|
||||||
proc randomBytes(amount: static int): array[amount, byte] =
|
export examples
|
||||||
doAssert randomBytes(result) == amount
|
|
||||||
|
|
||||||
proc example*(_: type Address): Address =
|
proc example*(_: type Address): Address =
|
||||||
Address(randomBytes(20))
|
Address(array[20, byte].example)
|
||||||
|
|
||||||
proc example*(_: type StorageRequest): StorageRequest =
|
proc example*(_: type StorageRequest): StorageRequest =
|
||||||
StorageRequest(
|
StorageRequest(
|
||||||
|
@ -19,7 +19,7 @@ proc example*(_: type StorageRequest): StorageRequest =
|
||||||
proofProbability: 4.u256, # require a proof roughly once every 4 periods
|
proofProbability: 4.u256, # require a proof roughly once every 4 periods
|
||||||
maxPrice: 84.u256,
|
maxPrice: 84.u256,
|
||||||
expiry: (getTime() + initDuration(hours=1)).toUnix.u256,
|
expiry: (getTime() + initDuration(hours=1)).toUnix.u256,
|
||||||
nonce: randomBytes(32)
|
nonce: array[32, byte].example
|
||||||
)
|
)
|
||||||
|
|
||||||
proc example*(_: type StorageOffer): StorageOffer =
|
proc example*(_: type StorageOffer): StorageOffer =
|
||||||
|
|
|
@ -6,27 +6,17 @@ import pkg/stint
|
||||||
import pkg/dagger/rng
|
import pkg/dagger/rng
|
||||||
import pkg/dagger/stores
|
import pkg/dagger/stores
|
||||||
import pkg/dagger/blocktype
|
import pkg/dagger/blocktype
|
||||||
|
import ../examples
|
||||||
|
|
||||||
|
export examples
|
||||||
|
|
||||||
proc example*(_: type EthAddress): EthAddress =
|
proc example*(_: type EthAddress): EthAddress =
|
||||||
EthPrivateKey.random().toPublicKey.toAddress
|
EthPrivateKey.random().toPublicKey.toAddress
|
||||||
|
|
||||||
proc example*(_: type UInt256): UInt256 =
|
|
||||||
var bytes: array[32, byte]
|
|
||||||
for b in bytes.mitems:
|
|
||||||
b = rand(byte)
|
|
||||||
UInt256.fromBytes(bytes)
|
|
||||||
|
|
||||||
proc example*(_: type UInt48): UInt48 =
|
proc example*(_: type UInt48): UInt48 =
|
||||||
# workaround for https://github.com/nim-lang/Nim/issues/17670
|
# workaround for https://github.com/nim-lang/Nim/issues/17670
|
||||||
uint64.rand mod (UInt48.high + 1)
|
uint64.rand mod (UInt48.high + 1)
|
||||||
|
|
||||||
proc example*[T: SomeInteger](_: type T): T =
|
|
||||||
rand(T)
|
|
||||||
|
|
||||||
proc example*[T,N](_: type array[N, T]): array[N, T] =
|
|
||||||
for item in result.mitems:
|
|
||||||
item = T.example
|
|
||||||
|
|
||||||
proc example*(_: type Wallet): Wallet =
|
proc example*(_: type Wallet): Wallet =
|
||||||
Wallet.init(EthPrivateKey.random())
|
Wallet.init(EthPrivateKey.random())
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
import std/random
|
||||||
|
import pkg/stint
|
||||||
|
|
||||||
|
proc example*[T: SomeInteger](_: type T): T =
|
||||||
|
rand(T)
|
||||||
|
|
||||||
|
proc example*[T,N](_: type array[N, T]): array[N, T] =
|
||||||
|
for item in result.mitems:
|
||||||
|
item = T.example
|
||||||
|
|
||||||
|
proc example*(_: type UInt256): UInt256 =
|
||||||
|
UInt256.fromBytes(array[32, byte].example)
|
Loading…
Reference in New Issue