Skip to content

Solidity API

ERC20PermitInternal

derived from https://github.com/soliditylabs/ERC20-Permit (MIT license)

EIP712_TYPE_HASH

solidity
bytes32 EIP712_TYPE_HASH

_DOMAIN_SEPARATOR

solidity
function _DOMAIN_SEPARATOR() internal view returns (bytes32 domainSeparator)

return the EIP-712 domain separator unique to contract and chain

Return Values

NameTypeDescription
domainSeparatorbytes32domain separator

_nonces

solidity
function _nonces(address owner) internal view returns (uint256)

get the current ERC2612 nonce for the given address

Return Values

NameTypeDescription
[0]uint256current nonce

_version

solidity
function _version() internal view virtual returns (string version)

query signing domain version

Return Values

NameTypeDescription
versionstringsigning domain version

_permit

solidity
function _permit(address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) internal virtual

approve spender to transfer tokens held by owner via signature

this function may be vulnerable to approval replay attacks

Parameters

NameTypeDescription
owneraddressholder of tokens and signer of permit
spenderaddressbeneficiary of approval
amountuint256quantity of tokens to approve
deadlineuint256
vuint8secp256k1 'v' value
rbytes32secp256k1 'r' value
sbytes32secp256k1 's' value

_setName

solidity
function _setName(string name) internal virtual

set new token name and invalidate cached domain separator

_domain separator is not immediately recalculated, and will ultimately depend on the output of the name view function

Parameters

NameTypeDescription
namestringThe new name to set for the token