SelfPermit
SelfPermit
Self Permit Functionality to call permit on any EIP-2612-compliant token for use in the route Developer note: These functions are expected to be embedded in multicalls to allow EOAs to approve a contract and call a function that requires an approval in a single transaction.
Functions
selfPermit
selfPermit(address,uint256,uint256,uint8,bytes32,bytes32)
payable public
Permits this contract to spend a given token from `msg.sender`
token
address
The address of the token spent
value
uint256
The amount that can be spent of token
deadline
uint256
A timestamp, the current blocktime must be less than or equal to this timestamp
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`
selfPermitIfNecessary
selfPermitIfNecessary(address,uint256,uint256,uint8,bytes32,bytes32)
payable external
Permits this contract to spend a given token from `msg.sender`
token
address
The address of the token spent
value
uint256
The amount that can be spent of token
deadline
uint256
A timestamp, the current blocktime must be less than or equal to this timestamp
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`
selfPermitAllowed
selfPermitAllowed(address,uint256,uint256,uint8,bytes32,bytes32)
payable public
Permits this contract to spend the sender's tokens for permit signatures that have the `allowed` parameter
token
address
The address of the token spent
nonce
uint256
The current nonce of the owner
expiry
uint256
The timestamp at which the permit is no longer valid
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`
selfPermitAllowedIfNecessary
selfPermitAllowedIfNecessary(address,uint256,uint256,uint8,bytes32,bytes32)
payable external
Permits this contract to spend the sender's tokens for permit signatures that have the `allowed` parameter
token
address
The address of the token spent
nonce
uint256
The current nonce of the owner
expiry
uint256
The timestamp at which the permit is no longer valid
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`
SelfPermit
Self Permit Functionality to call permit on any EIP-2612-compliant token for use in the route Developer note: These functions are expected to be embedded in multicalls to allow EOAs to approve a contract and call a function that requires an approval in a single transaction.
Functions
selfPermit
selfPermit(address,uint256,uint256,uint8,bytes32,bytes32)
payable public
Permits this contract to spend a given token from `msg.sender`
token
address
The address of the token spent
value
uint256
The amount that can be spent of token
deadline
uint256
A timestamp, the current blocktime must be less than or equal to this timestamp
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`
selfPermitIfNecessary
selfPermitIfNecessary(address,uint256,uint256,uint8,bytes32,bytes32)
payable external
Permits this contract to spend a given token from `msg.sender`
token
address
The address of the token spent
value
uint256
The amount that can be spent of token
deadline
uint256
A timestamp, the current blocktime must be less than or equal to this timestamp
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`
selfPermitAllowed
selfPermitAllowed(address,uint256,uint256,uint8,bytes32,bytes32)
payable public
Permits this contract to spend the sender's tokens for permit signatures that have the `allowed` parameter
token
address
The address of the token spent
nonce
uint256
The current nonce of the owner
expiry
uint256
The timestamp at which the permit is no longer valid
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`
selfPermitAllowedIfNecessary
selfPermitAllowedIfNecessary(address,uint256,uint256,uint8,bytes32,bytes32)
payable external
Permits this contract to spend the sender's tokens for permit signatures that have the `allowed` parameter
token
address
The address of the token spent
nonce
uint256
The current nonce of the owner
expiry
uint256
The timestamp at which the permit is no longer valid
v
uint8
Must produce valid secp256k1 signature from the holder along with `r` and `s`
r
bytes32
Must produce valid secp256k1 signature from the holder along with `v` and `s`
s
bytes32
Must produce valid secp256k1 signature from the holder along with `r` and `v`