feat(core): Implement gateway transaction fee methods in GasAdjuster #3552
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What ❔
This PR implements the
get_gateway_tx_base_fee()
andget_gateway_tx_pubdata_price()
methods in theGasAdjuster
struct for handling gateway transactions in L2 mode. These methods were previously marked astodo!()
and are now fully implemented.The implementation follows the existing patterns for fee calculation while adapting them for L2-specific requirements:
Why ❔
Gateway transactions in L2 mode require specific fee handling that differs from regular L1 transactions. This implementation:
TxParamsProvider
trait forGasAdjuster
todo!()
placeholders with proper implementationsThe changes are necessary for proper operation of gateway transactions in L2 mode, which is a critical part of the zkSync Era infrastructure.
Checklist
zkstack dev fmt
andzkstack dev lint
.Implementation Details
The implementation:
For
get_gateway_tx_base_fee()
:For
get_gateway_tx_pubdata_price()
:Both methods maintain consistency with existing patterns while adapting them for L2-specific requirements.