Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove MintReward and introduce PayRewardFromAccount #1654

Closed
svyatonik opened this issue Nov 21, 2022 · 2 comments · Fixed by #1693
Closed

Remove MintReward and introduce PayRewardFromAccount #1654

svyatonik opened this issue Nov 21, 2022 · 2 comments · Fixed by #1693
Assignees

Comments

@svyatonik
Copy link
Contributor

Right now there's a single implementation of PaymentProcedure for the pallet-bridge-relayers - it is the MintReward, which just mints relayer reward. Minting is not actual anymore. Instead the reward will be paid from some account (sovereign account of the parachain at bridge hub), so having PayRewardFromAccount would be great

@acatangiu
Copy link
Collaborator

acatangiu commented Nov 21, 2022

If PayRewardFromAccount is a runtime configurable, then the bridge uses a single (sovereign) account to pay all rewards regardless of the message (Source, Destination).

This is fine for now, but in the future we might want to implement a more complex (Source, Destination) -> PayRewardFromAccount mapping to allow better control of which messages bridging costs are paid out by whom.

@svyatonik
Copy link
Contributor Author

If PayRewardFromAccount is a runtime configurable, then the bridge uses a single (sovereign) account to pay all rewards regardless of the message (Source, Destination).

This is fine for now, but in the future we might want to implement a more complex (Source, Destination) -> PayRewardFromAccount mapping to allow better control of which messages bridging costs are paid out by whom.

One of solutions would be to isolate different "bridges" (i.e. pairs of (Source, Destination)) in dedicated message lanes. E.g. Statemine <> Statemint would be lane 0x00000000, some other bridge 0x00000001 and so on. Then we can support instances in pallet_bridge_relayers and use different instances to serve different lanes. But it would mean that set of such bridges is somewhat static - we'll need to do a runtime upgrade(s) to "open" a lane.

svyatonik pushed a commit that referenced this issue Jul 17, 2023
* Ensure that inherents are first and unsigned

* Update pallets/parachain-system/src/validate_block/tests.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>

Co-authored-by: Sergei Shulepov <sergei@parity.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants