# IFastUpdateIncentiveManager

> Interface for making volatility incentive offers.

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

Source: https://dev.flare.network/ftso/solidity-reference/IFastUpdateIncentiveManager

Interface for making volatility incentive offers.

Sourced from `IFastUpdateIncentiveManager.sol` on [GitHub](https://github.com/flare-foundation/flare-smart-contracts-v2/blob/main/contracts/userInterfaces/IFastUpdateIncentiveManager.sol).

## Functions[​](#functions "Direct link to Functions")

### getBaseScale[​](#getbasescale "Direct link to getBaseScale")

Viewer for the base value of the scale itself.

```
function getBaseScale() external view returns (    Scale);
```

### getCurrentSampleSizeIncreasePrice[​](#getcurrentsamplesizeincreaseprice "Direct link to getCurrentSampleSizeIncreasePrice")

Viewer for the current value of sample size increase price.

```
function getCurrentSampleSizeIncreasePrice() external view returns (    Fee);
```

### getExpectedSampleSize[​](#getexpectedsamplesize "Direct link to getExpectedSampleSize")

Viewer for the current value of the expected sample size.

```
function getExpectedSampleSize() external view returns (    SampleSize);
```

### getPrecision[​](#getprecision "Direct link to getPrecision")

Viewer for the current value of the unit delta's precision (the fractional part of the scale).

```
function getPrecision() external view returns (    Precision);
```

### getRange[​](#getrange "Direct link to getRange")

Viewer for the current value of the per-block variation range.

```
function getRange() external view returns (    Range);
```

### getScale[​](#getscale "Direct link to getScale")

Viewer for the current value of the scale itself.

```
function getScale() external view returns (    Scale);
```

### offerIncentive[​](#offerincentive "Direct link to offerIncentive")

The entry point for third parties to make incentive offers. It accepts a payment and, using the contents of `_offer`, computes how much the expected sample size will be increased to apply the requested (but capped) range increase. If the ultimate value of the range exceeds the cap, funds are returned to the sender in proportion to the amount by which the increase is adjusted to reach the cap.

```
function offerIncentive(    struct IFastUpdateIncentiveManager.IncentiveOffer _offer) external payable;
```

#### Parameters[​](#parameters "Direct link to Parameters")

-   `_offer`: The requested amount of per-block variation range increase, along with a cap for the ultimate range.

### rangeIncreaseLimit[​](#rangeincreaselimit "Direct link to rangeIncreaseLimit")

The maximum value that the range can be increased to by an incentive offer.

```
function rangeIncreaseLimit() external view returns (    Range);
```

### rangeIncreasePrice[​](#rangeincreaseprice "Direct link to rangeIncreasePrice")

The price for increasing the per-block range of variation by 1, prorated for the actual amount of increase.

```
function rangeIncreasePrice() external view returns (    Fee);
```

### sampleIncreaseLimit[​](#sampleincreaselimit "Direct link to sampleIncreaseLimit")

The maximum amount by which the expected sample size can be increased by an incentive offer. This is controlled by governance and forces a minimum cost to increasing the sample size greatly, which would otherwise be an attack on the protocol.

```
function sampleIncreaseLimit() external view returns (    SampleSize);
```

## Events[​](#events "Direct link to Events")

### IncentiveOffered[​](#incentiveoffered "Direct link to IncentiveOffered")

Event emitted when an incentive is offered.

```
event IncentiveOffered(    uint24 rewardEpochId,    Range rangeIncrease,    SampleSize sampleSizeIncrease,    Fee offerAmount)
```

### InflationRewardsOffered[​](#inflationrewardsoffered "Direct link to InflationRewardsOffered")

Event emitted when inflation rewards are offered.

```
event InflationRewardsOffered(    uint24 rewardEpochId,    struct IFastUpdatesConfiguration.FeedConfiguration[] feedConfigurations,    uint256 amount)
```

## Structures[​](#structures "Direct link to Structures")

### IncentiveOffer[​](#incentiveoffer "Direct link to IncentiveOffer")

Incentive offer structure.

```
struct IncentiveOffer {  Range rangeIncrease;  Range rangeLimit;}
```
