-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Deserialize Collector Fee Details #35326
Deserialize Collector Fee Details #35326
Conversation
Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #35326 +/- ##
=======================================
Coverage 81.7% 81.7%
=======================================
Files 834 834
Lines 224232 224241 +9
=======================================
+ Hits 183382 183406 +24
+ Misses 40850 40835 -15 |
@tao-stones, can you please add a link to the simd? |
Updated PR Description with links to simd and poc impl pr. This PR is slimmed to be backported to v1.18 to allow beta to read snapshot generated from edge. I haven't committed changes that could break snapshot, so thanks in advance for being thorough on reviewing. One thing to point out: I commented to deprecate the original |
Is this serialized in the bank? It should probably at some point be written as default, but it cannot be removed in bincode, afaik. @brooksprumo |
pub(crate) struct CollectorFeeDetails { | ||
pub transaction_fee: u64, | ||
pub priority_fee: u64, | ||
pub reserved: u64, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this have a known purpose? Will it be enough? Will it ever be used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it is reserved for potential write-lock fee (SIMD-0110), which would be 100% burnt. It is not yet approved, but there is a chance it will, want to be greedy to have space allocated for it for now 😸
When do we need this backport present in 1.18? Should we wait until things like |
yea it is serialized in bank currently, perhaps repurpose it down the road. |
if that |
Whether this needs to be backported or not is a different issue than if we should merge into master. I think any review of backport worthy-ness should be on the backport PR. |
The jump team also brought up using accounts for these types of things would be cleaner and not require special logic to ingest the snapshot since the values will just be contained in a serialized account. I'm not sure we are completely aligned on that, but since this is adding something new in that area it might be a good idea to evaluate how feasible that is. |
Stuff associated with account, such as write-lock fee, are good candidate to be stored with account, especially with new account layout. But that perhaps belongs to separate topic. This PR is to replace Historically, |
This repository is no longer in use. Please re-open this pull request in the agave repo: https://github.com/anza-xyz/agave |
Problem
bank
needs to collect transaction signature fees separately from priority fee, so it can be rewarded differently (per SIMD-0096).This PR only does deserialize the new field, so it can be backport to beta to allow beta to load snapshot generated from edge. It is part of end-to-end poc implementation of simd-0096.
Summary of Changes
collector_fees
from deserializationCollectorFeeDetails
Fixes #