# LinearDistributionIntervalDecrease

This library manages the linear emission *decay* mechanism used to gradually reduce the amount of tokens distributed over time. It defines how the available reward amount decreases with each interval (e.g., daily, weekly), allowing the protocol to implement a predictable emission schedule. Used by the DistributionV5 contract to calculate how many MOR tokens can currently be distributed based on the time elapsed since the start of the distribution schedule.

## Read functions

### getPeriodReward

The function to calculate the MOR reward for the period.

```solidity
function getPeriodReward(
  uint256 initialAmount_,
  uint256 decreaseAmount_,
  uint128 payoutStart_,
  uint128 interval_,
  uint128 startTime_,
  uint128 endTime_
) external pure returns (uint256)
```

| Name              | Description                                                                  |
| ----------------- | ---------------------------------------------------------------------------- |
| `initialAmount_`  | The initial MOR reward for the bucket.                                       |
| `decreaseAmount_` | The MOR reward decreases on this amount for each `interval_`.                |
| `payoutStart_`    | The unix epoch timestamp in seconds when the pool starts to pay out rewards. |
| `interval_`       | The interval in seconds between reward decreases.                            |
| `startTime_`      | The unix timestamp. Start calculate rewards from this timestamp.             |
| `endTime_`        | The unix timestamp. End calculate rewards to this timestamp.                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gitbook.mor.org/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/libs/lineardistributionintervaldecrease.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
