nim-codex/tests/contracts/examples.nim

45 lines
1.2 KiB
Nim

import std/times
import pkg/stint
import pkg/ethers
import dagger/contracts
import ../examples
export examples
proc example*(_: type Address): Address =
Address(array[20, byte].example)
proc example*(_: type StorageRequest): StorageRequest =
StorageRequest(
client: Address.example,
ask: StorageAsk(
size: (1 * 1024 * 1024 * 1024).u256, # 1 Gigabyte
duration: (10 * 60 * 60).u256, # 10 hours
proofProbability: 4.u256, # require a proof roughly once every 4 periods
maxPrice: 84.u256
),
content: StorageContent(
cid: "zb2rhheVmk3bLks5MgzTqyznLu1zqGH5jrfTA1eAZXrjx7Vob",
erasure: StorageErasure(
totalChunks: 12,
totalNodes: 4,
nodeId: 3
),
por: StoragePor(
u: @(array[480, byte].example),
publicKey: @(array[96, byte].example),
name: @(array[512, byte].example)
)
),
expiry: (getTime() + initDuration(hours=1)).toUnix.u256,
nonce: array[32, byte].example
)
proc example*(_: type StorageOffer): StorageOffer =
StorageOffer(
host: Address.example,
requestId: StorageRequest.example.id,
price: 42.u256,
expiry: (getTime() + initDuration(hours=1)).toUnix.u256,
)