Time Periods
D-ASA time periods can be used to define recurring time events.
The D-ASA MAY define time periods as (uint64,uint64)[]
array, where:
-
The first element of the tuple defines the time period duration (
uint64
). It MUST be strictly greater than0
; -
The second element of the tuple defines the time period repetitions (
uint64
). It MUST be0
if repetitions are unlimited.
The time periods SHOULD be defined as UNIX time, in seconds.
In the case of time periods defined in UNIX time and non-continuous day-count
conventions (ID<255
, see Day-Count Conventions section), the time periods
MUST be multiples of a day, in seconds (86400
).
The time periods MAY be set using the asset_config
method.
If the D-ASA does not implement time periods, it MUST be set to []
in the
asset_config
method.
📎 EXAMPLE
The following are valid time periods (UNIX times) indicating:
- a daily time event with unlimited repetitions
- a monthly (30 days) time event with 12 repetitions
(uint64,uint64)[] = [(86400, 0), (2592000, 12)]
📎 EXAMPLE
The following are invalid time periods (UNIX times):
(uint64,uint64)[] = [(0, 0), (0, 12)]
The time periods MUST be chronologically consistent with respect to the time events.
📎 EXAMPLE
Let's have a D-ASA with an issuance date and a maturity date, defined as time events, and 4 coupons whose periods are defined by time periods.
The sum of the 4 coupon time period durations must be smaller than the time period between the issuance date and the maturity date.