fault_proving(storage_traits): refactor to allow usage of arbitrary `TableColumn` (#2793)
## Linked Issues/PRs <!-- List of related issues/PRs --> - part of https://github.com/FuelLabs/fuel-core/issues/2775 ## Description <!-- List of detailed changes --> - instead of tying `MerkleizedTableColumn` to the `TableColumn` variant only in use by the global state root service, this refactors the trait to accept an arbitrary `TableColumn` that is returned when `table_column` is called. we've copied all the common functionality required by both destinations (`fuel-core-global-merkle-root-storage` and `fuel-core-compression-service`), you may see that we haven't deleted the implementations from the `fuel-core-global-merkle-root-storage` crate yet, because that crate doesn't use newtypes and we have an orphan rule error. will be addressed in follow up. For the person implementing the follow up, you can remove - - `fuel-core-global-merkle-root/src/merkle.rs` - `fuel-core-global-merkle-root/src/merkle/smt.rs` and reuse the traits & types from `fuel-core-storage` instead ## Checklist - [x] Breaking changes are clearly marked as such in the PR description and changelog - [x] New behavior is reflected in tests - [x] [The specification](https://github.com/FuelLabs/fuel-specs/) matches the implemented behavior (link update PR if changes are needed) ### Before requesting review - [x] I have reviewed the code myself - [x] I have created follow-up issues caused by this PR and linked them here ### After merging, notify other teams [Add or remove entries as needed] - [ ] [Rust SDK](https://github.com/FuelLabs/fuels-rs/) - [ ] [Sway compiler](https://github.com/FuelLabs/sway/) - [ ] [Platform documentation](https://github.com/FuelLabs/devrel-requests/issues/new?assignees=&labels=new+request&projects=&template=NEW-REQUEST.yml&title=%5BRequest%5D%3A+) (for out-of-organization contributors, the person merging the PR will do this) - [ ] Someone else?
A
Aaryamann Challani committed
744b76531cfde46f79d5eb3ac96ee86405ae8a1e
Parent: bc78572
Committed by GitHub <noreply@github.com>
on 3/7/2025, 12:06:33 PM