Agreement is a smart contract that tracks how many Certificates were delivered from a buyer to a seller.
It implements the onERC1155Received interface and detects when a Certificate is sent to the agreement, then immediately forwards it to the buyer and accounts for the delivery.
Once the Agreement is fulfilled, it can no longer receive Certificates tokens.