Commit Graph

268 Commits

Author SHA1 Message Date
tersec 6f441a9c1d
re-enable ObservableStores and GcUnsafe2 warnings (#177) 2024-10-25 02:06:48 +00:00
andri lim 523fa0d3d3
v0.3.6 (#176) 2024-10-23 20:24:43 +07:00
andri lim 40854fb51f
No need to use derefType anymore when using useDefault***In (#174) 2024-10-23 17:24:33 +07:00
andri lim 80031669e1
Fix subscription handler (#175)
* Fix contract_dsl event response parser

* Fix pending subscription event handler

* Use useDefaultSerializationIn for EventData

Surprisingly the pending event bug not detected when using ganache. It only manifest after migrated to hardhat. Also not detected on linux and windows CI. Only on macos amd64 CI, and sometimes on macos arm64 CI. Probably related to async timing trigger pending event?. But it's a genuine bug, dated back far before migration from stdlib/json to json-serialization.
2024-10-23 17:05:48 +07:00
andri lim c76ddefea9
Fix AuthorizationObject fields name to v, r, s (#172)
* Fix AuthorizationObject fields name to v, r, s

* Fix identifier style error
2024-10-15 19:45:50 +07:00
andri lim a271022206
Fix test and i386 CI (#171)
* Fix tests

* Replace apt-fast with apt-get
2024-10-11 15:21:30 +07:00
jangko eecf0e22d6
Fix execution_types 2024-10-11 14:12:36 +07:00
andri lim ffd39f059b
Remove obsolete EIP-6110, EIP-7002, and EIP-7251 types (#170) 2024-10-11 12:25:15 +07:00
andri lim 86448ed8b6
Replace AccessTuple with AccessPair from nim-eth (#169)
* Fix deprecated warnings related to eth/common

* Replace AccessTuple with AccessPair from nim-eth
2024-10-11 10:44:33 +07:00
tersec 785991de94
new Pectra engine API (#168) 2024-10-10 02:35:54 +00:00
Jacek Sieka c38791832c
use common transaction signature helpers (#167)
* use common transaction signature helpers

* bump
2024-10-04 14:13:52 +02:00
Jacek Sieka 62a0005b09
fix newPayload type (#166) 2024-10-03 09:55:14 +02:00
tersec fcfa1f41c4
always test with ORC (#165) 2024-10-03 05:38:32 +00:00
Jacek Sieka b41316b25c
parentBeaconBlockRoot is Hash32, per specs (#164) 2024-10-02 09:30:29 +02:00
Jacek Sieka 3e99be297f
readd toArray that went mssing (#163) 2024-10-02 09:17:00 +02:00
Jacek Sieka 25f96c8958
Migrate to common eth types (#162) 2024-10-01 19:41:11 +02:00
tersec 402e71cea3
rm unused engine_exchangeTransitionConfigurationV1 calling signature (#132) 2024-09-30 02:47:09 +00:00
Jacek Sieka 7703740dd3
disambiguate new eth types (#161)
* disambiguate new eth types

* fix requires
2024-09-29 23:27:42 +02:00
Miran 7d12b769fa
update ci.yml to test Nim 2.2; also test gcc-14 (#159)
* update ci.yml to test Nim 2.2; also test gcc-14

* add timeout
2024-09-29 23:03:57 +02:00
Hiroki Noda 3688225816
Replace ganache-cli with hardhat (#154)
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-09-29 22:48:19 +02:00
andri lim 0cc03e67dd
Add Prague (EIP-7685, 6110, 7002, 7251, and 7702) fields (#160)
* Add Prague (EIP-7685, 6110, 7002, 7251, and 7702) fields

* Add EIP-7702 authorizationList field to TransactionArgs
2024-09-13 11:17:30 +07:00
tersec 3ba859d8f1
align WithdrawalRequestV1 with EIP-7002 and consensus spec (#158) 2024-07-01 12:01:00 +00:00
andri lim 914b9ff5a1
Update execution_types with latest engine_api_type changes (#156) 2024-06-18 22:34:27 +07:00
tersec fc226d4511
add JSON-RPC conversion 2024-06-18 03:24:11 +00:00
tersec eb17493295
update Pectra execution API types (#155) 2024-06-17 11:28:06 +00:00
andri lim b705f81643
Replace std.Option with results.Opt (#153) 2024-06-12 06:32:06 +07:00
Yuriy Glukhov 954c23cca2
Respect chainId from TransactionArgs when signing (#152) 2024-06-10 15:14:14 +07:00
jangko ac93b9a993
Add engine_getClientVersionV1 and ClientVersionV1 2024-05-28 12:39:36 +07:00
Yuriy Glukhov 46b4b4c8bc
Fixed encoding of (multidimentional) dynamic arrays (#149)
* Fixed encoding of (multidimentional) dynamic arrays

* Added reference link
2024-05-21 09:41:15 +07:00
andri lim 3cb2a77e1b
CI do not install openssl on macos+nim devel anymore (#150) 2024-05-21 00:11:29 +07:00
tersec 9aed14a737
rename depositReceipts/exits to depositRequests/withdrawalRequests 2024-05-16 00:19:37 +00:00
tersec 5610e21dcd
rename ExitV1 to WithdrawalRequestV1 (#147) 2024-05-15 04:12:34 +03:00
Etan Kissling a00b28a0ce
Use correct type for blob transactions (#148)
`eth_sendRawTransaction` uses a `PooledTransaction` not `Transaction`.
2024-05-14 22:52:11 +03:00
Etan Kissling de87f86087
Allow multiple blobs in `eth_sendTransaction` (#146)
An individual EIP-4844 transaction can refer to multiple blobs.
2024-05-06 22:38:42 +02:00
Etan Kissling 290acb6e62
bump `execution-apis` to `v1.0.0-beta.4` (#145)
- https://github.com/ethereum/execution-apis/releases/tag/v1.0.0-beta.4

This was already partially applied, the following commits were missing:

- update the doc of eth_getBalance to put block as required parameters
- schemas/filter: fixup some bugs in null filter topics and address
- tests: regenerate tests with new rpctestgen chain
- tests: add forkenv.json for hive
- tests: add headfcu.json
- tests: add comments in tests
- Specify Client Versions on Engine API
- Add eth_blobBaseFee; add blobs to eth_feeHistory
- Added engine_getPayloadV4 and engine_newPayloadV4 for Prague
- Update receipt.yaml to title instead of name
- Move EIP-6110 to Prague
- Add EIP-7251 to Prague
- engine: rename for 7002 partial withdrawals and 7685 requests
2024-04-25 18:38:51 +00:00
jangko 9620fee53f
Change some FeeHistoryResult field types from Quantity to UInt256 2024-04-15 17:20:33 +07:00
andri lim a31bc63448
Add baseFeePerBlobGas and blobGasUsedRatio fields to FeeHistoryResult (#143)
Also add eth_blobBaseFee call signature
2024-04-03 21:04:36 +07:00
andri lim 9e370474fb
Add newPayload4 and getPayload4 convenience API (#142) 2024-03-28 07:13:52 +07:00
andri lim e049d14855
Add ExecutionPayloadV4 and GetPayloadV4Response to execution_types functions (#141) 2024-03-27 22:59:33 +07:00
tersec 85e34e8ab2
add Prague engine API support types (#140) 2024-03-27 04:24:31 +00:00
andri lim 4d80530dd5
Fix execution types conversion functions (#139) 2024-03-26 07:08:04 +07:00
andri lim 285d97c2b0
Unify EthCall/EthSend into TransactionArgs (#138)
* Unify EthCall/EthSend into TransactionArgs

* Add isEIP4844 of TransactionArgs
2024-03-20 11:12:59 +07:00
Etan Kissling 80c7aa6de2
make `BlockNumber` `distinct` (#137)
The `writeValue` added for `BlockNumber` in #136 interferes with other
`uint64` because `BlockNumber` is not `distinct`. Marking it `distinct`
avoids polluting global serialization logic.
2024-03-17 00:04:38 +01:00
Kim De Mey 428c46c94f
Add writeValue for BlockNumber (#136)
As it is also possible to use directly BlockNumber instead of the
RtBlockIdentifier in the eth_api.
2024-03-15 09:05:24 +01:00
jangko 747001250a
Add optional yParity field to TransactionObject
The test is already included in previous commit of
test_execution_api fix. I separate the commit to let
users of this library aware of this changes.

This changes is also needed in eth hive test of rpc compat simulator.
2024-02-29 17:51:43 +07:00
jangko c016e58488
Remove error field from AccessListResult 2024-02-29 17:51:42 +07:00
tersec 15325bd844
test refc in CI in Nim 2.0 and later (#134) 2024-02-17 02:09:58 +00:00
tersec d0d9a0c286
use non-EOL macOS version and fix spelling (#133) 2024-02-16 04:10:23 +00:00
andri lim 10538c667a
Replace eth_getBlockReceipts return type with Opt[T] instead of Optio… (#131)
* Replace eth_getBlockReceipts return type with Opt[T] instead of Option[T]

reason:
Option[T] failed to compile when using nim v2
it is related to ref object. But also hard to reproduce outside
combination of nim-json-serialization + nim-json-rpc + something

* Add note about nim v2 regression

* Add test case of eth_getBlockReceipts usage
2024-02-14 18:40:57 +07:00
Etan Kissling a67213af4f
re-add support for `fromBlock`, `toBlock`, `blockHash` in `eth_getLogs` (#130)
In #108 a regression got introduced, resulting in `fromBlock`, `toBlock`
and `blockHash` no longer being sent when a client calls `eth_getLogs`.
This may break the deposits import process in `nimbus-eth2`, resulting
in messages such as:

```
ERR 2024-02-06 19:52:34.474+01:00 The Eth1 chain is not synced               ourDepositsCount=0 targetDepositsCount=403
```

Fixing the regression restores successful import messages:

```
INF 2024-02-06 22:12:14.863+01:00 Eth1 sync progress                         topics="elmon" blockNumber=1349452 depositsProcessed=3
```
2024-02-06 21:26:20 +00:00