# ISubmission

> Manages prioritized and subsidized submissions for protocols.

> 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/network/fsp/solidity-reference/ISubmission

Manages prioritized and subsidized submissions for protocols.

Sourced from `ISubmission.sol` on [GitHub](https://github.com/flare-foundation/flare-smart-contracts-v2/blob/main/contracts/userInterfaces/ISubmission.sol). The `getCurrentRandom*` methods are inherited from [`IRandomProvider`](https://github.com/flare-foundation/flare-smart-contracts-v2/blob/main/contracts/userInterfaces/IRandomProvider.sol). For most consumer use cases prefer the dedicated [`RandomNumberV2Interface`](/network/solidity-reference/RandomNumberV2Interface) (resolved from `IFlareContractRegistry` as `"RandomNumberV2"`) rather than calling `getCurrentRandom` on `ISubmission` directly.

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

### getCurrentRandom[​](#getcurrentrandom "Direct link to getCurrentRandom")

Returns current random number. Method reverts if random number was not generated securely.

```
function getCurrentRandom() external view returns (    uint256 _randomNumber);
```

#### Returns[​](#returns "Direct link to Returns")

-   `_randomNumber`: Current random number.

### getCurrentRandomWithQuality[​](#getcurrentrandomwithquality "Direct link to getCurrentRandomWithQuality")

Returns current random number and a flag indicating if it was securely generated. It is up to the caller to decide whether to use the returned random number or not.

```
function getCurrentRandomWithQuality() external view returns (    uint256 _randomNumber,    bool _isSecureRandom);
```

#### Returns[​](#returns-1 "Direct link to Returns")

-   `_randomNumber`: Current random number.
-   `_isSecureRandom`: Indicates if current random number is secure.

### getCurrentRandomWithQualityAndTimestamp[​](#getcurrentrandomwithqualityandtimestamp "Direct link to getCurrentRandomWithQualityAndTimestamp")

Returns current random number, a flag indicating if it was securely generated and its timestamp. It is up to the caller to decide whether to use the returned random number or not.

```
function getCurrentRandomWithQualityAndTimestamp() external view returns (    uint256 _randomNumber,    bool _isSecureRandom,    uint256 _randomTimestamp);
```

#### Returns[​](#returns-2 "Direct link to Returns")

-   `_randomNumber`: Current random number.
-   `_isSecureRandom`: Indicates if current random number is secure.
-   `_randomTimestamp`: Random timestamp.

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

Submit1 method. Used in multiple protocols (i.e. as FTSO commit method).

```
function submit1() external returns (    bool);
```

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

Submit2 method. Used in multiple protocols (i.e. as FTSO reveal method).

```
function submit2() external returns (    bool);
```

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

Submit3 method. Future usage.

```
function submit3() external returns (    bool);
```

### submitAndPass[​](#submitandpass "Direct link to submitAndPass")

SubmitAndPass method. Future usage.

```
function submitAndPass(    bytes _data) external returns (    bool);
```

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

-   `_data`: The data to pass to the submitAndPassContract.

### submitSignatures[​](#submitsignatures "Direct link to submitSignatures")

SubmitSignatures method. Used in multiple protocols (i.e. as FTSO submit signature method).

```
function submitSignatures() external returns (    bool);
```

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

### NewVotingRoundInitiated[​](#newvotingroundinitiated "Direct link to NewVotingRoundInitiated")

Event emitted when a new voting round is initiated.

```
event NewVotingRoundInitiated()
```
