Contract Interface

1// SPDX-License-Identifier: BUSL-1.1
2pragma solidity ^0.8.4;
3
4library Whitelabel {
5 struct Version {
6 uint256 major;
7 uint256 minor;
8 uint256 patch;
9 }
10}
11
12interface 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}