Deposits face the same issue transaction exits do when dealing with ordering of an exiting deposit. Currently we use the nonce as its priority, however earlier deposits could therefore delay exits since we pop from the top of the queue to see if pending a deposit exit is older than one week.
This can be fixed by making the priority value inserted into the priority queue be:
block.time << 128 | nonce
We do not need to take into account a deposits "age" as we do with transactions because they cannot be faked since they are logged by the rootchain. They can only be invalid and therefore challenged.
Deposits face the same issue transaction exits do when dealing with ordering of an exiting deposit. Currently we use the nonce as its priority, however earlier deposits could therefore delay exits since we pop from the top of the queue to see if pending a deposit exit is older than one week.
This can be fixed by making the priority value inserted into the priority queue be:
block.time << 128 | nonce
We do not need to take into account a deposits "age" as we do with transactions because they cannot be faked since they are logged by the rootchain. They can only be invalid and therefore challenged.