> For the complete documentation index, see [llms.txt](https://gitbook.mor.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.mor.org/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/libs/lineardistributionintervaldecrease.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
