123456789101112131415161718192021222324252627282930313233343536 |
- // SPDX-License-Identifier: MIT
- pragma solidity ^0.8.0;
- import "../../token/ERC20/ERC20.sol";
- import "../../token/ERC20/extensions/draft-ERC20Permit.sol";
- abstract contract ERC20PermitNoRevertMock is ERC20Permit {
- function permitThatMayRevert(
- address owner,
- address spender,
- uint256 value,
- uint256 deadline,
- uint8 v,
- bytes32 r,
- bytes32 s
- ) public virtual {
- super.permit(owner, spender, value, deadline, v, r, s);
- }
- function permit(
- address owner,
- address spender,
- uint256 value,
- uint256 deadline,
- uint8 v,
- bytes32 r,
- bytes32 s
- ) public virtual override {
- try this.permitThatMayRevert(owner, spender, value, deadline, v, r, s) {
- // do nothing
- } catch {
- // do nothing
- }
- }
- }
|