nim-codex/tests/contracts
markspanbroek 29433bad9a
Fix concurrency issues (#993)
* Use http subscriptions instead of websocket for tests

To work around this issue when subscriptions are
inactive for more than 5 minutes:
https://github.com/NomicFoundation/hardhat/issues/2053

Use 100 millisecond polling; default polling interval
of 4 seconds is too close to the 5 second timeout for
`check eventually`.

* use .confirm(1) instead of confirm(0)

confirm(0) doesn't wait at all, confirm(1) waits
for the transaction to be mined

* speed up partial payout integration test

* update nim-ethers to version 0.10.0

includes fixes for http polling and .confirm()

* fix timing of marketplace tests

allow for a bit more time to withdraw funds

* use .confirm(1) in marketplace tests

to ensure that the transaction has been processed
before continuing with the test

* fix timing issue in validation unit test

* fix proof integration test

there were two logic errors in this test:
- a slot is freed anyway at the end of the contract
- when starting the request takes a long time, the
  first slot can already be freed because there were
  too many missing proofs

* fix intermittent error in contract tests

currentTime() doesn't always correctly reflect
the time of the next transaction

* reduce number of slots in integration test

otherwise the windows runner in the CI won't
be able to start the request before it expires

* fix timing in purchasing test

allow for a bit more time for a request to
be submitted

* fix timing of request submission in test

windows ci is so slow, it can take up to 40 seconds
just to submit a storage request to hardhat

* increase proof period to 90 seconds

* adjust timing of integration tests

reason: with the increased period length of 90 seconds, it
can take longer to wait for a stable challenge at the
beginning of a period.

* increase CI timeout to 2 hours

* Fix slow builds on windows

apparently it takes windows 2-3 seconds to
resolve "localhost" to 127.0.0.1 for every
json-rpc connection that we make 🤦
2024-11-25 11:23:04 +00:00
..
deployment.nim Prover CLI updates (#735) 2024-03-12 09:57:13 +00:00
examples.nim Load purchase state from chain (#283) 2022-11-08 08:10:17 +01:00
nim.cfg feat: integrate dagger contracts 2022-02-04 15:34:56 +11:00
testClock.nim Fix concurrency issues (#993) 2024-11-25 11:23:04 +00:00
testContracts.nim Fix concurrency issues (#993) 2024-11-25 11:23:04 +00:00
testDeployment.nim chore: update dependencies, especially nim-ethers to chronos v4 compatible version (#968) 2024-10-30 10:40:17 +00:00
testMarket.nim Fix concurrency issues (#993) 2024-11-25 11:23:04 +00:00
time.nim Fix concurrency issues (#993) 2024-11-25 11:23:04 +00:00