// Compact ABI derived from aera-finance/aera-contracts-v3@f4e3433058c29c3a0b1348ffbd358cc036a1687f // source: src/core/interfaces/IProvisionerV2.sol export const provisionerV2Abi = [ { type: 'function', inputs: [], name: 'SOLVING_GATE_ENABLED', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract IERC20', type: 'address' }, { name: 'tokensIn', internalType: 'uint256', type: 'uint256' }, { name: 'minUnitsOut', internalType: 'uint256', type: 'uint256' }, { name: 'receiver', internalType: 'address', type: 'address' }, ], name: 'deposit', outputs: [{ name: 'unitsOut', internalType: 'uint256', type: 'uint256' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'receiver', internalType: 'address', type: 'address' }, { name: 'depositor', internalType: 'address', type: 'address' }, ], name: 'depositReceiverApprovals', outputs: [{ name: 'approved', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract IERC20', type: 'address' }, { name: 'tokensIn', internalType: 'uint256', type: 'uint256' }, { name: 'minUnitsOut', internalType: 'uint256', type: 'uint256' }, { name: 'solverTip', internalType: 'uint256', type: 'uint256' }, { name: 'deadline', internalType: 'uint256', type: 'uint256' }, { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' }, { name: 'isFixedPrice', internalType: 'bool', type: 'bool' }, { name: 'receiver', internalType: 'address', type: 'address' }, ], name: 'requestDeposit', outputs: [{ name: 'depositRequestHash', internalType: 'bytes32', type: 'bytes32' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'getSyncRedeemDetails', outputs: [ { name: 'maxPriceAge', internalType: 'uint24', type: 'uint24' }, { name: 'relativeCapBps', internalType: 'uint16', type: 'uint16' }, { name: 'maxDynamicPremiumBps', internalType: 'uint16', type: 'uint16' }, { name: 'epochTimestamp', internalType: 'uint32', type: 'uint32' }, { name: 'absoluteCapNumeraire', internalType: 'uint80', type: 'uint80' }, { name: 'epochRedeemedNumeraire', internalType: 'uint80', type: 'uint80' }, ], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'getSyncRedeemEpochState', outputs: [ { name: 'epochTimestamp', internalType: 'uint256', type: 'uint256' }, { name: 'epochStartTvlNumeraire', internalType: 'uint256', type: 'uint256' }, { name: 'epochRedeemedNumeraire', internalType: 'uint256', type: 'uint256' }, { name: 'epochCapNumeraire', internalType: 'uint256', type: 'uint256' }, ], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'user', internalType: 'address', type: 'address' }], name: 'userUnitsRefundableUntil', outputs: [{ name: 'unitsLockedUntil', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'depositor', internalType: 'address', type: 'address' }, { name: 'approved', internalType: 'bool', type: 'bool' }, ], name: 'setDepositReceiverApproval', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], name: 'solvingGate', outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'token', internalType: 'contract IERC20', type: 'address' }], name: 'tokensDetails', outputs: [ { name: 'asyncDepositEnabled', internalType: 'bool', type: 'bool' }, { name: 'asyncRedeemEnabled', internalType: 'bool', type: 'bool' }, { name: 'syncDepositEnabled', internalType: 'bool', type: 'bool' }, { name: 'syncRedeemEnabled', internalType: 'bool', type: 'bool' }, { name: 'asyncDepositMultiplier', internalType: 'uint16', type: 'uint16' }, { name: 'asyncRedeemMultiplier', internalType: 'uint16', type: 'uint16' }, { name: 'syncDepositMultiplier', internalType: 'uint16', type: 'uint16' }, { name: 'syncRedeemMultiplier', internalType: 'uint16', type: 'uint16' }, { name: 'pushFundsSubmitDataPointer', internalType: 'address', type: 'address', }, { name: 'pullFundsSubmitDataPointer', internalType: 'address', type: 'address', }, ], stateMutability: 'view', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract IERC20', type: 'address' }, { name: 'unitsIn', internalType: 'uint256', type: 'uint256' }, { name: 'minTokensOut', internalType: 'uint256', type: 'uint256' }, { name: 'solverTip', internalType: 'uint256', type: 'uint256' }, { name: 'deadline', internalType: 'uint256', type: 'uint256' }, { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256' }, { name: 'isFixedPrice', internalType: 'bool', type: 'bool' }, { name: 'receiver', internalType: 'address', type: 'address' }, ], name: 'requestRedeem', outputs: [{ name: 'redeemRequestHash', internalType: 'bytes32', type: 'bytes32' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract IERC20', type: 'address' }, { name: 'unitsIn', internalType: 'uint256', type: 'uint256' }, { name: 'minTokensOut', internalType: 'uint256', type: 'uint256' }, { name: 'receiver', internalType: 'address', type: 'address' }, ], name: 'redeem', outputs: [{ name: 'tokensOut', internalType: 'uint256', type: 'uint256' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ { name: 'token', internalType: 'contract IERC20', type: 'address' }, { name: 'tokensOut', internalType: 'uint256', type: 'uint256' }, { name: 'maxUnitsIn', internalType: 'uint256', type: 'uint256' }, { name: 'receiver', internalType: 'address', type: 'address' }, ], name: 'withdraw', outputs: [{ name: 'unitsIn', internalType: 'uint256', type: 'uint256' }], stateMutability: 'nonpayable', }, { type: 'function', inputs: [{ name: 'asyncRequestHash', internalType: 'bytes32', type: 'bytes32' }], name: 'asyncRequestHashes', outputs: [{ name: 'exists', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [], name: 'version', outputs: [{ name: '', internalType: 'string', type: 'string' }], stateMutability: 'pure', }, { type: 'event', inputs: [ { name: 'user', internalType: 'address', type: 'address', indexed: true }, { name: 'receiver', internalType: 'address', type: 'address', indexed: true }, { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true }, { name: 'tokensIn', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'minUnitsOut', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'solverTip', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'deadline', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'isFixedPrice', internalType: 'bool', type: 'bool', indexed: false }, { name: 'depositRequestHash', internalType: 'bytes32', type: 'bytes32', indexed: false }, ], name: 'DepositRequested', anonymous: false, }, { type: 'event', inputs: [ { name: 'receiver', internalType: 'address', type: 'address', indexed: true }, { name: 'depositor', internalType: 'address', type: 'address', indexed: true }, { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, ], name: 'DepositReceiverApprovalSet', anonymous: false, }, { type: 'event', inputs: [ { name: 'user', internalType: 'address', type: 'address', indexed: true }, { name: 'receiver', internalType: 'address', type: 'address', indexed: true }, { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true }, { name: 'minTokensOut', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'unitsIn', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'solverTip', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'deadline', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'maxPriceAge', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'isFixedPrice', internalType: 'bool', type: 'bool', indexed: false }, { name: 'redeemRequestHash', internalType: 'bytes32', type: 'bytes32', indexed: false }, ], name: 'RedeemRequested', anonymous: false, }, { type: 'event', inputs: [ { name: 'user', internalType: 'address', type: 'address', indexed: true }, { name: 'receiver', internalType: 'address', type: 'address', indexed: true }, { name: 'token', internalType: 'contract IERC20', type: 'address', indexed: true }, { name: 'unitsIn', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'tokensOut', internalType: 'uint256', type: 'uint256', indexed: false }, ], name: 'Redeemed', anonymous: false, }, { type: 'error', inputs: [], name: 'Aera__AsyncDepositDisabled' }, { type: 'error', inputs: [], name: 'Aera__AsyncRedeemDisabled' }, { type: 'error', inputs: [], name: 'Aera__AutoPriceSolveNotAllowed' }, { type: 'error', inputs: [], name: 'Aera__CallerIsNotRequestUser' }, { type: 'error', inputs: [], name: 'Aera__CallerIsVault' }, { type: 'error', inputs: [], name: 'Aera__CancellationFeeExceedsRequestAmount' }, { type: 'error', inputs: [], name: 'Aera__DeadlineInFutureAndUnauthorized' }, { type: 'error', inputs: [], name: 'Aera__DeadlineInPast' }, { type: 'error', inputs: [], name: 'Aera__DeadlineTooFarInFuture' }, { type: 'error', inputs: [], name: 'Aera__DepositCancellationDetailsNotZero' }, { type: 'error', inputs: [], name: 'Aera__DepositCapExceeded' }, { type: 'error', inputs: [], name: 'Aera__DepositCapZero' }, { type: 'error', inputs: [], name: 'Aera__DepositHashNotFound' }, { type: 'error', inputs: [], name: 'Aera__DepositRequestCancellationDisabled' }, { type: 'error', inputs: [], name: 'Aera__FixedPriceSolverTipNotAllowed' }, { type: 'error', inputs: [], name: 'Aera__HashCollision' }, { type: 'error', inputs: [], name: 'Aera__HashNotFound' }, { type: 'error', inputs: [], name: 'Aera__InvalidToken' }, { type: 'error', inputs: [], name: 'Aera__MaxDepositRefundTimeoutExceeded' }, { type: 'error', inputs: [], name: 'Aera__MaxTokensInExceeded' }, { type: 'error', inputs: [], name: 'Aera__MaxUnitsInExceeded' }, { type: 'error', inputs: [], name: 'Aera__MinTokensOutNotMet' }, { type: 'error', inputs: [], name: 'Aera__MinUnitsOutNotMet' }, { type: 'error', inputs: [], name: 'Aera__MultiplierOutOfRange' }, { type: 'error', inputs: [], name: 'Aera__PriceAndFeeCalculatorVaultPaused' }, { type: 'error', inputs: [], name: 'Aera__PullFundsSubmitDataNotSet' }, { type: 'error', inputs: [], name: 'Aera__ReceiverNotApproved' }, { type: 'error', inputs: [], name: 'Aera__RedeemCancellationCapNumeraireZero' }, { type: 'error', inputs: [], name: 'Aera__RedeemCancellationDetailsNotZero' }, { type: 'error', inputs: [], name: 'Aera__RedeemRequestCancellationDisabled' }, { type: 'error', inputs: [], name: 'Aera__RefundPeriodExpired' }, { type: 'error', inputs: [], name: 'Aera__RequestAmountExceedsRefundCap' }, { type: 'error', inputs: [], name: 'Aera__SolvingGateDisabled' }, { type: 'error', inputs: [], name: 'Aera__SolvingPaused' }, { type: 'error', inputs: [], name: 'Aera__SyncDepositDisabled' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemAbsoluteCapNumeraireZero' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemDisabled' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemEpochCapExceeded' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemMaxDynamicPremiumBpsTooHigh' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemMaxPriceAgeExceeded' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemMaxPriceAgeZero' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemNotConfigured' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemRelativeCapBpsTooHigh' }, { type: 'error', inputs: [], name: 'Aera__SyncRedeemRelativeCapBpsZero' }, { type: 'error', inputs: [], name: 'Aera__TokenCantBePriced' }, { type: 'error', inputs: [], name: 'Aera__TokensZero' }, { type: 'error', inputs: [], name: 'Aera__Unauthorized' }, { type: 'error', inputs: [], name: 'Aera__UnitsLocked' }, { type: 'error', inputs: [], name: 'Aera__UnitsZero' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressAuthority' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressMultiDepositorVault' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressPriceAndFeeCalculator' }, { type: 'error', inputs: [], name: 'Aera__ZeroAddressReceiver' }, { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' }, { type: 'error', inputs: [{ name: 'token', internalType: 'address', type: 'address' }], name: 'SafeERC20FailedOperation', }, ] as const;