// SPDX-License-Identifier: MIT pragma solidity ^0.8.17; // bytes4(keccak256("approve(address,uint256)")) uint256 constant IERC20_APPROVE_SELECTOR = 0x095ea7b300000000000000000000000000000000000000000000000000000000; // bytes4(keccak256("increaseAllowance(address,uint256)")) uint256 constant IERC20_NONSTANDARD_INCREASE_ALLOWANCE_SELECTOR = 0x3950935100000000000000000000000000000000000000000000000000000000; uint256 constant SELECTOR_MASK = 0xffffffff00000000000000000000000000000000000000000000000000000000; // bytes4(keccak256("CannotApproveErc20()")) uint256 constant CANNOT_APPROVE_ERC20_SELECTOR = 0xfc87612e00000000000000000000000000000000000000000000000000000000; // bytes4(keccak256("receiveHook()")) uint256 constant RECEIVE_HOOK_SELECTOR = 0x95a9ecf1;