Contract Interface
1 // SPDX-License-Identifier: BUSL-1.1 2 pragma solidity ^0.8.4; 3 4 library Whitelabel { 5 struct Version { 6 uint256 major; 7 uint256 minor; 8 uint256 patch; 9 } 10 } 11 12 interface IWhitelabel { 13 struct InitializeParams { 14 address _initialOwner; 15 string _name; 16 string _symbol; 17 } 18 19 error AccountIsFrozen(address frozenAccount); 20 error ECDSAInvalidSignature(); 21 error ECDSAInvalidSignatureLength(uint256 length); 22 error ECDSAInvalidSignatureS(bytes32 s); 23 error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed); 24 error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed); 25 error ERC20InvalidApprover(address approver); 26 error ERC20InvalidReceiver(address receiver); 27 error ERC20InvalidSender(address sender); 28 error ERC20InvalidSpender(address spender); 29 error ERC2612ExpiredSignature(uint256 deadline); 30 error ERC2612InvalidSigner(address signer, address owner); 31 error ERC4626ExceededMaxDeposit(address receiver, uint256 assets, uint256 max); 32 error ERC4626ExceededMaxMint(address receiver, uint256 shares, uint256 max); 33 error ERC4626ExceededMaxRedeem(address owner, uint256 shares, uint256 max); 34 error ERC4626ExceededMaxWithdraw(address owner, uint256 assets, uint256 max); 35 error EnforcedPause(); 36 error ExpectedPause(); 37 error InvalidAccountNonce(address account, uint256 currentNonce); 38 error InvalidInitialization(); 39 error NotInitializing(); 40 error OwnableInvalidOwner(address owner); 41 error OwnableUnauthorizedAccount(address account); 42 error SafeERC20FailedOperation(address token); 43 44 event Approval(address indexed owner, address indexed spender, uint256 value); 45 event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares); 46 event EIP712DomainChanged(); 47 event Initialized(uint64 version); 48 event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner); 49 event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); 50 event Paused(address account); 51 event Transfer(address indexed from, address indexed to, uint256 value); 52 event Unpaused(address account); 53 event Withdraw( 54 address indexed sender, 55 address indexed receiver, 56 address indexed owner, 57 uint256 assets, 58 uint256 shares 59 ); 60 61 function AUSD() external view returns (address); 62 function DOMAIN_SEPARATOR() external view returns (bytes32); 63 function acceptOwnership() external; 64 function allowance(address owner, address spender) external view returns (uint256); 65 function approve(address spender, uint256 value) external returns (bool); 66 function asset() external view returns (address); 67 function balanceOf(address account) external view returns (uint256); 68 function convertToAssets(uint256 shares) external view returns (uint256); 69 function convertToShares(uint256 assets) external view returns (uint256); 70 function decimals() external view returns (uint8); 71 function deposit(uint256 assets, address receiver) external returns (uint256); 72 function eip712Domain() 73 external 74 view 75 returns ( 76 bytes1 fields, 77 string memory name, 78 string memory version, 79 uint256 chainId, 80 address verifyingContract, 81 bytes32 salt, 82 uint256[] memory extensions 83 ); 84 function implementationAddress() external view returns (address); 85 function initialize(InitializeParams memory _params) external; 86 function maxDeposit(address) external view returns (uint256); 87 function maxMint(address) external view returns (uint256); 88 function maxRedeem(address owner) external view returns (uint256); 89 function maxWithdraw(address owner) external view returns (uint256); 90 function mint(uint256 shares, address receiver) external returns (uint256); 91 function name() external view returns (string memory); 92 function nonces(address owner) external view returns (uint256); 93 function owner() external view returns (address); 94 function pause() external; 95 function paused() external view returns (bool); 96 function pendingOwner() external view returns (address); 97 function permit( 98 address owner, 99 address spender, 100 uint256 value, 101 uint256 deadline, 102 uint8 v, 103 bytes32 r, 104 bytes32 s 105 ) external; 106 function previewDeposit(uint256 assets) external view returns (uint256); 107 function previewMint(uint256 shares) external view returns (uint256); 108 function previewRedeem(uint256 shares) external view returns (uint256); 109 function previewWithdraw(uint256 assets) external view returns (uint256); 110 function proxyAdminAddress() external view returns (address); 111 function redeem(uint256 shares, address receiver, address owner) external returns (uint256); 112 function renounceOwnership() external; 113 function symbol() external view returns (string memory); 114 function totalAssets() external view returns (uint256); 115 function totalSupply() external view returns (uint256); 116 function transfer(address to, uint256 value) external returns (bool); 117 function transferFrom(address from, address to, uint256 value) external returns (bool); 118 function transferOwnership(address newOwner) external; 119 function unpause() external; 120 function version() external pure returns (Whitelabel.Version memory _version); 121 function withdraw(uint256 assets, address receiver, address owner) external returns (uint256); 122 }

