The current implementation does indeed not perform checks regarding the settlement time, the field rather serves as an optional indicator for the desired time to settle. The rationale to maintaining a less restrictive implementation is to offer flexibility in the settlement process. This approach allows for:
-
The actual execution time to be decided by the
settler
. -
The
buyer
orseller
may choose to only allocate/approve their instructions just before the settlement time (thereby avoiding theBatch
to settle early). -
To address situations where parties fail to settle before the desired time, an additional contract could be set up that allows to, e.g., roll a
Batch
(and its instructions) into a subsequent settlement cycle if the initial settlement time has elapsed. Moreover, this contract could incorporate clauses that impose penalties on the party that fails to allocate or approve the transaction in time. -
The
settler
can settle theBatch
even after the settlement time, potentially after having resolved disputes offledger.
In case you need a more restrictive implementation, feel free to modify the current implementation to fit your requirements.
Hope that helps,
Johan