"Revolution in Code: Merkle Trie Migrates to Rust for Unmatched Performance Power!"
"Tech Titans Transform Sync Efficiency as Legacy Code Takes a Leap into the Future!"
Commit Details:
perf: Move merkle trie to Rust (#1853) ## Motivation Move the sync merkle trie to rust ## Change Summary - Merkle trie is now in rust - Remove merkletrieworker ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [X] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [X] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [X] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [X] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on migrating the merkle trie to Rust for improved performance. ### Detailed summary - Moved merkle trie to Rust - Migrated trie node data to TrieDB - Updated various test files to start the sync engine before running tests - Updated sleep timeout in crypto utils - Renamed `create_cast_store` function to `js_create_cast_store` in `cast_store.rs` > The following files were skipped due to too many changes: `apps/hubble/src/storage/db/migrations/5.fnameSyncIds.test.ts`, `apps/hubble/src/addon/src/store/store.rs`, `apps/hubble/src/storage/stores/linkStore.test.ts`, `apps/hubble/src/rpc/test/syncService.test.ts`, `apps/hubble/src/rpc/test/httpServer.test.ts`, `apps/hubble/src/addon/src/lib.rs`, `apps/hubble/src/network/sync/multiPeerSyncEngine.test.ts`, `apps/hubble/src/addon/src/store/utils.rs`, `apps/hubble/src/addon/src/trie/trie_node_tests.rs`, `apps/hubble/src/network/sync/syncEngine.test.ts`, `apps/hubble/src/rustfunctions.ts`, `apps/hubble/src/network/sync/syncEngine.ts`, `apps/hubble/src/addon/src/trie/trie_node.rs`, `apps/hubble/src/network/sync/merkleTrie.test.ts`, `apps/hubble/src/network/sync/merkleTrie.ts`, `apps/hubble/src/addon/src/trie/merkle_trie.rs` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Co-authored-by: Wasif Iqbal <[email protected]>