Order expiration will switch from block timestamp to block number.
The next iteration of the airswap order validator shall substitute the
Order field with
uint256 blockNumber. Thus no ABI change is required.
User interfaces shall estimate the expiration time using the block number and mean block time if the block is at least 2 blocks in the future, and discourage users from sending transactions that must succeed in the next block. This will be more accurate than the current assumption, that block timestamp is anywhere near the current time.
Block producers have a lot of control over block timestamp. Block timestamp has been historically off by several minutes, punishing makers by executing otherwise expired orders. Sometimes this drift is larger than the actual order duration, which confuses interfaces.
By contrast, miners have little to no control over block number.
Copyright and related rights waived via CC0.