Skip to content

Commit bffe04e

Browse files
committed
Fix block identity preimage
Make sure it's always before all transaction identity preimages such that keys are ordered properly.
1 parent 0808f14 commit bffe04e

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

rolling-shutter/keyperimpl/gnosis/keyper.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,5 +405,12 @@ func transactionSubmittedEventToIdentityPreimage(event database.TransactionSubmi
405405
}
406406

407407
func makeBlockIdentityPreimage(ev *syncevent.LatestBlock) identitypreimage.IdentityPreimage {
408-
return identitypreimage.IdentityPreimage(ev.Number.Bytes())
408+
// 32 bytes of zeros plus the block number as big endian (ie starting with lots of zeros as well)
409+
// this ensures the block identity preimage is always alphanumerically before any transaction
410+
// identity preimages.
411+
var buf bytes.Buffer
412+
buf.Write(common.BigToHash(common.Big0).Bytes())
413+
buf.Write(common.BigToHash(ev.Number.Int).Bytes())
414+
415+
return identitypreimage.IdentityPreimage(buf.Bytes())
409416
}

0 commit comments

Comments
 (0)