# IFtsoFeedPublisher

> 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/scaling/solidity-reference/IFtsoFeedPublisher

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

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

### feedsHistorySize[​](#feedshistorysize "Direct link to feedsHistorySize")

The size of the feeds history.

```
function feedsHistorySize() external view returns (    uint256);
```

### ftsoProtocolId[​](#ftsoprotocolid "Direct link to ftsoProtocolId")

The FTSO protocol id.

```
function ftsoProtocolId() external view returns (    uint8);
```

### getCurrentFeed[​](#getcurrentfeed "Direct link to getCurrentFeed")

Returns the current feed.

```
function getCurrentFeed(    bytes21 _feedId) external view returns (    struct IFtsoFeedPublisher.Feed);
```

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

-   `_feedId`: Feed id.

### getFeed[​](#getfeed "Direct link to getFeed")

Returns the feed for given voting round id.

```
function getFeed(    bytes21 _feedId,    uint256 _votingRoundId) external view returns (    struct IFtsoFeedPublisher.Feed);
```

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

-   `_feedId`: Feed id.
-   `_votingRoundId`: Voting round id.

### publish[​](#publish "Direct link to publish")

Publishes feeds.

```
function publish(    struct IFtsoFeedPublisher.FeedWithProof[] _proofs) external;
```

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

-   `_proofs`: The FTSO feeds with proofs to publish.

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

### FtsoFeedPublished[​](#ftsofeedpublished "Direct link to FtsoFeedPublished")

Event emitted when a new feed is published.

```
event FtsoFeedPublished(    uint32 votingRoundId,    bytes21 id,    int32 value,    uint16 turnoutBIPS,    int8 decimals)
```

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

### Feed[​](#feed "Direct link to Feed")

The FTSO feed struct.

```
struct Feed {  uint32 votingRoundId;  bytes21 id;  int32 value;  uint16 turnoutBIPS;  int8 decimals;}
```

### FeedWithProof[​](#feedwithproof "Direct link to FeedWithProof")

The FTSO feed with proof struct.

```
struct FeedWithProof {  bytes32[] merkleProof;  struct IFtsoFeedPublisher.Feed body;}
```

### Random[​](#random "Direct link to Random")

The FTSO random struct.

```
struct Random {  uint32 votingRoundId;  uint256 value;  bool isSecure;}
```
