-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(evm-utils/evm-state): connect to fast_rlp tag/feature of triedb #443
Draft
dj8yfo
wants to merge
13
commits into
velas:develop
Choose a base branch
from
dj8yfo:fast_rlp_move_tag_small_scope
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
5 times, most recently
from
April 24, 2023 17:32
1590886
to
a14406e
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 24, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [ ] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [ ] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [ ] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested │ └── [ ] `TransactionAction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `UnsignedTransaction` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `TransactionAction` └── [ ] `Encodable` stub, `Decodable` stub
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 24, 2023 18:54
a14406e
to
94526a2
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 24, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [ ] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [ ] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested │ └── [ ] `TransactionAction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `UnsignedTransaction` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `TransactionAction` └── [ ] `Encodable` stub, `Decodable` stub
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 24, 2023 19:08
94526a2
to
fdc0457
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 24, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested │ └── [ ] `TransactionAction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `UnsignedTransaction` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `TransactionAction` └── [ ] `Encodable` stub, `Decodable` stub
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 24, 2023 20:50
fdc0457
to
4377b63
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 24, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested │ └── [ ] `TransactionAction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `UnsignedTransaction` ├── [ ] `Encodable` stub, `Decodable` stub └── [ ] nested └── [ ] `TransactionAction` └── [ ] `Encodable` stub, `Decodable` stub
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 24, 2023 20:56
4377b63
to
469504d
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 25, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [ ] `TransactionAction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ └── [ ] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [ ] `UnsignedTransaction` ├── [ ] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [✓] `signing_rlp_append` -> `signing_rlp_append_old`, `#[cfg(test)]` ├── [✓] `signining_hash` -> `signing_hash_old`, `#[cfg(test)]` ├── [ ] `#[test] sign_check_signature` -> extend with equality to fastrlpmethods ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [ ] `TransactionAction` ├── [ ] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 25, 2023 10:04
469504d
to
720b5be
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 25, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 26, 2023 08:12
a6a51c2
to
7d56936
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 26, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
* Feature: add `geth` dump parsing * Fix: use raw `DatabaseTrieMut` * Chore: inline `flush_changes`, `set_account_state`, `ext_storage` into `set_initial` * Refactoring: extract state generation from `EvmBackend` into `Storage` * Refactor: renaming * Fix: few various panics * Feature: add optional `state_root` verification * Feature: dynamically determine importing accounts chunk size * Fix: properly calculate heap size, open evm_state after import * Fix: accounts counter (pointer), better naming, fmt * Fix: flushing storage by chunks * Fix: tests * Docs: add notes about deleting files * Fix: correctly handle state_root * Feature: extract evm dump functionality into separate trait * Fix: move tests to separate module * Fix: add `#[cfg(test)]` attributes to test modules * Fix: better public API * Fix: clippy * Feature: add tests for `GethAccountExtractor` * Fix: add sample dump * Adjust CLI * Fix: reduce code duplication * Fix: unwrap one time used functions * Fix: split account batching and storage writing procedures. * Fix: add missing `state_root` assert
…elas#439) * state replication implementation * use any address for a server * update link to a triedb dep * update service with a new triedb implementation * Use previous triedb version for interface * use async db interface * update reply for a changeset route * update a link to the triedb dep * one more build fix * update path to an archive * update api, change names * update replica server * chore(triedb): update triedb repo link * feat(replica-node): state-diff work * chore(all): partially fix/ignore clippy on 1.63 * feat(replica-node): state-diff client/server * feat(replica-node): continue light archive node work * feat(replica-lib,replica-node): add secondary storage variant * chore(replica-lib): reivew module structure fixes * chore(replica-node): module structure review comments * feat(replica-lib,replica-node): master blocknum range routine * feat(replica-lib,replica-node): bootstrap state with SpliceCountStack * feat(replica-node): client skip height if already present * feat(replica-node): errors on tree consistency broken {child nodes unexpectedly not found} * feat(evm-state): expose api for secondary mode try_catch_up_with_primary * feat(replica-lib): add background task for syncing secondary with primary * feat(replica-node): skip bootstrap height, if already present * chore(replica-lib, replica-node):: replace anyhow with thiserror * chore(replica-lib): split into finer modules * chore(replica-lib): state diff request check hashes server-side; better error-handling * chore(replica-lib): increase threshold on state bootstrap make client issue requests close to the threshold instead of 1/20 of threshold; * chore(replica-lib): add debug print on duration of EvmHeightIndex fetches * chore(replica-node): cut away poc implementation details Cut away details, all of which are sure to be changed in next iteration * [ur] feat(evm-utils/evm-height-rangemap): evm-height-rangemap tool (velas#431) * feat(evm-utils/evm-height-rangemap): evm-height-rangemap tool 1. send heights via channel 2. fetch height from cache or wait until fetched indefinetely (Option<H256>) 3. timeout in LedgerStorage 4. correct Err handling (panic in worker when giving up on error to fetch a new height, channel closed, panic in worker sending heights to channel) 5. BlockNotFound(..) results in None : Option<H256> 6. addded backon for retries with exponential backoff 7. split ranges into subranges for multiple LedgerStorage workers 8. add checking of nodes presence in rocksdb 9. add persisting of results to range_map.json of destination * chore(evm-block-recovery): add explicit error message * chore(evm-block-recovery): use single connection for bigtable_fetcha clone single connection for workers instead of using multiple distinct connections * chore(evm-state::storage): create two_modes enum * chore(evm-block-recovery): routines::scan_evm_state_roots review fixes 2 * feat(replica-node): reimplement RangeJSON 1. allow for optional finer range storing for detailed view of a client's progress, a rangemap 2. reintroduce Mutex, as it's gonna be used concurrently on server anyway, and very likely, on client too 3. add custom logic of computing next chunk of work 3.1. all heights outside of covered `coarse` range, reachable by `JUMP_OVER_ABYSS_GAP`from `KICKSTART_POINT` param 3.2 add tests 4. compute the right `JUMP_OVER_ABYSS_GAP` constant from old_formatted.json 4.1. remove server threshold param * feat(replica-node): client sync algorithm shell: outline, `prefetch_height` call - [x] outline - [x] bootstarp client with multiple connections, as `tonic::client::Grpc::unary` takes `&mut self` receiver - [x] query `SERVER_RANGE` - [x] bootstrap logic - [x] if own range empty, bootstrap to first height available in range - [x] remove boostrap_height client cli param - [x] `SERVER_RANGE` check server range <Wed Mar 22 10:30:22 PM EET 2023> - [x] if own range not empty, compute diff range from self range.start as `KICKSTART_POINT` <Wed Mar 22 10:30:22 PM EET 2023> - [x] process if not empty , break `SERVER_RANGE` <Wed Mar 22 10:31:59 PM EET 2023> - [x] compute diff range from self range.end as `KICKSTART_POINT` <Wed Mar 22 10:30:22 PM EET 2023> - [x] process if not empty , break `SERVER_RANGE` <Wed Mar 22 10:31:59 PM EET 2023> - [x] if both are empty, sleep before next iteration - [x] add retryables submodule - [x] add retried wrapper around get_evm_confirmed_state_root - [x] implement new `prefetch_height` - [x] place `prefetch_height` logic stub in overall algorithm shell; if kickstart point is not found on server, sleep before next iteration - [x] or panic!, if wrong chain - [x] `prefetch_height_retried` - [x] classify error cases, which should be thrown through - [x] add prefetch_height to boostrap as well: no point bootstrapping the wrong chain * feat(replica-node): client sync algorithm shell ; add `prefetch_range` call to `EvmHeightIndex` - [x] add `prefetch_range` call to `EvmHeightIndex` - [x] add method to trait - [x] noop implementation for `LedgerStorage` - [x] add `prefetch_range_retried` default impl to `EvmHeightIndex` * feat(replica-node): create `LedgerStorageCached` as an implementation of `EvmHeightIndex` * feat(replica-node): client sync algorithm shell; implement `prefetch_range` grpc call - [x] implement `prefetch_range` grpc call - [x] singe try on server, no point in retrying - [x] `prefetch_range_retried` on client grpc - [x] move `ChunkedRange` iterator into `range_processor.rs` code - [x] resplit incoming range vector into `MAX_PREFETCH_RANGE_CHUNK`-s - [x] put `kickstart_point` into its own struct/module (`Arc<Mutex<BlockNum>>`) - [x] set its initial value to one passed in as argument - [x] process each subrange, taking in `kickstart_point`, and returning one `Result<kiskstart_point>` - [x] issue bigtable.`prefetch_roots_retried` at the start of each range - [x] issue `prefetch_range_retried` to server at the start of each range - [x] test interactively * feat(replica-node): client sync algorithm shell; `get_state_diff` call cut out pure - [x] `get_state_diff` call cut out pure - [x] `download_and_apply_diff` -> cut out `get_diff` - [x] classify server errors, which mean give up, no retries `Result<, StageOneError>` - [x] failed_precondition - [x] `ServerError::HashMismatch` fail fast - [x] `ServerProtoError::StateDiffBlocksTooFar { .. }` fail fast - [x] not_found - [x] `ServerError::EvmHeight::Bigtable::BlockNotFound` fail fast - [x] `ServerError::Lock::LockRootNotFound` fail fast - [x] `ServerError::NotFoundNested` fail fast - [x] illegal argument - [x] `EvmHeightError::ZeroHeightForbidden` fail fast - [x] `ServerProtoError::EmptyHash` : fail fast - [x] `ServerProtoError::CouldNotParseHash(..)` : fail fast - [x] test - [x] change `stage_one` signature - [x] move `get_and_apply` diff to its own module, it doesn't belong to proto - [x] extract stages - [x] stage1 - [x] `get_diff_retried` - [x] stage2 - [x] stage3 * feat(replica-node): client sync algorithm shell; kilosievert module - [x] write `kilosievert` module - [x] `concrete_chamber` - [x] `steel_container` - [x] make constants `max_concrete_chamber_wall_inches` and `max_steel_container_wall_inches` configurable via cli flags - [x] move `get_evm_confirmed_state_root_retried(target)` into async task for cases where block is absent on bt(testnet) * chore(replica-node): add bootstrap progress hint... * feat(replica-node): syntactic shugar and running totals debug info [✓] syntactic shugar and running totals debug info ├── [✓] forbid backwards ranges (< self.range.start) │ ├── [✓] remove diff against left kickstart_point │ └── [✓] amend tests ├── [✓] running total of number of nodes inserted over blockrange reported every 1000 nodes └── [✓] local ├── [✓] `eager_replica_balanced ` │ ├── [✓] 05:43 s │ ├── [✓] 05:41 s │ ├── [✓] 05:37 s │ ├── [✓] 05:29 s │ └── [✓] 05:33 s ├── [✓] `not that bad replica` │ ├── [✓] 05:14 s │ ├── [✓] 05:09 s │ ├── [✓] 05:13 s │ ├── [✓] 05:13 s │ └── [✓] 05:10 s ├── [✓] `eager_replica_simple` │ ├── [✓] 05:20 s │ ├── [✓] 05:26 s │ ├── [✓] 05:27 s │ ├── [✓] 05:28 s │ └── [✓] 05:23 s └── [✓] `eager_replica_balanced` large channel size (200) └── [✓] 05:38 s * feat(replica-node): jump over large gaps: move constant `MAX_CLIENT_WORK_CHUNK` to a param in `RangeJSON` logic [✓] jump over large gaps: move constant `MAX_CLIENT_WORK_CHUNK` to a param in `RangeJSON` logic ├── [✓] remove `upward` flag in `Entry` └── [✓] add stuff in pipeline to increase `MAX_CLIENT_WORK_CHUNK` from min 10x -> `MAX_JUMP_OVER_ABYSS_GAP` if range apply routine results in range not changed └── [✓] simply increase constant * feat(replica-node): bootstrap requests backon implement to eat up errors [✓] bootstrap requests backon implement to eat up errors ├── [✓] `get_evm_confirmed_state_root` -> `get_evm_confirmed_state_root_retried` │ └── [✓] outline ├── [✓] ...`Self::get_array_of_nodes` │ └── [✓] classify business logic errors │ ├── [✓] `ServerProtoError::ExceededMaxChunkGetArrayOfNodes`, │ ├── [✓] `ServerProtoError::CouldNotParseHash` │ └── [✓] `ServerError::NotFoundTopLevel` └── [✓] simplify retry code, replace `backon` with маленьке звiрятко загортае шоколад у фольгу * feat(replica-node): split errors in finer modules: `common`, `server` and `client` [✓] split errors in finer modules: `common`, `server` and `client` ├── [✓] common │ ├── [✓] lock │ └── [✓] evm_height ├── [✓] server │ ├── [✓] proto │ └── [✓] move to lock error │ ├── [✓] `NotFound` │ └── [✓] `NotFoundNested` └── [✓] client ├── [✓] proto ├── [✓] check_height ├── [✓] range_sync │ └── [✓] stages │ ├── [✓] one │ │ └── [✓] request │ │ └── [✓] network │ │ └── [✓] replace `one::request::network::Error::from_with_metadata` with `From<tonic::Status>` │ └── [✓] two ├── [✓] bootstrap │ └── [✓] fetch_nodes │ └── [✓] get │ └── [✓] replace `bootstrap::fetch_nodes::get::Error::from_with_metadata` with `From<tonic::Status>` └── [✓] run a few tests locally ├── [✓] with missing starting height └── [✓] normal * chore(replica-lib): clippy * feat(replica-node): add `bigtable`, `local`, `json` cli flag for getting source of data [x] add timeout to instantiated LedgerStorage (bt) (hangs noticed in testing) [x] add timeout to instantiated state_api grpc client [✓] add `bigtable`, `solana_blockstore`, `json` cli flag for getting source of data (to __triedb_repica__) ├── [✓] add `scratchpad` to evm-block-recovery for conveniences ├── [✓] implement `bigtable`, `ReadRange` │ ├── [✓] fix `EvmHeight::get_evm_confirmed_state_root` to return option │ │ └── [✓] (possibly very long on testnet on ranges of missing blocks) │ ├── [✓] add/test `get_first_available_block` │ │ ├── [✓] testnet │ │ └── [✓] mainnet │ └── [✓] implement `get_last_available_block` via `bigtable.get_evm_confirmed_full_blocks_nums` call (with start hint) │ ├── [✓] testnet │ ├── [✓] mainnet │ └── [✓] add check to service start, if it's empty after hinting │ └── [✓] test at `triedb` server start │ └── [✓] failure with large default hint on testnet ├── [✓] implement `local` `ReadRange` │ └── [✓] `get_first_available_block` and `get_last_available_block` (for range) ├── [✓] add flags to switch between json and stuff (on __server__) │ ├── [✓] add optional flag _blockstore_path_ │ ├── [✓] _range_source_ │ │ ├── [✓] `json` │ │ │ ├── [✓] optional flag _range_file_, which is required now │ │ │ └── [✓] retest │ │ ├── [✓] `bigtable` │ │ │ └── [✓] widen `ReadRange` and `WriteRange` methods signature to be result with `evm_height::Error` │ │ └── [✓] `solana_blockstore` │ │ └── [✓] test │ └── [✓] _height_index_source_ - it's separate from range │ ├── [✓] `bigtable` │ │ └── [✓] optional flag to support len hinting `ENV_MAINNET_HINT` -> flag; `bigtable_length_hint` │ │ └── [✓] test testnet │ └── [✓] `solana_blockstore` │ ├── [✓] use `Box<dyn EvmHeight>` instead of `S: EvmHeight` │ │ ├── [✓] removed `where S: EvmHeightIndex + Send + Sync + 'static,` │ │ └── [✓] on __server__, on __client__ `Arc<dyn EvmHeight>` may be required due to `Clone` used extensively │ └── [✓] `solana_blockstore` │ └── [✓] implement `EvmHeight` └── [✓] perform test with 2 `solana_blockstore` values startup : Ok(62793454..62816191) ├── [✓] no sync for secondary `solana_blockstgore` implemented in `triedb_replica` └── [✓] increase timeout for client from 20 sec -> 60 sec [x] fix clippy * feat(velas-validator): integrate evm state rpc server into validator [✓] figure out the structure of the output command ├── [✓] add error count for process nodes stages instead of printing errors to log (_replica-lib_) ├── [✓] split `start_and_join` into `start`, and `join` is already there ├── [✓] `evm-state-rpc-port` -> `ValidatorConfig.evm_state_rpc_port` │ └── [✓] `pub evm_state_rpc_port: Option<SocketAddr>`, ├── [✓] `solana_replica_lib::triedb::Config` -> `replica-lib/src/triedb/mod.rs` ├── [✓] if `evm-state-archive` specified check for `evm-state-rpc-port` │ └── [✓] if port specified `Config::parse_validator(&matches)?` │ └── [✓] clone Arc<Blockstore> for `solana_blockstore` ├── [✓] test │ ├── [✓] `bigtable` │ └── [✓] `solana_blockstore` (start range ...) │ └── [✓] `BlockstoreError::SlotCleanedUp` for faster error traversal (hangs) ├── [✓] fix clippy ├── [✓] make tests compile └── [✓] fix syncup secondary issue for `standalone` run with `solana_blockstore` └── [✓] test * chore(clippy): fix * feat(replica-node,velas-validator): missing cli args for working with large gaps on imperfect NEW_ARCHIVE [✓] missing cli args for working with large gaps on imperfect NEW_ARCHIVE ├── [✓] client │ ├── [✓] timeout │ │ └── [✓] `grpc-timeout-sec` u64 │ └── [✓] height diff (#[doc(hidden)]) │ └── [✓] `max-height-diff` usize └── [✓] server └── [✓] height diff, print error to log if lower than min VALUE ├── [✓] `parse_standalone` call site │ └── [✓] `max-height-diff` usize └── [✓] `parse_validator` call site └── [✓] `evm-state-rpc-max-height-diff` usize * chore(replica-node): increase db_workers permits required on large height diffs [✓] missing cli args for working with large gaps on imperfect NEW_ARCHIVE ├── [✓] client │ ├── [✓] timeout │ │ └── [✓] `grpc-timeout-sec` u64 │ ├── [✓] height diff (#[doc(hidden)]) │ │ └── [✓] `max-height-diff` usize │ └── [✓] add error on init if `db_workers` param is lower than `DB_SEMAPHORE_PERMITS_PER_LARGE_DIFF` └── [✓] server └── [✓] height diff, print error to log if lower than min VALUE ├── [✓] `parse_standalone` call site │ ├── [✓] `max-height-diff` usize │ └── [✓] make server whisper curses if this param is specified as too low on start (10_000) └── [✓] `parse_validator` call site └── [✓] `evm-state-rpc-max-height-diff` usize * chore(solana-ledger): review fix, add comment to new api * chore(replica-node): add clap required_if arg properties * chore(clippy): clippy * chore(solana-logger): attempt a stupid build fix --------- Co-authored-by: Julian Pokrovsky <juliankul@gmail.com>
* fix(evm-utils/evm-state): remove first part of features of unorthodox rust-rocksdb [ ] revert `rust-rocksdb` to orthodox version effort └── [✓] first revert effort with inner traits made visible ├── [✓] link everything to tag where stuff wasn't available ├── [✓] [issue orthodox rust-rocksdb v1](velas#432) │ └── [✓] define new trait `VelasDBCommon` │ ├── [✓] method `pub fn flush(&self) -> Result<(), Error> {` │ └── [✓] `pub fn cancel_all_background_work(&self, wait: bool) {` └── [✓] remove `HACK` annotations * fix(ledger,evm-utils/evm-state): bump rocksdb to v0.20.1 [orthodox] * chore(**/*): update triedb tag ---------
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [✓] `UnsignedTransactionWithCaller` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 26, 2023 19:58
1a36a7c
to
ba8ba76
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 26, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [ ] `UnsignedTransactionWithCaller` ├── [ ] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 26, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [ ] `Transaction` │ ├── [ ] `Encodable` stub, `Decodable` stub │ ├── [ ] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [ ] `UnsignedTransactionWithCaller` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
2 times, most recently
from
April 27, 2023 09:49
948e475
to
ac2ca59
Compare
this proves to be somewhat problematic to rebase onto develop instead of merge |
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [✓] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [✓] __evm-utils/evm-state/src/transactions.rs__: └── [✓] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test │ └── [✓] split roundtrip test in 3 ├── [✓] move old impl to #[cfg(test)] └── [✓] nested ├── [✓] `Transaction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [ ] move old impl to #[cfg(test)] └── [✓] `UnsignedTransactionWithCaller` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] └── [✓] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 27, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [✓] `Transaction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [✓] `UnsignedTransactionWithCaller` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 27, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [ ] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [ ] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [✓] `Transaction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [✓] `UnsignedTransactionWithCaller` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 27, 2023 17:44
a6ce0dc
to
f4ddf8f
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 27, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [ ] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [ ] __evm-utils/evm-state/src/transactions.rs__: └── [✓] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test │ └── [✓] split roundtrip test in 3 ├── [ ] move old impl to #[cfg(test)] └── [ ] nested ├── [✓] `Transaction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [ ] move old impl to #[cfg(test)] │ └── [ ] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ └── [✓] nested └── [✓] `UnsignedTransactionWithCaller` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [ ] move old impl to #[cfg(test)] └── [ ] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
from
April 27, 2023 18:52
f4ddf8f
to
48bd65b
Compare
dj8yfo
pushed a commit
to dj8yfo/velas-chain
that referenced
this pull request
Apr 27, 2023
[ ] merge [pull request: < fast-rlp >](velas#443) ├── [ ] merge [pull request: < triedb | fast-rlp >](velas/triedb#51) └── [✓] make minimal changes to make velas-chain compile with both libs used ├── [✓] __evm-utils/evm-state/src/types.rs__: │ ├── [✓] `Account` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] actual impl │ │ │ └── [✓] roundtrip test │ │ └── [✓] move old impl to #[cfg(test)] │ └── [✓] `EthereumReceipt` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ ├── [✓] `ethbloom::Bloom` │ │ ├── [✓] `Encodable` stub, `Decodable` stub │ │ ├── [✓] nested │ │ └── [✓] roundtrip test │ └── [✓] `ethereum::Log` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [✓] roundtrip test └── [✓] __evm-utils/evm-state/src/transactions.rs__: └── [✓] `TransactionInReceipt` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test │ └── [✓] split roundtrip test in 3 ├── [✓] move old impl to #[cfg(test)] └── [✓] nested ├── [✓] `Transaction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] roundtrip test │ ├── [✓] move old impl to #[cfg(test)] │ └── [✓] nested │ └── [✓] `TransactionAction` │ ├── [✓] `Encodable` stub, `Decodable` stub │ ├── [✓] nested │ └── [ ] move old impl to #[cfg(test)] └── [✓] `UnsignedTransactionWithCaller` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] └── [✓] nested └── [✓] `UnsignedTransaction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test ├── [✓] move old impl to #[cfg(test)] ├── [✓] return derived `Encodable`, `Decodable` impl └── [✓] nested └── [✓] `TransactionAction` ├── [✓] `Encodable` stub, `Decodable` stub ├── [✓] roundtrip test └── [ ] move old impl to #[cfg(test)]
dj8yfo
force-pushed
the
fast_rlp_move_tag_small_scope
branch
2 times, most recently
from
April 27, 2023 20:03
0a39eb0
to
6d03e8a
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Summary of Changes
Fixes #