Commit Graph
75 Commits
Author SHA1 Message Date
roysc 66ccb461c9 Clean up unused code (#6)
Removes unused code, module replacements.

Reviewed-on: #6
2024-05-29 13:05:10 +00:00
roysc 761d60acdf Geth 1.13 (Deneb/Cancun) update (#5)
The Geth `core/state` and `trie` packages underwent a big refactor between `v1.11.6` and `1.13.14`.
This code, which was adapted from those, needed corresponding updates. To do this I applied the diff patches from Geth directly where possible and in some places had to clone new parts of the Geth code and adapt them.

In order to make this process as straightforward as possible in the future, I've attempted to minimize the number of changes vs. Geth and added some documentation in the `trie_by_cid` package.

Reviewed-on: #5
v0.1.0
2024-05-29 10:00:12 +00:00
i-norden 6f79445570 Merge pull request 'additional StateDB and stateObject methods required for tracing' (#4) from ian/v5_additions into v5
Reviewed-on: #4
v0.0.7-alpha-0.0.1
2023-11-06 13:24:11 +00:00
i-norden 4faef8b509 go mod
Run tests / Run unit tests (pull_request) Successful in 6m1s
2023-11-06 07:22:41 -06:00
i-norden c09d19b68b additional StateDB and stateObject methods required for tracing
Run tests / Run unit tests (pull_request) Failing after 5m58s
2023-11-01 15:02:07 -05:00
roysc e52a00e9d4 Update plugeth-statediff to v0.1.4 (#2)
Reviewed-on: #2
v0.0.7-alpha
2023-09-30 05:54:44 +00:00
roysc aa2dbd84d7 Refactor to use plugeth-statediff (#1)
Reviewed-on: #1
v0.0.6-alpha
2023-09-20 06:16:44 +00:00
roysc bd877020d0 Merge pull request #19 from cerc-io/roy/v5-dev
* Rewrite trie_by_cid package to be read-write
* add CI workflows
v0.0.5-alpha
2023-05-19 01:11:39 +08:00
roysc b392e12bdd CI workflows 2023-05-19 01:08:07 +08:00
roysc 5eb6cd2ba8 Update README 2023-05-19 01:08:07 +08:00
roysc 7381b35dc6 Redo trie_by_cid package to be read-write
* use logrus instead of geth log
* remove benchmarks
* impl NodeIterator.ParentPath
* update go mods
2023-05-19 01:08:07 +08:00
roysc c839739320 Test cleanup 2023-05-15 00:12:49 +08:00
roysc 0eba6888c1 Merge pull request #18 from cerc-io/roy/v5-dev
* Refactor redundant DB code

* Fix storage paths

GetState takes a slot, not a leaf path

* Add trie_by_cid/state.TryGetNode

used in ipld-eth-server

* Reorganize packages

* direct_by_leaf/ is original StateDB package
* sql/ for SQL DB interfaces

* Test NodeBlob

* Fix node resolution; use Cid struct as key

was erroneously storing the cid in the fullNode's flag.cache

* Add basic trie tests
2023-04-25 15:01:12 +08:00
roysc 4b2aba4fc7 Add basic trie tests 2023-04-24 21:38:11 +08:00
roysc 88e7a394d0 Fix node resolution; use Cid struct as key
was erroneously storing the cid in the fullNode's flag.cache
2023-04-24 18:34:49 +08:00
roysc 3f0e36c0a3 Test NodeBlob 2023-04-24 18:34:49 +08:00
roysc 3625e22949 Reorganize packages
* direct_by_leaf/ is original StateDB package
* sql/ for SQL DB interfaces
2023-04-24 18:34:49 +08:00
roysc 5790ff0439 Add trie_by_cid/state.TryGetNode
used in ipld-eth-server
2023-04-24 18:34:49 +08:00
roysc e3e4e1e41c Fix storage paths
GetState takes a slot, not a leaf path
2023-04-24 18:34:49 +08:00
roysc 49177ee0ab Refactor redundant DB code 2023-04-24 18:34:49 +08:00
roysc ced8041f72 fix package oops 2023-04-24 18:34:42 +08:00
roysc b6ef6d4e12 Proof tests (#17)
* Port proof tests from geth
* Scale trie size, seed rand
2023-04-24 05:04:13 -05:00
Ian Norden 32e4994b09 Merge pull request #16 from cerc-io/ian/v5_dev
Merge StateDB and Trie that use CIDs and trie traversal access pattern to interface with ipld.blocks
v0.0.4-alpha
2023-04-10 23:58:29 -05:00
roysc 3ddb592d6b expose NodeIterator 2023-04-10 16:43:36 +08:00
roysc a5a95c2a9f clean up 2023-04-10 16:43:27 +08:00
roysc 49f3d43e46 update statedb
add transient storage
2023-04-10 16:43:27 +08:00
i-norden 7575a88b03 add a bit to the README about the alt implementation 2023-04-09 12:59:07 -05:00
i-norden cee8f21984 some fixes 2023-04-09 12:42:19 -05:00
i-norden 804b321c42 updated deps 2023-04-09 12:25:11 -05:00
i-norden 0cea5840f8 move to trie_by_cid 2023-04-09 12:01:26 -05:00
roysc 0573da1982 trie iterator and tests 2023-04-09 12:01:26 -05:00
roysc ed5238a742 unused pkg 2023-04-09 12:01:26 -05:00
roysc 33e3d2f0ec Implement StateDB using IPFS-backed trie and supporting types 2023-04-09 12:01:26 -05:00
i-norden f8648b51a7 initial commit 2023-04-09 12:01:26 -05:00
Ian Norden c7d05bb86e Merge pull request #11 from cerc-io/ian/v5_dev
create database abstraction to make it easier to use different drivers
v0.0.3-alpha
2023-03-16 07:32:03 -05:00
i-norden 73bb6cf62b clean up 2023-03-13 16:58:59 -05:00
i-norden 784860a7f0 create database abstraction to make it easier to use different drivers; add sqlx driver support to make integrating into ipld-eth-server database metrics easier 2023-03-13 14:07:01 -05:00
Ian Norden 9f53f99fc6 Merge pull request #10 from cerc-io/ian/v5_dev
add `SetStorage` methods to StateDB and StateObject
v0.0.2-alpha
2023-03-13 11:08:29 -05:00
i-norden 04a4cc7014 add SetStorage methods to StateDB and StateObject 2023-03-13 10:41:45 -05:00
Ian Norden ac6d1918e2 Merge pull request #8 from cerc-io/ian/v5_dev
Additional unit tests
v0.0.1-alpha
2023-03-09 09:04:44 -06:00
i-norden 02d148c5ef review fixes 2023-03-09 09:03:47 -06:00
i-norden 31aec61d7e fix for difficult to identify bug due to block_num arg being overriden by optimistic get_storage_at path which then can mess up the pessimistic path in very particular scenarios 2023-03-08 16:44:49 -06:00
i-norden f354dca32d another test case to check handling when non-canonic blocks are present 2023-03-08 12:46:11 -06:00
Ian Norden c09bc65a92 Merge pull request #7 from cerc-io/ian/v5
Use `get_storage_at` procedures
2023-03-08 12:45:42 -06:00
i-norden 96067bd223 review fixes 2023-03-08 11:20:16 -06:00
i-norden 2a004e887c add one more case 2023-03-08 10:03:48 -06:00
i-norden affaeeb481 add simple unit test cases to test behavior when slots or contracts are destructed 2023-03-07 20:41:53 -06:00
i-norden bd7a73afe8 update to use get_storage_at functions 2023-03-07 20:41:53 -06:00
Ian Norden 1ed81b588d Merge pull request #2 from cerc-io/ian/v5
ipld-eth-statedb
2023-03-06 12:11:23 -06:00
i-norden 3a5606673a removeu unused method hash arg 2023-03-06 11:46:07 -06:00