Eric Mastro
4d7e40eb0e
remove en/decoding for distinct types
...
The changes to `nim-contract-abi` in https://github.com/status-im/nim-contract-abi/pull/5 have allowed for distinct type en/decoding procs to not need to be defined.
2022-09-21 10:27:45 +10:00
Eric Mastro
01d277f801
version 0.2.2
2022-09-21 10:27:45 +10:00
Eric Mastro
31ffc8992f
Update compile time check to use when
2022-09-21 10:27:45 +10:00
Eric Mastro
ae2d33aacd
Support 1.2.16 distinctBase compilation error
2022-09-21 10:27:45 +10:00
Eric Mastro
0adf56c65b
Support distinct types for Event fields
...
Add support for indexed (and non-indexed) Event fields types that are distinct `ValueType` or `SmallByteArray`. For example,
```nim
type
DistinctAlias = distinct array[32, byte]
MyEvent = object of Event
a {.indexed.}: DistinctAlias
b: DistinctAlias # also allowed for non-indexed fields
## The below funcs generally need to be included for ABI
## encoding/decoding purposes when implementing distinct types.
func toArray(value: DistinctAlias): array[32, byte] =
array[32, byte](value)
func encode*(encoder: var AbiEncoder, value: DistinctAlias) =
encoder.write(value.toArray)
func decode*(decoder: var AbiDecoder,
T: type DistinctAlias): ?!T =
let d = ?decoder.read(type array[32, byte])
success DistinctAlias(d)
```
2022-09-21 10:27:45 +10:00
Eric Mastro
e1a1a3805b
remove extra spaces
2022-09-20 13:15:15 +10:00
Eric Mastro
5fe41a76ab
PR comments
...
1. rename helpers to testing and expose externally via `import pkg/ethers/testing`
2. Change detection of revert from `EthersError` to `JsonRpcProviderError`
3, Remove catch of `CatchableError` from revert detection as this would swallow errors. Update tests accordingly.
2022-09-20 13:15:15 +10:00
Eric Mastro
f8ba91a297
Catch ValueError from nim-json-rpc
2022-09-20 13:15:15 +10:00
Eric Mastro
e0ac15b3ba
add revert helpers for testing
...
Add the following helpers to help detect transaction reverts:
1. `reverts`
2. `revertsWith`
3. `doesNotRevert`
4. `doesNotRevertWith`
2022-09-20 13:15:15 +10:00
Mark Spanbroek
e8d0fdf1a9
version 0.2.1
2022-08-08 15:14:11 +02:00
Mark Spanbroek
c72cdc5573
[wallet] cleanup
2022-08-08 15:07:41 +02:00
Mark Spanbroek
a2d688e34e
[wallet] Avoid Option.get() which can raise UnpackDefect
2022-08-08 15:07:41 +02:00
Mark Spanbroek
1a8ca0bcad
[wallet] Use questionable to deal with optionals
2022-08-08 15:07:41 +02:00
Mark Spanbroek
0483e1676a
[provider] Rename sendRawTransaction -> sendTransaction
...
To be consistent with ethers.js
2022-08-08 15:07:41 +02:00
Jackie
cd5165efd0
Fix issues with teardown in wallet tests
2022-08-08 12:40:36 +02:00
Jackie
1af3ab1a0a
Make wallet use Provider not JsonRpcProvider
2022-08-08 12:40:36 +02:00
Jackie
b72fbb0ed9
small fixes
2022-08-08 12:40:36 +02:00
Jackie
39005a09be
Add TODOs
2022-08-08 12:40:36 +02:00
Jackie
d6c9151103
Add new test for wallet
2022-08-08 12:40:36 +02:00
Jackie
456d454f2f
Fix bug in wallet
2022-08-08 12:40:36 +02:00
Jackie
ac7785dd04
Add new method to wallet
2022-08-08 12:40:36 +02:00
Jackie
4c047fd997
Changes to TransactionOverrides to support EIP1559
2022-08-08 12:40:36 +02:00
Jackie
1d89be9d42
Add first tests for wallet
2022-08-08 12:40:36 +02:00
Jackie
b5888a53a6
Include wallet in library
2022-08-08 12:40:36 +02:00
Jackie
2c9eb595d2
Add sendRawTransaction
2022-08-08 12:40:36 +02:00
Jackie
671d42889a
Add Wallet functionality
2022-08-08 12:40:36 +02:00
Jackie
abda8493b0
Change Transaction type to support EIP1559
2022-08-08 12:40:36 +02:00
Jackie
e01ef1daf8
Add new requirement
2022-08-08 12:40:36 +02:00
Mark Spanbroek
16a3d25419
Remove duplication
2022-08-08 12:26:09 +02:00
Jackie
52f57894f5
Fix block subscription
2022-08-08 12:26:09 +02:00
Ivan Yonchovski
abb23d5220
Add setup files
2022-07-13 09:09:27 +02:00
Mark Spanbroek
e9aaea4a5a
Fix intermittent test failure
...
Test would fail with an error when transaction hash
happens to start with 0b; it would then try to to parse
the hash as a binary number.
2022-07-13 09:04:48 +02:00
Mark Spanbroek
083af80dcc
Introduce separate type for transaction overrides
2022-07-13 09:04:48 +02:00
Mark Spanbroek
a7d1944406
Allow for custom transaction properties
2022-07-13 09:04:48 +02:00
Mark Spanbroek
440ca6360b
Version 0.2.0
...
Backwards incompatible because:
- Raises EthersError instead of JsonRpcError
- Nim 1.4.x no longer supported
2022-06-30 10:52:12 +02:00
Mark Spanbroek
94f5f35a10
Drop support for Nim 1.4.x
...
Only support stable Nim versions 1.2.x and 1.6.x.
2022-06-30 10:52:12 +02:00
Mark Spanbroek
95c5282b8a
Raise EthersError when JSON-RPC fails
2022-06-30 10:52:12 +02:00
Mark Spanbroek
1a6cff211d
Fix: use websock instead of news
...
The default was changed to news in the json_rpc
library, and broke communication with hardhat.
2022-06-30 09:35:30 +02:00
Mark Spanbroek
a626070532
version 0.1.9
2022-06-15 10:54:45 +02:00
Mark Spanbroek
00b511cc9b
Allow enums to be used as function parameters
2022-06-15 10:52:35 +02:00
Mark Spanbroek
9ef6c08072
Handle multiple return types on a contract call
2022-06-14 16:27:43 +02:00
Mark Spanbroek
78115cdd4b
version 0.1.8
2022-06-08 11:24:38 +02:00
Mark Spanbroek
e61c70f5ba
Fix: handle dynamically sized return values
...
Dynamically sized return values such as strings and
sequences were not decoded as part of a tuple, leading
to a difference in byte representation.
2022-06-08 11:23:01 +02:00
Mark Spanbroek
801bf19157
Remove calls to Option.get
2022-05-25 09:28:15 +02:00
Mark Spanbroek
33df1e759d
Move `confirm` from `jsonrpc` to `provider`
2022-05-25 09:28:15 +02:00
Mark Spanbroek
2653610b6b
Raise EthersError instead of JsonRpcProviderError
2022-05-25 09:28:15 +02:00
Mark Spanbroek
346053e3f2
Turn `confirm` into proc instead of method
2022-05-25 09:28:15 +02:00
Eric Mastro
e6c9b59cfb
chore: add tests for all contract method return types
...
Add tests for non-constant contract method return types:
1. `void`
2. `?TransactionResponse` or `Option[TransactionRepsonse]`
3. `Confirmable`
2022-05-25 09:13:44 +02:00
Mark Spanbroek
fff0d189a5
Ensure that `confirm` future is only finished once
...
Should fix CI failure
https://github.com/status-im/nim-ethers/runs/6557104597
2022-05-25 09:13:44 +02:00
Mark Spanbroek
649dc8efd0
Allow types that are equivalent to Confirmable
...
Allows ?TransactionResponse, Option[TransactionResponse] etc
to be used instead of Confirmable.
2022-05-25 09:13:44 +02:00