I’ve found out that the optional field
settlementTime in the
Batch implementation is not considered when it contains a time value. So if I set a
settlementTime t and try to settle the
Batch before t, the settlement succeeds.
I was wondering if this is intentional.
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
seller may choose to only allocate/approve their instructions just before the settlement time (thereby avoiding the
Batch 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.
settler can settle the
Batch 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,