You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
Issue Type
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 callprocessExits
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 ofprocessExits
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 etcgas_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 thegas_price_start_exit
and the rest are constants. The contract would then validate themsg.value
given to match the required amount ofexit_bound + process_exit_bounty
The text was updated successfully, but these errors were encountered: