Closed bluele closed 2 years ago
I realized that we need to use sequence.timestamp as ctx.BlockTime considering Packet Timeout in IBC.
If we use a clock that is different from consensusState.timestamp, it could cause an inconsistency such as both TimeoutPacket
on src and RecvPacket
on dst to succeed.
Currently, we use
tmtime.Now()
as the current timestamp in BaseApp, but the timestamp is different between the endorsers.I propose to usestub.GetTxTimestamp
instead, which is guaranteed to be within a range of ±Δ
seconds for each endorser's local time.