Closed dandanlen closed 10 months ago
Useful metadata:
Witnesser checkpointing may be too optimistic: AFAIK we checkpoint when the transaction reaches the mempool, not when it's been included in a block.
Linking: https://github.com/chainflip-io/chainflip-backend/issues/1643
For the sake of completeness, a list of all stake calls that were made that day and whether or not they made it to the state chain
Description
There was an incident after the runtime upgrade on perseverance (spec version 2 -> 3):
Node
cFJa4cfwE2WYsHLfGj1az7Kh2vkcsEbcQQJdeGzM6hLET7d94
staked 7000 tFLIP. Ethereum transaction is here.(Note: This happend to other nodes too, but extracting the below information is a little time-intensive).
However the
staked
event witnessing didn't reach the threshold.Two of our validators that were online witnessed the event when it occurred:
cFNdHmZGsXa3kKHbWmZNi19c3TaXQTCVra8YJb9DhNG475dFd
cFLizejLJgZpk6dopPLbLeD2VSmveBBjw8jMhWtRynfHnNpPr
The block hash at which the stake was witnessed by our validators:
0xc8d68e8f2e2e79030cdb370638d13fc33824bede3393850f80ded0218d20c9c6
Time:31/01/2023, 15:27:00
Epoch:554
The call that should have been witnessed is this one: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fperseverance-rpc.chainflip.io#/extrinsics/decode/0x06001ef38dcdbb75fea38541a98baf66b3b1464c058f9bbeaabae8c5af0aab91ce180000601669c083787b01000000000000ffffffffffffffffffffffffffffffffffffffff8ea412c1a0f206e93dbee07ce9115e3f2368badda35713b1eb56326621c6c8d8
Witness votes at block hash
0x872418a82b8cac0a8c87ff53df05a9c6da2ba6079811366d5781819f4a886326
(31/01/2023, 22:59:42): The witness vote hex is0x2281ad0da24e8008081e2361450062a2036a54
This corresponds to the following vote vote bitmap:
=> only 50 votes out of 150
Some time later the votes are culled since the epoch is now expired, meaning it's no longer possible to vote. The staked event is now permanently lost.
Some things we should consider: