Skip to main content

Pair (ZEN-20)

This documentation covers ZEN-20 functionality for denominating pool tokens. For ZeniqSwap-specific functionality, see Pair.

Events

Approval​

event Approval(address indexed owner, address indexed spender, uint value);

Emitted each time an approval occurs via approve or permit.

Transfer​

event Transfer(address indexed from, address indexed to, uint value);

Emitted each time a transfer occurs via transfer, transferFrom, mint, or burn.

Read-Only Functions

name​

function name() external pure returns (string memory);

Returns ZeniqSwap for all pairs.

symbol​

function symbol() external pure returns (string memory);

Returns UNI- for all pairs.

decimals​

function decimals() external pure returns (uint8);

Returns 18 for all pairs.

totalSupply​

function totalSupply() external view returns (uint);

Returns the total amount of pool tokens for a pair.

balanceOf​

function balanceOf(address owner) external view returns (uint);

Returns the amount of pool tokens owned by an address.

allowance​

function allowance(address owner, address spender) external view returns (uint);

Returns the amount of liquidity tokens owned by an address that a spender is allowed to transfer via transferFrom.

DOMAIN_SEPARATOR​

function DOMAIN_SEPARATOR() external view returns (bytes32);

Returns a domain separator for use in permit.

PERMIT_TYPEHASH​

function PERMIT_TYPEHASH() external view returns (bytes32);

Returns a typehash for use in permit.

nonces​

function nonces(address owner) external view returns (uint);

Returns the current nonce for an address for use in permit.

State-Changing Functions

approve​

function approve(address spender, uint value) external returns (bool);

Lets msg.sender set their allowance for a spender.

transfer​

function transfer(address to, uint value) external returns (bool);

Lets msg.sender send pool tokens to an address.

transferFrom​

function transferFrom(address from, address to, uint value) external returns (bool);

Sends pool tokens from one address to another.

permit​

function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

Sets the allowance for a spender where approval is granted via a signature.

Interface

pragma solidity >=0.5.0;

interface IZeniqSwapERC20 {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);

function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);

function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);

function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint);

function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
}