Commit Graph

51 Commits

Author SHA1 Message Date
Noah Citron d41a8713d0
fix: add missing fields to beacon block body (#31)
* add proposer slashings to block body

* add attestation slashings to beacon block

* add voluntary exits to beacon body

* remove comment

* fix u256_deserialize
2022-09-14 17:21:09 -04:00
Noah Citron 4719717ddb
fix: node memory leak (#30)
* fix: node memory leak

* fix ci

* typo

* set override

* set uses

* fix

* remove duplicate name

* use nightly

* fix tests

* use BTreeMap for payload cache
2022-09-14 13:57:48 -04:00
Noah Citron 8e080faf4a
feat: add rpc cli flags (#29) 2022-09-12 20:36:04 -04:00
Noah Citron 56385f15ed
feat: support finalized block tag (#28) 2022-09-12 19:23:37 -04:00
Noah Citron cf6c211516
feat: refactor client (#17)
* seperate client and node

* encapsule rpc inside client

* pass proper port into rpc

* track chain head in seperate thread

* client new takes config instead of arc

* refactor main

* add start method to client
2022-09-10 00:01:23 -04:00
Noah Citron b8d21abe44
feat: improve cli (#16)
* use default_value for flags

* add checkpoint flag
2022-09-09 18:14:17 -04:00
Noah Citron a149ba618c
feat: add logging (#15)
* feat: add logging

* show confidence and delay when syncing

* log rpc errors

* fmt
2022-09-08 21:34:14 -04:00
Noah Citron 40a6211c13
tests: add execution tests (#14)
* add execution rpc trait

* add account tests

* add code and tx tests

* add receipt tests

* add get block tests
2022-09-08 17:46:48 -04:00
Noah Citron a63d56a952
refactor: switch execution rpc to ethers (#13) 2022-09-06 13:57:47 -04:00
Noah Citron c64ba5839b
chore: add ci (#12)
* Create rust.yml

* fmt
2022-09-04 21:14:20 -04:00
Noah Citron a0b0b78da5
test: add consensus tests (#11)
* add consensus integration tests

* add unit tests

* organize imports
2022-09-04 19:32:16 -04:00
Noah Citron 95daee7186
fix: add full block and tx context to call (#10) 2022-09-02 15:29:51 -04:00
Noah Citron dbeeffb9f9
feat: add eth_getBlockByHash (#9) 2022-09-02 00:13:22 -04:00
Noah Citron e0411e1e97
feat: add eth_getTransactionByHash (#8)
* add eth_getTransactionByHash

* clean up imports
2022-09-01 23:28:37 -04:00
Noah Citron 11fd824b01
feat: add eth_getTransactionReceipt (#6) 2022-09-01 20:28:12 -04:00
Noah Citron 76a230446d
feat: add eth_sendRawTransaction (#5) 2022-09-01 17:07:30 -04:00
Noah Citron dc0e31cedd
fix: allow from in eth_call and eth_estimateGas (#4)
* fix gas esimtation in uniswap frontend

* calculate empty account
2022-09-01 15:58:45 -04:00
Noah Citron b1d33bb9af
fix: handle proof edge cases (#3)
* fix proof edge cases

* fmt
2022-08-31 20:31:02 -04:00
Noah Citron 92e30c3d50
feat: add metamask support (#2)
* add eth_getBlockByNumber and net_version

* fmt
2022-08-31 17:40:44 -04:00
Noah Citron 374dd1f38f
add optimistic updates (#1) 2022-08-30 20:31:58 -04:00
Noah Citron ad43cf7668 add cli app 2022-08-29 16:54:58 -04:00
Noah Citron 1d810caa92 refactor using cargo workspaces 2022-08-29 13:31:17 -04:00
Noah Citron 57ecba8fd2 add eth_blockNumber to rpc 2022-08-29 12:06:50 -04:00
Noah Citron b8c18ab765 add gas pricing rpc methods 2022-08-29 11:59:02 -04:00
Noah Citron aa50b4cfad add eth_estimateGas 2022-08-27 16:43:27 -04:00
Noah Citron 99d7ff4043 add configuration file support 2022-08-26 20:05:12 -04:00
Noah Citron e0beceb8dd support exclusion proofs ending at leaf 2022-08-26 18:13:35 -04:00
Noah Citron e18aa704e1 expose basic rpc api 2022-08-25 21:18:47 -04:00
Noah Citron 072142b88f fix revm database error handling 2022-08-24 12:28:43 -04:00
Noah Citron 748af6ce95 add simulated call support 2022-08-23 21:33:48 -04:00
Noah Citron 6277843243 add get_strorage_at to client 2022-08-21 17:51:11 -04:00
Noah Citron 787956ccea add get_code to client 2022-08-21 12:59:47 -04:00
Noah Citron f3040377c9 rename execution_rpc submodule to rpc 2022-08-21 12:27:19 -04:00
Noah Citron 5240385dcd refactor module structure 2022-08-21 11:21:50 -04:00
Noah Citron a7a5942451 add client module 2022-08-21 09:13:56 -04:00
Noah Citron 170ca7c442 lint 2022-08-20 16:33:32 -04:00
Noah Citron a441bde2c8 add execution module 2022-08-20 13:18:40 -04:00
Noah Citron 4dd8ba253f add execution_rpc package 2022-08-20 10:10:28 -04:00
Noah Citron 2040614e1b add consensus module 2022-08-19 18:43:58 -04:00
Noah Citron c21f431673 verify mpt proofs 2022-08-19 18:02:06 -04:00
Noah Citron f71bff19f6 add proof helpers 2022-08-18 20:33:44 -04:00
Noah Citron 32603f56c3 trustless fetching of execution payload 2022-08-17 17:25:08 -04:00
Noah Citron 37749df08a refactor into multiple modules 2022-08-16 18:59:07 -04:00
Noah Citron 0c715d29a8 verify finality updates 2022-08-16 11:41:17 -04:00
Noah Citron e30be6871b fix signing root encoding 2022-08-15 15:52:35 -04:00
Noah Citron 0ced9e8f55 committee signature verification 2022-08-13 16:24:04 -04:00
Noah Citron a2d485e91a verify next sync and finality proofs on update 2022-08-12 18:39:08 -04:00
Noah Citron 643b4a0367 fully validate bootstrap 2022-08-12 17:19:51 -04:00
Noah Citron d42d327f26 fix ssz hashing 2022-08-12 12:38:40 -04:00
Noah Citron 573fd7fcc4 hashing committees 2022-08-12 11:32:16 -04:00