-
Notifications
You must be signed in to change notification settings - Fork 23
Conversation
Each signer should wait an amount of time before publishing the signature for given keep. The exact amount of time is determined basing on signer index. This should prevent signers to publish the signature in the same time and burn gas for transactions which will be reverted.
We should now remove two logs saying
We do not need the last log, the one saying |
When testing this PR, I noticed the party ID logged during TSS signing is different from signer index returned from the chain. I do not think it is blocking for this PR as the problem lies elsewhere so I opened an issue to capture it: #622 |
Scenarios tested:
|
A nice improvement to the code presented here would be to start the confirmation process if a signature appeared on the chain despite the fact the client is in the "delay publication" state. I do not think it's worth blocking because of that, and we can revisit this once we implement a new interface for event subscriptions (see keep-network/keep-core#491). Captured it in the issue: #623 |
Closes: #553
Depends on: #610
This PR introduces a delay mechanism that forces signers to wait an amount of time before publishing the signature for a given keep. The value of the delay is the product of the signer index and a constant step (5 minutes). So:
This change should prevent signers to publish the signature at the same time. Publishing at the same time is not optimal as only the first transaction succeeds while the second and third revert and burn some gas.