mirror of
https://github.com/status-im/nim-ethers.git
synced 2025-01-12 16:44:23 +00:00
c5c9534876
- `TransactionReceipt.blockHash` is optional - Block.number is optional (in case node doesn’t return this in the event) - Refactor confirmations waiting such that there is no polling for a receipt at the start - Make BlockHandler and SubscriptionHandler async - change casing of constants - change return type checking of contract method to check for `Confirmable` instead of `?TransactionRepsonse` - Reduce miner sleep to 10ms - Change `wait` and `Waitable` to `confirm` and `Confirmable` to avoid conflict with chrono’s `.wait`. - Update params on `.confirm` so that the compiler can restrict values of the `int` to `Positive` and `Natural`. - Add `Block` and `TransactionReceipt` conversion tests to test for missing block number and block hash. - Add tests for confirmation calculations and determining if a tx has been mined from its receipt. - Assume that blockNumber returned from node will be null or empty string, in which case we can parse as 0 and test for that condition.
11 lines
333 B
Nim
11 lines
333 B
Nim
import chronos
|
|
import pkg/ethers/providers/jsonrpc
|
|
|
|
|
|
proc mineBlocks*(provider: JsonRpcProvider, blks: int) {.async.} =
|
|
for i in 1..blks:
|
|
discard await provider.send("evm_mine")
|
|
# Gives time for the subscription to occur in `.wait`.
|
|
# Likely needed in slower environments, like CI.
|
|
await sleepAsync(2.milliseconds)
|