Skip to content

feat(evm-utils/evm-state): move velas-chain to fast_rlp tag - #442

Closed
dj8yfo wants to merge 1 commit into
velas:developfrom
dj8yfo:fast_rlp_move_tag
Closed

feat(evm-utils/evm-state): move velas-chain to fast_rlp tag#442
dj8yfo wants to merge 1 commit into
velas:developfrom
dj8yfo:fast_rlp_move_tag

Conversation

@dj8yfo

@dj8yfo dj8yfo commented Apr 21, 2023

Copy link
Copy Markdown
Contributor

Probably will be rejected as scope is too big for first iteration.
A smaller version with both libs used will be merged first instead.

Problem

Implement fast-rlp serialization for all ethereum types, check encoding hasn't changed compared to rlp

Summary of Changes

Fixes #

[ ] checkout develop of `velas-chain`
├── [ ] patch `fast-rlp` so that it depends directly on `primitive-types` and `ethbloom`
├── [ ] later make sure that `src/walker/` and `src/walker/inspector` is not duplicated
└── [ ] make compile stubbed
    ├── [ ] __evm-utils/evm-state/src/types.rs__:
    │   ├── [ ] `block_header_old_rlp::BlockHeader`
    │   │   ├── [ ] new
    │   │   │   ├── [✓] `BlockHeader::hash`, `Encodable` stub
    │   │   │   └── [ ] roundtrip test
    │   │   └── [ ] methods (unlinked with `#cfg[test]`)
    │   │       └── [✓] hash -> hash_old_rlp; hash
    │   │           └── [ ] `OldEncodable::rlp_append` -> `Encodable::{encode, length}`
    │   │               ├── [ ] rlp_append_legacy -> rlp_append_legacy_old; *rlp_append_legacy*
    │   │               └── [ ] rlp_append_newer -> rlp_append_newer_old; *rlp_append_newer*
    │   ├── [ ] `account_old_rlp::Account`
    │   │   ├── [ ] new
    │   │   │   ├── [✓] Encodable stub, Decodable stub
    │   │   │   └── [ ] roundtrip test
    │   │   └── [ ] methods (unlinked with `#cfg[test]`)
    │   │       ├── [ ] `OldEncodable::rlp_append` -> `Encodable::{encode, length}`
    │   │       └── [ ] `OldDecodable::decode` -> `Decodable::decode`
    │   ├── [ ] `account_state_old_rlp::AccountState`
    │   │   ├── [ ] new
    │   │   │   ├── [✓] Encodable stub, Decodable stub
    │   │   │   └── [ ] roundtrip test
    │   │   ├── [ ] methods (unlinked with `#cfg[test]`)
    │   │   │   ├── [ ] `OldEncodable::rlp_append` -> `Encodable::{encode, length}`
    │   │   │   └── [ ] `OldDecodable::decode` -> `Decodable::decode`
    │   │   └── [ ] subtypes
    │   │       └── [ ] `code_old_rlp::Code`
    │   │           ├── [ ] new
    │   │           │   ├── [✓] Encodable stub, Decodable stub
    │   │           │   └── [ ] roundtrip test
    │   │           └── [ ] methods (unlinked with `#cfg[test]`)
    │   │               ├── [ ] `OldEncodable::rlp_append` -> `Encodable::{encode, length}`
    │   │               └── [ ] `OldDecodable::decode` -> `Decodable::decode`
    │   ├── [ ] `ethereum_receipt_old_rlp::EthereumReceipt`
    │   │   ├── [ ] new
    │   │   │   ├── [✓] Encodable stub, Decodable stub
    │   │   │   └── [ ] roundtrip test
    │   │   └── [ ] methods (unlinked with `#cfg[test]`)
    │   │       ├── [ ] `OldEncodable::rlp_append` -> `Encodable::{encode, length}`
    │   │       └── [ ] `OldDecodable::decode` -> `Decodable::decode`
    │   ├── [ ] `tests`
    │   │   ├── [ ] `tests::TestHeader`
    │   │   │   └── [ ] ...
    │   │   ├── [ ] `old_rlp` mod
    │   │   │   ├── [ ] `fn block_1_testnet_newest_rlp_without_tx() {`
    │   │   │   └── [ ] `fn block_1_testnet_newest_rlp_with_tx() {`
    │   │   └── [ ] stays where it is`#[test] fn block_1_testnet_legacy_rlp() {`
    │   └── [ ] remove `use impl_rlp::impl_fixed_hash_rlp;`
    └── [ ] __evm-utils/evm-state/src/transactions.rs__:
        ├── [ ] `transaction_in_receipt_old_rlp::TransactionInReceipt`
        │   ├── [ ] methods
        │   │   ├── [✓] Encodable stub
        │   │   ├── [✓] Decodable stub
        │   │   └── [ ] actual impl and roundtrip test
        │   └── [ ] subtypes
        │       ├── [ ] `transaction_old_rlp::Transaction`
        │       │   ├── [ ] methods
        │       │   │   ├── [ ] signing_rlp_append
        │       │   │   ├── [ ] signing_hash
        │       │   │   ├── [ ] rlp_append_consistend
        │       │   │   ├── [ ] Encodable stub
        │       │   │   └── [ ] Decodable stub
        │       │   └── [ ] subtypes
        │       │       └── [ ] `transaction_action_old_rlp::TransactionAction`
        │       │           └── [ ] methods
        │       │               ├── [ ] Encodable stub
        │       │               └── [ ] Decodable stub
        │       └── [ ] `unsigned_transaction_with_caller_old_rlp::UnsignedTransactionWithCaller`
        │           └── [ ] methods
        │               ├── [ ] Encodable stub
        │               └── [ ] Decodable stub
        └── [ ] `unsigned_transaction_old_rlp::UnsignedTransaction`
            ├── [ ] methods
            │   ├── [ ] Encodable stub
            │   └── [ ] Decodable stub
            └── [ ] subtypes
                └── [ ] `transaction_action_old_rlp::TransactionAction`
@dj8yfo
dj8yfo force-pushed the fast_rlp_move_tag branch 2 times, most recently from 7b2aeb6 to 62949e2 Compare April 21, 2023 17:08
@dj8yfo

dj8yfo commented Apr 21, 2023

Copy link
Copy Markdown
Contributor Author

Closed in favor of #443

@dj8yfo dj8yfo closed this Apr 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant