fix: use single on-chain bridge fee #522
Merged
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.
Describe your changes
Fixes https://cantina.xyz/code/d35ebc75-9107-4e58-a923-f81725912138/findings/10
GatewayStorage.finalizationFee
from the storage of the gateway contracts. Each gateway still stores what's currently defined asGatewayStorage.counterpartyFee
(now renamed tocounterpartyFinalizationFee
).TransferInitiated
event is augmented to emit thiscounterpartyFinalizationFee
.finalizeTransfer
is augmented to accept a finalization fee as a part of the transfer being finalized. The relayer would be responsible for ensuring that the_finalizationFee
value infinalizeTransfer
is the same as what was specified ascounterpartyFinalizationFee
in the correspondingTransferInitiated
event.By making these changes, we remove the need for one gateway's counterpartyFee to match the other gateway's finalizationFee. The finalization fee is now (only) be set and stored on the origin chain as
counterpartyFinalizationFee
, while still being mutable.Checklist before requesting a review