export const multiDepositorVaultAbi = [ { type: 'constructor', inputs: [], stateMutability: 'nonpayable' }, { type: 'fallback', stateMutability: 'nonpayable' }, { type: 'receive', stateMutability: 'payable' }, { type: 'function', inputs: [], name: 'FEE_TOKEN', outputs: [{ name: '', internalType: 'contract IERC20', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'WHITELIST', outputs: [{ name: '', internalType: 'contract IWhitelist', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'acceptOwnership', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'owner', internalType: 'address', type: 'address' }, { name: 'spender', internalType: 'address', type: 'address' }, ], name: 'allowance', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'spender', internalType: 'address', type: 'address' }, { name: 'value', internalType: 'uint256', type: 'uint256' }, ], name: 'approve', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'authority', outputs: [{ name: '', internalType: 'contract Authority', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'account', internalType: 'address', type: 'address' }], name: 'balanceOf', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'beforeTransferHook', outputs: [{ name: '', internalType: 'contract IBeforeTransferHook', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'guardian', internalType: 'address', type: 'address' }], name: 'checkGuardianWhitelist', outputs: [{ name: 'isRemoved', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'claimFees', outputs: [ { name: 'feeRecipientFees', internalType: 'uint256', type: 'uint256' }, { name: 'protocolFees', internalType: 'uint256', type: 'uint256' }, ], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'claimProtocolFees', outputs: [{ name: 'protocolFees', internalType: 'uint256', type: 'uint256' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'decimals', outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'sender', internalType: 'address', type: 'address' }, { name: 'token', internalType: 'contract IERC20', type: 'address' }, { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' }, { name: 'unitsAmount', internalType: 'uint256', type: 'uint256' }, { name: 'recipient', internalType: 'address', type: 'address' }, ], name: 'enter', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'sender', internalType: 'address', type: 'address' }, { name: 'token', internalType: 'contract IERC20', type: 'address' }, { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' }, { name: 'unitsAmount', internalType: 'uint256', type: 'uint256' }, { name: 'recipient', internalType: 'address', type: 'address' }, ], name: 'exit', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'feeCalculator', outputs: [{ name: '', internalType: 'contract IFeeCalculator', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'feeRecipient', outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getActiveGuardians', outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getCurrentHookCallType', outputs: [{ name: '', internalType: 'enum HookCallType', type: 'uint8' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'guardian', internalType: 'address', type: 'address' }], name: 'getGuardianRoot', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'name', outputs: [{ name: '', internalType: 'string', type: 'string' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'uint256', type: 'uint256' }, { name: '', internalType: 'bytes', type: 'bytes' }, ], name: 'onERC721Received', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], stateMutability: 'pure', }, { type: 'function', inputs: [], name: 'owner', outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'pause', outputs: [], stateMutability: 'nonpayable' }, { type: 'function', inputs: [], name: 'paused', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'pendingOwner', outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'provisioner', outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'guardian', internalType: 'address', type: 'address' }], name: 'removeGuardian', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'newAuthority', internalType: 'contract Authority', type: 'address' }], name: 'setAuthority', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'hook', internalType: 'contract IBeforeTransferHook', type: 'address' }], name: 'setBeforeTransferHook', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'newFeeCalculator', internalType: 'contract IFeeCalculator', type: 'address' }, ], name: 'setFeeCalculator', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'newFeeRecipient', internalType: 'address', type: 'address' }], name: 'setFeeRecipient', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'guardian', internalType: 'address', type: 'address' }, { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], name: 'setGuardianRoot', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'provisioner_', internalType: 'address', type: 'address' }], name: 'setProvisioner', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'newSubmitHooks', internalType: 'contract ISubmitHooks', type: 'address' }], name: 'setSubmitHooks', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }], name: 'submit', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'submitHooks', outputs: [{ name: '', internalType: 'contract ISubmitHooks', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'symbol', outputs: [{ name: '', internalType: 'string', type: 'string' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'totalSupply', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'to', internalType: 'address', type: 'address' }, { name: 'value', internalType: 'uint256', type: 'uint256' }, ], name: 'transfer', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, { name: 'value', internalType: 'uint256', type: 'uint256' }, ], name: 'transferFrom', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], name: 'transferOwnership', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'unpause', outputs: [], stateMutability: 'nonpayable' }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true }, { name: 'spender', internalType: 'address', type: 'address', indexed: true }, { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'Approval', }, { type: 'event', anonymous: false, inputs: [ { name: 'user', internalType: 'address', type: 'address', indexed: true }, { name: 'newAuthority', internalType: 'contract Authority', type: 'address', indexed: true }, ], name: 'AuthorityUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'beforeTransferHook', internalType: 'address', type: 'address', indexed: true }, ], name: 'BeforeTransferHookSet', }, { type: 'event', anonymous: false, inputs: [ { name: 'sender', internalType: 'address', type: 'address', indexed: true }, { name: 'recipient', internalType: 'address', type: 'address', indexed: true }, { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true }, { name: 'tokenAmount', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'unitsAmount', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'Enter', }, { type: 'event', anonymous: false, inputs: [ { name: 'sender', internalType: 'address', type: 'address', indexed: true }, { name: 'recipient', internalType: 'address', type: 'address', indexed: true }, { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true }, { name: 'tokenAmount', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'unitsAmount', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'Exit', }, { type: 'event', anonymous: false, inputs: [{ name: 'newFeeCalculator', internalType: 'address', type: 'address', indexed: true }], name: 'FeeCalculatorUpdated', }, { type: 'event', anonymous: false, inputs: [{ name: 'newFeeRecipient', internalType: 'address', type: 'address', indexed: true }], name: 'FeeRecipientUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'feeRecipient', internalType: 'address', type: 'address', indexed: true }, { name: 'fees', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'FeesClaimed', }, { type: 'event', anonymous: false, inputs: [ { name: 'guardian', internalType: 'address', type: 'address', indexed: true }, { name: 'root', internalType: 'bytes32', type: 'bytes32', indexed: true }, ], name: 'GuardianRootSet', }, { type: 'event', anonymous: false, inputs: [ { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], name: 'OwnershipTransferStarted', }, { type: 'event', anonymous: false, inputs: [ { name: 'user', internalType: 'address', type: 'address', indexed: true }, { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], name: 'OwnershipTransferred', }, { type: 'event', anonymous: false, inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], name: 'Paused', }, { type: 'event', anonymous: false, inputs: [ { name: 'protocolFeeRecipient', internalType: 'address', type: 'address', indexed: true }, { name: 'protocolEarnedFees', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'ProtocolFeesClaimed', }, { type: 'event', anonymous: false, inputs: [{ name: 'provisioner', internalType: 'address', type: 'address', indexed: true }], name: 'ProvisionerSet', }, { type: 'event', anonymous: false, inputs: [ { name: 'submitHooksAddress', internalType: 'address', type: 'address', indexed: true }, ], name: 'SubmitHooksSet', }, { type: 'event', anonymous: false, inputs: [ { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'Transfer', }, { type: 'event', anonymous: false, inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], name: 'Unpaused', }, { type: 'error', inputs: [ { name: 'index', internalType: 'uint256', type: 'uint256' }, { name: 'result', internalType: 'bytes', type: 'bytes' }, ], name: 'Aera__AfterOperationHooksFailed', }, { type: 'error', inputs: [{ name: 'result', internalType: 'bytes', type: 'bytes' }], name: 'Aera__AfterSubmitHooksFailed', }, { type: 'error', inputs: [ { name: 'token', internalType: 'address', type: 'address' }, { name: 'spender', internalType: 'address', type: 'address' }, ], name: 'Aera__AllowanceIsNotZero', }, { type: 'error', inputs: [ { name: 'index', internalType: 'uint256', type: 'uint256' }, { name: 'result', internalType: 'bytes', type: 'bytes' }, ], name: 'Aera__BeforeOperationHooksFailed', }, { type: 'error', inputs: [], name: 'Aera__BeforeOperationHooksWithConfigurableHooks' }, { type: 'error', inputs: [{ name: 'result', internalType: 'bytes', type: 'bytes' }], name: 'Aera__BeforeSubmitHooksFailed', }, { type: 'error', inputs: [], name: 'Aera__CalldataTooShort' }, { type: 'error', inputs: [], name: 'Aera__CallerIsNotAuthOrGuardian' }, { type: 'error', inputs: [], name: 'Aera__CallerIsNotFeeRecipient' }, { type: 'error', inputs: [], name: 'Aera__CallerIsNotGuardian' }, { type: 'error', inputs: [], name: 'Aera__CallerIsNotProtocolFeeRecipient' }, { type: 'error', inputs: [], name: 'Aera__CallerIsNotProvisioner' }, { type: 'error', inputs: [], name: 'Aera__CopyOffsetOutOfBounds' }, { type: 'error', inputs: [], name: 'Aera__ExpectedCallbackNotReceived' }, { type: 'error', inputs: [], name: 'Aera__ExtractionNumberTooLarge' }, { type: 'error', inputs: [], name: 'Aera__GuardianNotWhitelisted' }, { type: 'error', inputs: [], name: 'Aera__InvalidBeforeOperationHooksReturnDataLength' }, { type: 'error', inputs: [], name: 'Aera__NoFeesToClaim' }, { type: 'error', inputs: [], name: 'Aera__NoResults' }, { type: 'error', inputs: [], name: 'Aera__OffsetOutOfBounds' }, { type: 'error', inputs: [], name: 'Aera__PasteOffsetOutOfBounds' }, { type: 'error', inputs: [], name: 'Aera__ProofVerificationFailed' }, { type: 'error', inputs: [ { name: 'index', internalType: 'uint256', type: 'uint256' }, { name: 'result', internalType: 'bytes', type: 'bytes' }, ], name: 'Aera__SubmissionFailed', }, { type: 'error', inputs: [], name: 'Aera__Unauthorized' }, { type: 'error', inputs: [], name: 'Aera__UnauthorizedCallback' }, { type: 'error', inputs: [], name: 'Aera__UnitsLocked' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressFeeCalculator' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressFeeRecipient' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressFeeToken' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressGuardian' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressMerkleRoot' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressOwner' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressProvisioner' }, { type: 'error', inputs: [ { name: 'spender', internalType: 'address', type: 'address' }, { name: 'allowance', internalType: 'uint256', type: 'uint256' }, { name: 'needed', internalType: 'uint256', type: 'uint256' }, ], name: 'ERC20InsufficientAllowance', }, { type: 'error', inputs: [ { name: 'sender', internalType: 'address', type: 'address' }, { name: 'balance', internalType: 'uint256', type: 'uint256' }, { name: 'needed', internalType: 'uint256', type: 'uint256' }, ], name: 'ERC20InsufficientBalance', }, { type: 'error', inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], name: 'ERC20InvalidApprover', }, { type: 'error', inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], name: 'ERC20InvalidReceiver', }, { type: 'error', inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], name: 'ERC20InvalidSender', }, { type: 'error', inputs: [{ name: 'spender', internalType: 'address', type: 'address' }], name: 'ERC20InvalidSpender', }, { type: 'error', inputs: [], name: 'EnforcedPause' }, { type: 'error', inputs: [], name: 'ExpectedPause' }, { type: 'error', inputs: [], name: 'ReaderNotAtEnd' }, { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' }, { type: 'error', inputs: [{ name: 'token', internalType: 'address', type: 'address' }], name: 'SafeERC20FailedOperation', }, ] as const;