What happens when you have multiple outbound offers, unless you cap it at one live outbound offer and like you said accept only one trade after a successful update. But all that can be done better like I said by replacing assetId by hashing float value with pattern ID, this is unique and immutable, no gaps ever.