40 lines
1.6 KiB
Solidity
40 lines
1.6 KiB
Solidity
pragma solidity >=0.6.12;
|
|
|
|
// Author: Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
// File-version: 6
|
|
|
|
interface IFaucet {
|
|
// Tokens were given to an address
|
|
event Give(address indexed _recipient, address indexed _token, uint256 _value);
|
|
|
|
// The amount that the faucet disperses has changed
|
|
event FaucetAmountChange(uint256 _value);
|
|
|
|
// Address of token the faucet represents
|
|
// The faucet will return gas tokens with the zero-address is returned.
|
|
function token() external returns (address);
|
|
|
|
// Amount of tokens the faucet gives out
|
|
function tokenAmount() external returns (uint256);
|
|
|
|
// Give tokens to the given recipient. Returns amount of tokens given.
|
|
function giveTo(address _recipient) external returns (uint256);
|
|
|
|
// Give tokens to yourself. Returns amount of tokens given.
|
|
function gimme() external returns (uint256);
|
|
|
|
// Check if faucet may be used in the current contract state by _recipient
|
|
function check(address _recipient) external view returns (bool);
|
|
|
|
// Returns timestamp when faucet may be used again by _recipient
|
|
// If 0 is returned, the address has not yet been used.
|
|
// A return value of max(uint256) indicates that the faucet may not be used again.
|
|
function nextTime(address _recipient) external returns (uint256);
|
|
|
|
// Returns the token balance under which faucet may be used again by _recipient
|
|
// A return value of max(uint256) indicates that the faucet may be used regardless
|
|
// of the token balance of _recipient
|
|
function nextBalance(address _recipient) external returns (uint256);
|
|
}
|