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

Process exit bounty #607

Open
pdobacz opened this issue Mar 12, 2020 · 0 comments
Open

Process exit bounty #607

pdobacz opened this issue Mar 12, 2020 · 0 comments

Comments

@pdobacz
Copy link
Contributor

pdobacz commented Mar 12, 2020

Issue Type

[ ] bug report
[x] feature request

Current Behavior

The calling of processExits is required to reclaim exiting funds on the root chain. It is a UX-inconvenience and even might be a blocker. A natural solution is to have a dedicated "processExits caller" (or Exit Processor, but this name is a bit "taken"), which would call processExits on some cadence.

This however would come at a cost (gas, infra).

Expected Behavior

Incentivize and fund the "processExits caller" by paying out a Process exit bounty.

Suggested Change

Process exit bounty would be a small amount added on top of the exit bond placed when starting an exit. It would later on be payed out to the caller of processExits who actually will process that exit. (if the exit is challenged, the bounty can be added to the bond or burnt)

The tentative amount should be enough to make the costs of processing exits covered.

The amount could be calculated as follows:
process_exit_bounty = const_gas_cost_process_exit * const_ratio% * gas_price_start_exit

where:

  • const_gas_cost_process_exit would be calculated upfront, based on what the operation "usually" costs.
  • const_ratio% would adjust the gas cost to possibly cover for infra costs, premium etc
  • gas_price_start_exit would be what it is - it would allow to somehow dynamically adjust to the gas price market.

This amount is able to be calculated up-front by the startExit caller, since they decide on the gas_price_start_exit and the rest are constants. The contract would then validate the msg.value given to match the required amount of exit_bound + process_exit_bounty

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant