Investigate and start to charge for storage artifacts produced by transactions
- Dominant language
- Rust
- Stars
- 370
- Forks
- 96
- PR merge metrics
- No merged PRs in 30d
Description
## Problem overview
Each transaction leaves disk space delta after execution like:
- Inserting a new K/V into a state or asset into balances also has Sparse Merkle Tree storage overhead.
- Contract's bytecode occupies the `Transactions` and `ContractsRawCode` tables.
## Solution
The fuzzing tool https://github.com/FuelLabs/fuel-core/issues/1402 can help us identify other artifacts produced by transaction fields/operations.
In the end, we need to charge the user for these artifacts as part of:
- The opcode price https://github.com/FuelLabs/fuel-vm/issues/602
- Witness data https://github.com/FuelLabs/fuel-core/issues/1161
- As an additional part to `min_fee`.
## Acceptence criteria
Prove that we handled charging for storage artifacts in other issues. If not, we must create a new sub-issue to track the progress.
We can close this issue when all sub-issues are solved.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked fuzzing issue and the related opcode-price and witness-data issues. Inventory transaction-produced storage artifacts and determine whether existing sub-issues cover charging for them. Done means all artifacts are handled by charging work, or any gaps are tracked in new sub-issues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100