# GTokenOpenPnlFeed

*Manages open pnl oracle requests for a gToken vault*

## LINK\_FEE\_BALANCE\_DIVIDER

```solidity
uint256 LINK_FEE_BALANCE_DIVIDER
```

## MIN\_ANSWERS

```solidity
uint256 MIN_ANSWERS
```

## MIN\_REQUESTS\_START

```solidity
uint256 MIN_REQUESTS_START
```

## MAX\_REQUESTS\_START

```solidity
uint256 MAX_REQUESTS_START
```

## MIN\_REQUESTS\_EVERY

```solidity
uint256 MIN_REQUESTS_EVERY
```

## MAX\_REQUESTS\_EVERY

```solidity
uint256 MAX_REQUESTS_EVERY
```

## MIN\_REQUESTS\_COUNT

```solidity
uint256 MIN_REQUESTS_COUNT
```

## MAX\_REQUESTS\_COUNT

```solidity
uint256 MAX_REQUESTS_COUNT
```

## gToken

```solidity
contract IGToken gToken
```

## requestsStart

```solidity
uint256 requestsStart
```

## requestsEvery

```solidity
uint256 requestsEvery
```

## requestsCount

```solidity
uint256 requestsCount
```

## oracles

```solidity
address[] oracles
```

## job

```solidity
bytes32 job
```

## minAnswers

```solidity
uint256 minAnswers
```

## nextEpochValues

```solidity
int256[] nextEpochValues
```

## nextEpochValuesRequestCount

```solidity
uint256 nextEpochValuesRequestCount
```

## nextEpochValuesLastRequest

```solidity
uint256 nextEpochValuesLastRequest
```

## lastRequestId

```solidity
uint256 lastRequestId
```

## requestIds

```solidity
mapping(bytes32 => uint256) requestIds
```

## requests

```solidity
mapping(uint256 => struct IGTokenOpenPnlFeed.Request) requests
```

## requestAnswers

```solidity
mapping(uint256 => int256[]) requestAnswers
```

## constructor

```solidity
constructor(uint256 _LINK_FEE_BALANCE_DIVIDER, address _linkToken, contract IGToken _gToken, address[] _oracles, bytes32 _job, uint256 _minAnswers) public
```

## onlyGTokenOwner

```solidity
modifier onlyGTokenOwner()
```

## onlyGTokenManager

```solidity
modifier onlyGTokenManager()
```

## onlyGTokenAdmin

```solidity
modifier onlyGTokenAdmin()
```

## updateRequestsStart

```solidity
function updateRequestsStart(uint256 newValue) public
```

## updateRequestsEvery

```solidity
function updateRequestsEvery(uint256 newValue) public
```

## updateRequestsCount

```solidity
function updateRequestsCount(uint256 newValue) public
```

## updateRequestsInfoBatch

```solidity
function updateRequestsInfoBatch(uint256 newRequestsStart, uint256 newRequestsEvery, uint256 newRequestsCount) external
```

## updateMinAnswers

```solidity
function updateMinAnswers(uint256 newValue) external
```

## updateOracle

```solidity
function updateOracle(uint256 _index, address newValue) external
```

## updateOracles

```solidity
function updateOracles(address[] newValues) external
```

## updateJob

```solidity
function updateJob(bytes32 newValue) external
```

## resetNextEpochValueRequests

```solidity
function resetNextEpochValueRequests() external
```

## forceNewEpoch

```solidity
function forceNewEpoch() external
```

## newOpenPnlRequestOrEpoch

```solidity
function newOpenPnlRequestOrEpoch() external
```

## fulfill

```solidity
function fulfill(bytes32 requestId, int256 value) external
```
