From a9b54dc7b5590b90ce768357f4222d0f83075c9e Mon Sep 17 00:00:00 2001 From: mkflow27 Date: Fri, 2 May 2025 14:17:56 +0200 Subject: [PATCH 1/2] docs: update errors --- .../contracts/error-signatures.md | 387 ++++++++++++------ 1 file changed, 258 insertions(+), 129 deletions(-) diff --git a/docs/developer-reference/contracts/error-signatures.md b/docs/developer-reference/contracts/error-signatures.md index 7fec4d4..203fa8f 100644 --- a/docs/developer-reference/contracts/error-signatures.md +++ b/docs/developer-reference/contracts/error-signatures.md @@ -6,132 +6,261 @@ order: 4 Catalogue for decoding custom error signatures into their associated error names -| Error Name | Parameters | Error Signature | -| ------------------------------------ | ------------------------------------------------------------ | --------------- | -| AfterAddLiquidityHookFailed | | `0x1f11c6e8` | -| AfterInitializeHookFailed | | `0x5082db7e` | -| AfterRemoveLiquidityHookFailed | | `0x8c038be8` | -| AfterSwapHookFailed | | `0x6bba8321` | -| AllZeroInputs | | `0x9e29a0f3` | -| AmountGivenZero | | `0xb3c1f187` | -| AmountInAboveMax | IERC20 token, uint256 amount, uint256 limit | `0x07a83b17` | -| AmountOutBelowMin | IERC20 token, uint256 amount, uint256 limit | `0x7d7130d2` | -| AmpUpdateAlreadyStarted | | `0x100d1013` | -| AmpUpdateDurationTooShort | | `0xb84d7d1d` | -| AmpUpdateNotStarted | | `0xb02a9d34` | -| AmpUpdateRateTooFast | | `0xc6efc60e` | -| AmplificationFactorTooHigh | | `0x11897312` | -| AmplificationFactorTooLow | | `0x87f0d889` | -| BalanceNotSettled | | `0x6c98e9ed` | -| BalanceOverflow | | `0x3b92a109` | -| BaseOutOfBounds | | `0x283468d4` | -| BeforeAddLiquidityHookFailed | | `0x13b4de1f` | -| BeforeInitializeHookFailed | | `0x2ff3b3e0` | -| BeforeRemoveLiquidityHookFailed | | `0x0e192f45` | -| BeforeSwapHookFailed | | `0x33ebeda8` | -| BptAmountInAboveMax | uint256 amount, uint256 limit | `0x3b998e8c` | -| BptAmountOutBelowMin | uint256 amount, uint256 limit | `0x17346ee0` | -| CallerIsNotPoolCreator | address caller | `0x8cf39e3a` | -| CannotReceiveEth | | `0x8a7fb40e` | -| CannotSwapSameToken | | `0x0d3ef36e` | -| CodecOverflow | | `0xbf57988a` | -| Disabled | | `0x657ba18e` | -| DoesNotSupportAddLiquidityCustom | | `0x587cae70` | -| DoesNotSupportDonation | | `0x260f7e17` | -| DoesNotSupportRemoveLiquidityCustom | | `0xe2d00b62` | -| DoesNotSupportUnbalancedLiquidity | | `0x5c645ae6` | -| DynamicSwapFeeHookFailed | | `0x8a47a7a4` | -| ElementNotFound | | `0x0982bb23` | -| ElementNotFound | | `0x0982bb23` | -| ErrorSelectorNotFound | | `0x275f4d09` | -| EthTransfer | | `0x9c3c0d41` | -| ExitHookFeeAboveLimit | uint256 fee, uint256 limit | `0x2656e014` | -| ExponentOutOfBounds | | `0xb0dd9e34` | -| FeePrecisionTooHigh | | `0xa42e89dc` | -| HookAdjustedAmountInAboveMax | IERC20 token, uint256 amount, uint256 limit | `0xb4b74ef6` | -| HookAdjustedAmountOutBelowMin | IERC20 token, uint256 amount, uint256 limit | `0x4635a39b` | -| HookAdjustedSwapLimit | uint256 amount, uint256 limit | `0x4ccdc100` | -| HookRegistrationFailed | address poolHooksContract, address pool, address poolFactory | `0xc3e7a50e` | -| IndexOutOfBounds | | `0xe2d34134` | -| IndexOutOfBounds | | `0xe2d34134` | -| IndexOutOfBounds | | `0xe2d34134` | -| InputLengthMismatch | | `0x9e93c2b5` | -| InsufficientEth | | `0x3b39ba4f` | -| InvalidAddLiquidityKind | | `0x537d5fc4` | -| InvalidExponent | | `0x8de26d1e` | -| InvalidPercentage | uint256 value | `0xc5b9e4ed` | -| InvalidRemoveLiquidityKind | | `0x7f7e2ac4` | -| InvalidSize | uint256 currentValue, uint256 expectedSize | `0xa0f9c6a0` | -| InvalidToken | | `0x8bc6b79a` | -| InvalidTokenConfiguration | | `0x31316a47` | -| InvalidTokenType | | `0x85915cf0` | -| KeyNotFound | | `0xc1e47035` | -| MaxInRatio | | `0x158d8c7d` | -| MaxOutBptForTokenIn | | `0x9e370e9e` | -| MaxOutRatio | | `0x1732d25b` | -| MaxTokens | | `0x9b286d4d` | -| MinBPTInForTokenOut | | `0xc85c8b1e` | -| MinTokens | | `0x144c854a` | -| MinWeight | | `0x278ee3fa` | -| MultipleNonZeroInputs | | `0x5200c18f` | -| NormalizedWeightInvariant | | `0xe7d61931` | -| NotEnoughBufferShares | | `0xdff0a4bb` | -| NotStaticCall | | `0xb370c5ee` | -| NotVaultDelegateCall | | `0xd8d9f3e0` | -| OperationNotSupported | | `0x9f3ae0a3` | -| OutOfBounds | | `0x2630ff3d` | -| OutOfBounds | | `0x2630ff3d` | -| PauseBufferPeriodDurationTooLarge | | `0x7c39f6b6` | -| PoolAlreadyInitialized | address pool | `0x8d399135` | -| PoolAlreadyRegistered | address pool | `0x8bd46f89` | -| PoolCreatorFeePercentageTooHigh | | `0x836f7f92` | -| PoolCreatorNotRegistered | address pool | `0xd45b08d3` | -| PoolDoesNotSupportDonation | | `0xc49a7c23` | -| PoolInRecoveryMode | address pool | `0xe2ce51d3` | -| PoolNotInRecoveryMode | address pool | `0x24849cf3` | -| PoolNotInitialized | address pool | `0x0df59b25` | -| PoolNotPaused | address pool | `0xf9783e7e` | -| PoolNotRegistered | address pool | `0xe162b9a1` | -| PoolPauseWindowDurationOverflow | | `0x4a84a207` | -| PoolPauseWindowExpired | address pool | `0xb94f73ee` | -| PoolPaused | address pool | `0x73b2c12a` | -| ProductOutOfBounds | | `0x34b5117d` | -| ProtocolFeesExceedTotalCollected | | `0xe64f8d47` | -| ProtocolSwapFeePercentageTooHigh | | `0x1e1d8966` | -| ProtocolYieldFeePercentageTooHigh | | `0x5b4823d2` | -| QueriesDisabled | | `0xf59f6765` | -| QuoteResultSpoofed | | `0xe74c0ecf` | -| ReentrancyGuardReentrantCall | | `0xd7ce3fac` | -| Result | bytes result | `0x8c6e31e6` | -| RouterNotTrusted | | `0x694a59f2` | -| SenderIsNotVault | address sender | `0x4773d3d1` | -| SenderNotAllowed | | `0x5802aade` | -| StableGetBalanceDidNotConverge | | `0x472a7075` | -| StableInvariantDidNotConverge | | `0x165463a8` | -| StandardPoolWithCreator | | `0xaab61791` | -| SwapDeadline | | `0x6a3a3c96` | -| SwapFeePercentageTooHigh | | `0xc925d7a1` | -| SwapFeePercentageTooLow | | `0xdbb72f4a` | -| SwapLimit | uint256 amount, uint256 limit | `0x1b8a1b97` | -| TokenAlreadyRegistered | IERC20 token | `0x02a00296` | -| TokenNotRegistered | IERC20 token | `0x379df7a5` | -| TokensMismatch | address pool, address expectedToken, address actualToken | `0x6f14ef15` | -| TokensNotSorted | | `0x885ce7da` | -| TotalSupplyTooLow | uint256 amount, uint256 limit | `0x526e36e6` | -| TransientIndexOutOfBounds | | `0x5acba2d6` | -| UnexpectedCallSuccess | | `0xe6b3e7b3` | -| UserDataNotSupported | | `0x2d35a2b1` | -| VaultBuffersArePaused | | `0xa456b12c` | -| VaultIsNotUnlocked | | `0xd1c62eb7` | -| VaultNotPaused | | `0x1c190c29` | -| VaultPauseWindowDurationTooLarge | | `0x70fba371` | -| VaultPauseWindowExpired | | `0xf4dcd02d` | -| VaultPaused | | `0x94ff1b0a` | -| WrapAmountTooSmall | address wrappedToken | `0x92c1dbac` | -| WrongProtocolFeeControllerDeployment | | `0xf71cc7b1` | -| WrongUnderlyingAmount | address wrappedToken | `0x6a07620f` | -| WrongVaultAdminDeployment | | `0x0a66f52d` | -| WrongVaultExtensionDeployment | | `0x8456cb59` | -| WrongWrappedAmount | address wrappedToken | `0x8ab83c36` | -| WrongWrappedTokenAsset | address token | `0x77ab82b3` | -| ZeroDivision | | `0x11801f77` | +# Extracted Errors + +| Signature | Selector | Parameters | Contract | +| ------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------- | ------------------------------- | +| `SwapInsufficientPayment()` | `0xf70282c3` | | AggregatorRouter | +| `InconsistentState(string,)` | `0xa6e9b1ec` | string contractName, address contractAddress | BalancerContractRegistry | +| `NotStaticCall()` | `0x67f84ab2` | | CompositeLiquidityRouter | +| `ElementNotFound()` | `0x66af5392` | | CompositeLiquidityRouter | +| `WrongTokensOut(address[],)` | `0x9576d209` | address[] expectedTokensOut, address[] tokensOut | CompositeLiquidityRouter | +| `OrderNotValid(string)` | `0xc8fc2725` | string reason | CowSwapFeeBurner | +| `PollTryNextBlock(string)` | `0xd05f3065` | string reason | CowSwapFeeBurner | +| `PollTryAtBlock(uint256,)` | `0x40ab5b5b` | uint256 blockNumber, string reason | CowSwapFeeBurner | +| `PollTryAtEpoch(uint256,)` | `0xd87ea590` | uint256 timestamp, string reason | CowSwapFeeBurner | +| `PollNever(string)` | `0x981b64cd` | string reason | CowSwapFeeBurner | +| `InvalidOrderParameters(string)` | `0x8d8a6110` | string reason | CowSwapFeeBurner | +| `OrderHasUnexpectedStatus(OrderStatus)` | `0x3ba126d8` | OrderStatus actualStatus | CowSwapFeeBurner | +| `InterfaceIsSignatureVerifierMuxer()` | `0x32798566` | | CowSwapFeeBurner | +| `SupportsOnlyTwoTokens()` | `0x34e77320` | | GyroECLPPoolFactory | +| `InvalidTrustedRouter()` | `0x0307417b` | | LBPoolFactory | +| `InvalidOwner()` | `0x49e27cff` | | LBPoolFactory | +| `ContractAddressAlreadyRegistered(ContractType,)` | `0xef27fbb5` | ContractType contractType, address contractAddress | MevCaptureHook | +| `ContractNameAlreadyRegistered(ContractType,)` | `0xdecd1563` | ContractType contractType, string contractName | MevCaptureHook | +| `ContractNameInUseAsAlias(string,)` | `0xedcd5939` | string contractName, address contractAddress | MevCaptureHook | +| `ContractAliasInUseAsName(ContractType,)` | `0xc5949bff` | ContractType contractType, string contractName | MevCaptureHook | +| `ContractNameNotRegistered(string)` | `0xcd3599f9` | string contractName | MevCaptureHook | +| `ContractAddressNotRegistered(address)` | `0xf5b5d364` | address contractAddress | MevCaptureHook | +| `ContractAlreadyDeprecated(address)` | `0x1f118c35` | address contractAddress | MevCaptureHook | +| `ZeroContractAddress()` | `0xb4d92c53` | | MevCaptureHook | +| `InvalidContractName()` | `0x830c907e` | | MevCaptureHook | +| `InvalidContractAlias()` | `0x907f9fd9` | | MevCaptureHook | +| `InvalidBalancerContractRegistry()` | `0x5c84f39b` | | MevCaptureHook | +| `MevCaptureHookNotRegisteredInPool(address)` | `0x7501acd8` | address pool | MevCaptureHook | +| `MevSwapFeePercentageAboveMax(uint256,)` | `0x803c3422` | uint256 feePercentage, uint256 maxFeePercentage | MevCaptureHook | +| `MevTaxExemptSenderAlreadyAdded(address)` | `0x106fa5a4` | address sender | MevCaptureHook | +| `SenderNotRegisteredAsMevTaxExempt(address)` | `0x01147f3f` | address sender | MevCaptureHook | +| `MevCaptureHookNotRegisteredForPool(pool)` | `0x289d5eb6` | pool | MevCaptureHook | +| `SqrtParamsWrong()` | `0x0579e1da` | | MockGyro2CLPPool | +| `AssetBoundsExceeded()` | `0x03ba4186` | | MockGyroECLPPool | +| `RotationVectorSWrong()` | `0xa9587a74` | | MockGyroECLPPool | +| `RotationVectorCWrong()` | `0x658639aa` | | MockGyroECLPPool | +| `RotationVectorNotNormalized()` | `0xa26d8c2e` | | MockGyroECLPPool | +| `DerivedTauAlphaNotNormalized()` | `0xc196e496` | | MockGyroECLPPool | +| `DerivedTauBetaNotNormalized()` | `0x25bbd708` | | MockGyroECLPPool | +| `StretchingFactorWrong()` | `0x77dfa312` | | MockGyroECLPPool | +| `DerivedTauAlphaYWrong()` | `0xec13362c` | | MockGyroECLPPool | +| `DerivedTauBetaYWrong()` | `0xfa40768d` | | MockGyroECLPPool | +| `DerivedTauXWrong()` | `0x4071c5a8` | | MockGyroECLPPool | +| `DerivedUWrong()` | `0xf84d4b44` | | MockGyroECLPPool | +| `DerivedVWrong()` | `0xcfb498d5` | | MockGyroECLPPool | +| `DerivedWWrong()` | `0x83446b36` | | MockGyroECLPPool | +| `DerivedZWrong()` | `0x12e3e411` | | MockGyroECLPPool | +| `InvariantDenominatorWrong()` | `0xd1c17993` | | MockGyroECLPPool | +| `MaxAssetsExceeded()` | `0x2da2a5e5` | | MockGyroECLPPool | +| `MaxInvariantExceeded()` | `0xdc10196f` | | MockGyroECLPPool | +| `DerivedDsqWrong()` | `0xfb154af0` | | MockGyroECLPPool | +| `AddOverflow()` | `0xa7f965e3` | | MockGyroECLPPool | +| `SubOverflow()` | `0x8a5d6af4` | | MockGyroECLPPool | +| `MulOverflow()` | `0x0cde6c26` | | MockGyroECLPPool | +| `DivInterval()` | `0xe03f5d57` | | MockGyroECLPPool | +| `OwnableUnauthorizedAccount(address)` | `0x118cdaa7` | address account | MockLBPool | +| `OwnableInvalidOwner(address)` | `0x1e4fbdf7` | address owner | MockLBPool | +| `MaxOutRatio()` | `0x64590b9f` | | MockLBPool | +| `MaxInRatio()` | `0x340a4533` | | MockLBPool | +| `ZeroInvariant()` | `0x26543689` | | MockLBPool | +| `MinWeight()` | `0xbd393583` | | MockLBPool | +| `NormalizedWeightInvariant()` | `0x39cf114e` | | MockLBPool | +| `WeightedPoolBptRateUnsupported()` | `0x18e79a20` | | MockLBPool | +| `SwapsDisabled()` | `0xfdf79845` | | MockLBPool | +| `RemovingLiquidityNotAllowed()` | `0xf38b5770` | | MockLBPool | +| `AddingLiquidityNotAllowed()` | `0x3eee08c7` | | MockLBPool | +| `SwapOfProjectTokenIn()` | `0x1269438a` | | MockLBPool | +| `NotImplemented()` | `0xd6234725` | | MockLBPool | +| `GradualUpdateTimeTravel(uint256,)` | `0x9845c98f` | uint256 resolvedStartTime, uint256 endTime | MockLBPool | +| `OutOfBounds()` | `0xb4120f14` | | MockStablePool | +| `ZeroDivision()` | `0x0a0c22c7` | | MockStablePool | +| `BaseOutOfBounds()` | `0x022701e0` | | MockStablePool | +| `ExponentOutOfBounds()` | `0xd8317311` | | MockStablePool | +| `ProductOutOfBounds()` | `0xa2f9f7e3` | | MockStablePool | +| `InvalidExponent()` | `0xd4794efd` | | MockStablePool | +| `SafeCastOverflowedUintDowncast(uint8,)` | `0xf3fd8e96` | uint8 bits, uint256 value | MockStablePool | +| `SafeCastOverflowedIntToUint(int256)` | `0xa8ce4432` | int256 value | MockStablePool | +| `SafeCastOverflowedIntDowncast(uint8,)` | `0xfcaa9e1d` | uint8 bits, int256 value | MockStablePool | +| `SafeCastOverflowedUintToInt(uint256)` | `0x24775e06` | uint256 value | MockStablePool | +| `StableInvariantDidNotConverge()` | `0x010ca320` | | MockStablePool | +| `StableComputeBalanceDidNotConverge()` | `0xdcbda05c` | | MockStablePool | +| `AmplificationFactorTooLow()` | `0xab923323` | | MockStablePool | +| `AmplificationFactorTooHigh()` | `0x9b80d390` | | MockStablePool | +| `AmpUpdateDurationTooShort()` | `0xcd6b022a` | | MockStablePool | +| `AmpUpdateRateTooFast()` | `0x1c708b92` | | MockStablePool | +| `AmpUpdateAlreadyStarted()` | `0x2f301e7e` | | MockStablePool | +| `AmpUpdateNotStarted()` | `0x4673a675` | | MockStablePool | +| `VaultNotSet()` | `0xc8e28160` | | MockStablePool | +| `SenderNotAllowed()` | `0x23dada53` | | MockWrappedBalancerPoolToken | +| `ProtocolSwapFeePercentageTooHigh()` | `0x7e6eb7fb` | | MockWrappedBalancerPoolToken | +| `ProtocolYieldFeePercentageTooHigh()` | `0xa7849e8e` | | MockWrappedBalancerPoolToken | +| `PoolCreatorNotRegistered(address)` | `0x8bcbf353` | address pool | MockWrappedBalancerPoolToken | +| `CallerIsNotPoolCreator(address,)` | `0xa4c7f8b0` | address caller, address pool | MockWrappedBalancerPoolToken | +| `PoolCreatorFeePercentageTooHigh()` | `0x0370da74` | | MockWrappedBalancerPoolToken | +| `PoolAlreadyRegistered(address)` | `0xdb771c80` | address pool | MockWrappedBalancerPoolToken | +| `PoolAlreadyInitialized(address)` | `0x218e3747` | address pool | MockWrappedBalancerPoolToken | +| `PoolNotRegistered(address)` | `0x9e51bd5c` | address pool | MockWrappedBalancerPoolToken | +| `PoolNotInitialized(address)` | `0x4bdace13` | address pool | MockWrappedBalancerPoolToken | +| `HookRegistrationFailed(address,,)` | `0x55d8ee18` | address poolHooksContract, address pool, address poolFactory | MockWrappedBalancerPoolToken | +| `TokenAlreadyRegistered(IERC20)` | `0xcbc7ea2c` | IERC20 token | MockWrappedBalancerPoolToken | +| `MinTokens()` | `0x5ed4ba8f` | | MockWrappedBalancerPoolToken | +| `MaxTokens()` | `0x707bdf58` | | MockWrappedBalancerPoolToken | +| `InvalidToken()` | `0xc1ab6dc1` | | MockWrappedBalancerPoolToken | +| `InvalidTokenType()` | `0xa1e9dd9d` | | MockWrappedBalancerPoolToken | +| `InvalidTokenConfiguration()` | `0xdf450632` | | MockWrappedBalancerPoolToken | +| `InvalidTokenDecimals()` | `0x686d3607` | | MockWrappedBalancerPoolToken | +| `TokensMismatch(address,,)` | `0x21e13332` | address pool, address expectedToken, address actualToken | MockWrappedBalancerPoolToken | +| `BalanceNotSettled()` | `0x20f1d86d` | | MockWrappedBalancerPoolToken | +| `VaultIsNotUnlocked()` | `0xc09ba736` | | MockWrappedBalancerPoolToken | +| `DynamicSwapFeeHookFailed()` | `0x53f976d4` | | MockWrappedBalancerPoolToken | +| `BeforeSwapHookFailed()` | `0xe91e17e7` | | MockWrappedBalancerPoolToken | +| `AfterSwapHookFailed()` | `0x15a29dec` | | MockWrappedBalancerPoolToken | +| `BeforeInitializeHookFailed()` | `0x60612925` | | MockWrappedBalancerPoolToken | +| `AfterInitializeHookFailed()` | `0x0f23dbc6` | | MockWrappedBalancerPoolToken | +| `BeforeAddLiquidityHookFailed()` | `0x0b2eb652` | | MockWrappedBalancerPoolToken | +| `AfterAddLiquidityHookFailed()` | `0xe1249165` | | MockWrappedBalancerPoolToken | +| `BeforeRemoveLiquidityHookFailed()` | `0x2aaf8866` | | MockWrappedBalancerPoolToken | +| `AfterRemoveLiquidityHookFailed()` | `0x1d3391d8` | | MockWrappedBalancerPoolToken | +| `RouterNotTrusted()` | `0xe5d185cf` | | MockWrappedBalancerPoolToken | +| `AmountGivenZero()` | `0x57a456b7` | | MockWrappedBalancerPoolToken | +| `CannotSwapSameToken()` | `0xa54b181d` | | MockWrappedBalancerPoolToken | +| `TokenNotRegistered(IERC20)` | `0x59674a0c` | IERC20 token | MockWrappedBalancerPoolToken | +| `SwapLimit(uint256,)` | `0xf5834282` | uint256 amount, uint256 limit | MockWrappedBalancerPoolToken | +| `HookAdjustedSwapLimit(uint256,)` | `0xd2bc61be` | uint256 amount, uint256 limit | MockWrappedBalancerPoolToken | +| `TradeAmountTooSmall()` | `0x1ed4d118` | | MockWrappedBalancerPoolToken | +| `InvalidAddLiquidityKind()` | `0x6c02b395` | | MockWrappedBalancerPoolToken | +| `AmountInAboveMax(IERC20,,)` | `0xbbf5adfb` | IERC20 tokenIn, uint256 amountIn, uint256 maxAmountIn | MockWrappedBalancerPoolToken | +| `HookAdjustedAmountInAboveMax(IERC20,,)` | `0x4121da70` | IERC20 tokenIn, uint256 amountIn, uint256 maxAmountIn | MockWrappedBalancerPoolToken | +| `BptAmountOutBelowMin(uint256,)` | `0xf9ee35ac` | uint256 amountOut, uint256 minAmountOut | MockWrappedBalancerPoolToken | +| `DoesNotSupportAddLiquidityCustom()` | `0x4876c0bc` | | MockWrappedBalancerPoolToken | +| `DoesNotSupportDonation()` | `0xefe0265d` | | MockWrappedBalancerPoolToken | +| `InvalidRemoveLiquidityKind()` | `0x137a9a39` | | MockWrappedBalancerPoolToken | +| `AmountOutBelowMin(IERC20,,)` | `0xf22ae62c` | IERC20 tokenOut, uint256 amountOut, uint256 minAmountOut | MockWrappedBalancerPoolToken | +| `HookAdjustedAmountOutBelowMin(IERC20,,)` | `0x7d8a66e4` | IERC20 tokenOut, uint256 amountOut, uint256 minAmountOut | MockWrappedBalancerPoolToken | +| `BptAmountInAboveMax(uint256,)` | `0xf1b8af4d` | uint256 amountIn, uint256 maxAmountIn | MockWrappedBalancerPoolToken | +| `DoesNotSupportRemoveLiquidityCustom()` | `0xcf0a95c0` | | MockWrappedBalancerPoolToken | +| `ProtocolFeesExceedTotalCollected()` | `0x4c69ac5d` | | MockWrappedBalancerPoolToken | +| `SwapFeePercentageTooLow()` | `0xbfb20688` | | MockWrappedBalancerPoolToken | +| `SwapFeePercentageTooHigh()` | `0x7f47834b` | | MockWrappedBalancerPoolToken | +| `FeePrecisionTooHigh()` | `0x833fb3ce` | | MockWrappedBalancerPoolToken | +| `PercentageAboveMax()` | `0x746e5940` | | MockWrappedBalancerPoolToken | +| `QueriesDisabled()` | `0x7a198886` | | MockWrappedBalancerPoolToken | +| `QueriesDisabledPermanently()` | `0x069f8cbc` | | MockWrappedBalancerPoolToken | +| `PoolInRecoveryMode(address)` | `0x346d7607` | address pool | MockWrappedBalancerPoolToken | +| `PoolNotInRecoveryMode(address)` | `0xef029adf` | address pool | MockWrappedBalancerPoolToken | +| `SenderIsNotVault(address)` | `0x089676d5` | address sender | MockWrappedBalancerPoolToken | +| `VaultPauseWindowDurationTooLarge()` | `0xcc0e8fe5` | | MockWrappedBalancerPoolToken | +| `PauseBufferPeriodDurationTooLarge()` | `0x9ea4efee` | | MockWrappedBalancerPoolToken | +| `VaultPaused()` | `0xda9f8b34` | | MockWrappedBalancerPoolToken | +| `VaultNotPaused()` | `0xf7ff4dca` | | MockWrappedBalancerPoolToken | +| `VaultPauseWindowExpired()` | `0x0e4460b7` | | MockWrappedBalancerPoolToken | +| `PoolPaused(address)` | `0xd971f597` | address pool | MockWrappedBalancerPoolToken | +| `PoolNotPaused(address)` | `0xfdcd6894` | address pool | MockWrappedBalancerPoolToken | +| `PoolPauseWindowExpired(address)` | `0xeb5a1217` | address pool | MockWrappedBalancerPoolToken | +| `BufferAlreadyInitialized(IERC4626)` | `0xee44489a` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | +| `BufferNotInitialized(IERC4626)` | `0x92998560` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | +| `NotEnoughBufferShares()` | `0x98c5dbd6` | | MockWrappedBalancerPoolToken | +| `WrongUnderlyingToken(IERC4626,)` | `0xb7b30c89` | IERC4626 wrappedToken, address underlyingToken | MockWrappedBalancerPoolToken | +| `InvalidUnderlyingToken(IERC4626)` | `0x4c089bd4` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | +| `WrapAmountTooSmall(IERC4626)` | `0x1a53f97f` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | +| `VaultBuffersArePaused()` | `0x0f27df09` | | MockWrappedBalancerPoolToken | +| `BufferSharesInvalidReceiver()` | `0xdbe6b10e` | | MockWrappedBalancerPoolToken | +| `BufferSharesInvalidOwner()` | `0x586d06df` | | MockWrappedBalancerPoolToken | +| `BufferTotalSupplyTooLow(uint256)` | `0x34bdbfaa` | uint256 totalSupply | MockWrappedBalancerPoolToken | +| `NotEnoughUnderlying(IERC4626,,)` | `0x6135b79b` | IERC4626 wrappedToken, uint256 expectedUnderlyingAmount, uint256 actualUnderlyingAmount | MockWrappedBalancerPoolToken | +| `NotEnoughWrapped(IERC4626,,)` | `0x4d3a6ff3` | IERC4626 wrappedToken, uint256 expectedWrappedAmount, uint256 actualWrappedAmount | MockWrappedBalancerPoolToken | +| `IssuedSharesBelowMin(uint256,)` | `0x2b557e52` | uint256 issuedShares, uint256 minIssuedShares | MockWrappedBalancerPoolToken | +| `DoesNotSupportUnbalancedLiquidity()` | `0xd4f5779c` | | MockWrappedBalancerPoolToken | +| `CannotReceiveEth()` | `0xf2238896` | | MockWrappedBalancerPoolToken | +| `NotVaultDelegateCall()` | `0x9fd25b36` | | MockWrappedBalancerPoolToken | +| `WrongVaultExtensionDeployment()` | `0x1ab9d9d0` | | MockWrappedBalancerPoolToken | +| `WrongProtocolFeeControllerDeployment()` | `0x1bbe95c7` | | MockWrappedBalancerPoolToken | +| `WrongVaultAdminDeployment()` | `0x82cc28b6` | | MockWrappedBalancerPoolToken | +| `QuoteResultSpoofed()` | `0x28f95541` | | MockWrappedBalancerPoolToken | +| `ERC20InsufficientBalance(address,,)` | `0x46b62d07` | address sender, uint256 balance, uint256 needed | MockWrappedBalancerPoolToken | +| `ERC20InvalidSender(address)` | `0x96c6fd1e` | address sender | MockWrappedBalancerPoolToken | +| `ERC20InvalidReceiver(address)` | `0xec442f05` | address receiver | MockWrappedBalancerPoolToken | +| `ERC20InsufficientAllowance(address,,)` | `0x19c4e051` | address spender, uint256 allowance, uint256 needed | MockWrappedBalancerPoolToken | +| `ERC20InvalidApprover(address)` | `0xe602df05` | address approver | MockWrappedBalancerPoolToken | +| `ERC20InvalidSpender(address)` | `0x94280d62` | address spender | MockWrappedBalancerPoolToken | +| `ERC721InvalidOwner(address)` | `0x89c62b64` | address owner | MockWrappedBalancerPoolToken | +| `ERC721NonexistentToken(uint256)` | `0x7e273289` | uint256 tokenId | MockWrappedBalancerPoolToken | +| `ERC721IncorrectOwner(address,,)` | `0x1fd83a0b` | address sender, uint256 tokenId, address owner | MockWrappedBalancerPoolToken | +| `ERC721InvalidSender(address)` | `0x73c6ac6e` | address sender | MockWrappedBalancerPoolToken | +| `ERC721InvalidReceiver(address)` | `0x64a0ae92` | address receiver | MockWrappedBalancerPoolToken | +| `ERC721InsufficientApproval(address,)` | `0xc5c75308` | address operator, uint256 tokenId | MockWrappedBalancerPoolToken | +| `ERC721InvalidApprover(address)` | `0xa9fbf51f` | address approver | MockWrappedBalancerPoolToken | +| `ERC721InvalidOperator(address)` | `0x5b08ba18` | address operator | MockWrappedBalancerPoolToken | +| `ERC1155InsufficientBalance(address,,,)` | `0x629a1555` | address sender, uint256 balance, uint256 needed, uint256 tokenId | MockWrappedBalancerPoolToken | +| `ERC1155InvalidSender(address)` | `0x01a83514` | address sender | MockWrappedBalancerPoolToken | +| `ERC1155InvalidReceiver(address)` | `0x57f447ce` | address receiver | MockWrappedBalancerPoolToken | +| `ERC1155MissingApprovalForAll(address,)` | `0x0c8eb49c` | address operator, address owner | MockWrappedBalancerPoolToken | +| `ERC1155InvalidApprover(address)` | `0x3e31884e` | address approver | MockWrappedBalancerPoolToken | +| `ERC1155InvalidOperator(address)` | `0xced3e100` | address operator | MockWrappedBalancerPoolToken | +| `ERC1155InvalidArrayLength(uint256,)` | `0xa2201a5e` | uint256 idsLength, uint256 valuesLength | MockWrappedBalancerPoolToken | +| `SafeERC20FailedOperation(address)` | `0x5274afe7` | address token | MockWrappedBalancerPoolToken | +| `SafeERC20FailedDecreaseAllowance(address,,)` | `0xadfaa852` | address spender, uint256 currentAllowance, uint256 requestedDecrease | MockWrappedBalancerPoolToken | +| `AddressInsufficientBalance(address)` | `0xcd786059` | address account | MockWrappedBalancerPoolToken | +| `AddressEmptyCode(address)` | `0x9996b315` | address target | MockWrappedBalancerPoolToken | +| `FailedInnerCall()` | `0x1425ea42` | | MockWrappedBalancerPoolToken | +| `ECDSAInvalidSignature()` | `0xf645eedf` | | MockWrappedBalancerPoolToken | +| `ECDSAInvalidSignatureLength(uint256)` | `0xfce698f7` | uint256 length | MockWrappedBalancerPoolToken | +| `ECDSAInvalidSignatureS(bytes32)` | `0xd78bce0c` | bytes32 s | MockWrappedBalancerPoolToken | +| `MathOverflowedMulDiv()` | `0x227bc153` | | MockWrappedBalancerPoolToken | +| `InvalidAccountNonce(address,)` | `0x8361cddf` | address account, uint256 currentNonce | MockWrappedBalancerPoolToken | +| `StringTooLong(string)` | `0x305a27a9` | string str | MockWrappedBalancerPoolToken | +| `InvalidShortString()` | `0xb3512b0c` | | MockWrappedBalancerPoolToken | +| `StringsInsufficientHexLength(uint256,)` | `0x6a76f42b` | uint256 value, uint256 length | MockWrappedBalancerPoolToken | +| `ERC2612ExpiredSignature(uint256)` | `0x62791302` | uint256 deadline | MockWrappedBalancerPoolToken | +| `ERC2612InvalidSigner(address,)` | `0x6d795e03` | address signer, address owner | MockWrappedBalancerPoolToken | +| `VaultIsUnlocked()` | `0xbe18e309` | | MockWrappedBalancerPoolToken | +| `InvalidMigrationSource()` | `0xb82fd5bf` | | ProtocolFeeController | +| `InvalidFeeRecipient()` | `0x768dc598` | | ProtocolFeeSweeper | +| `InvalidTargetToken()` | `0x8562eb45` | | ProtocolFeeSweeper | +| `InvalidProtocolFeeBurner()` | `0x31ec2736` | | ProtocolFeeSweeper | +| `UnsupportedProtocolFeeBurner(address)` | `0x38553f6c` | address protocolFeeBurner | ProtocolFeeSweeper | +| `ProtocolFeeBurnerAlreadyAdded(address)` | `0x6fe47af6` | address protocolFeeBurner | ProtocolFeeSweeper | +| `ProtocolFeeBurnerNotAdded(address)` | `0xbca5ab34` | address protocolFeeBurner | ProtocolFeeSweeper | +| `BurnerDidNotConsumeAllowance()` | `0xc5bc8d51` | | ProtocolFeeSweeper | +| `Result(bytes)` | `0x5ab64fb8` | bytes result | Router | +| `ErrorSelectorNotFound()` | `0xa7285689` | | Router | +| `TransientIndexOutOfBounds()` | `0x0f4ae0e4` | | Router | +| `ReentrancyGuardReentrantCall()` | `0x3ee5aeb5` | | Router | +| `EthTransfer()` | `0x0540ddf6` | | Router | +| `InsufficientEth()` | `0xa01a9df6` | | Router | +| `SwapDeadline()` | `0xe08b8af0` | | Router | +| `AllowanceExpired(uint256)` | `0xd81b2f2e` | uint256 deadline | Router | +| `InsufficientAllowance(uint256)` | `0xf96fb071` | uint256 amount | Router | +| `ExcessiveInvalidation()` | `0x24d35a26` | | Router | +| `InvalidAmount(uint256)` | `0x3728b83d` | uint256 maxAmount | Router | +| `LengthMismatch()` | `0xff633a38` | | Router | +| `InputLengthMismatch()` | `0xaaad13f7` | | StableSurgePoolFactory | +| `MultipleNonZeroInputs()` | `0x6b8c3be5` | | StableSurgePoolFactory | +| `AllZeroInputs()` | `0x7e46bddc` | | StableSurgePoolFactory | +| `TokensNotSorted()` | `0x6e8f1947` | | StableSurgePoolFactory | +| `Create2InsufficientBalance(uint256,)` | `0x2174c919` | uint256 balance, uint256 needed | StableSurgePoolFactory | +| `Create2EmptyBytecode()` | `0x4ca249dc` | | StableSurgePoolFactory | +| `Create2FailedDeployment()` | `0x741752c2` | | StableSurgePoolFactory | +| `IndexOutOfBounds()` | `0x4e23d035` | | StableSurgePoolFactory | +| `Disabled()` | `0x75884cda` | | StableSurgePoolFactory | +| `StandardPoolWithCreator()` | `0x61ee1764` | | StableSurgePoolFactory | +| `PoolPauseWindowDurationOverflow()` | `0x68755a11` | | StableSurgePoolFactory | +| `CodeDeploymentFailed()` | `0xfef82207` | | StableSurgePoolFactory | +| `InvalidPercentage()` | `0x1f3b85d3` | | StableSurgePoolFactory | +| `PoolTotalSupplyTooLow(uint256)` | `0xd38d20fc` | uint256 totalSupply | VaultAdmin | +| `BalanceOverflow()` | `0x89560ca1` | | VaultAdmin | +| `CodecOverflow()` | `0xe4337c05` | | VaultAdmin | +| `InvariantRatioAboveMax(uint256,)` | `0xcaf4fc23` | uint256 invariantRatio, uint256 maxInvariantRatio | VaultExtension | +| `InvariantRatioBelowMin(uint256,)` | `0xfc71e4a1` | uint256 invariantRatio, uint256 minInvariantRatio | VaultExtension | +| `VaultAddressMismatch()` | `0xb4c1be7b` | | VaultFactory | +| `InvalidBytecode(string)` | `0xc7f4796e` | string contractName | VaultFactory | +| `VaultAlreadyDeployed(address)` | `0xe254a88b` | address vault | VaultFactory | +| `WrappedBPTAlreadyExists(address)` | `0x957f7dce` | address wrappedToken | WrappedBalancerPoolTokenFactory | +| `BalancerPoolTokenNotRegistered()` | `0x916f5d0e` | | WrappedBalancerPoolTokenFactory | From 93fbddab52d3357ccf541d659171c48acf2e18b1 Mon Sep 17 00:00:00 2001 From: mkflow27 Date: Thu, 12 Jun 2025 11:07:21 +0200 Subject: [PATCH 2/2] docs: update signature with deployment info --- .../contracts/error-signatures.md | 977 +++++++++++++----- 1 file changed, 719 insertions(+), 258 deletions(-) diff --git a/docs/developer-reference/contracts/error-signatures.md b/docs/developer-reference/contracts/error-signatures.md index 203fa8f..d8b63ce 100644 --- a/docs/developer-reference/contracts/error-signatures.md +++ b/docs/developer-reference/contracts/error-signatures.md @@ -6,261 +6,722 @@ order: 4 Catalogue for decoding custom error signatures into their associated error names -# Extracted Errors - -| Signature | Selector | Parameters | Contract | -| ------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------- | ------------------------------- | -| `SwapInsufficientPayment()` | `0xf70282c3` | | AggregatorRouter | -| `InconsistentState(string,)` | `0xa6e9b1ec` | string contractName, address contractAddress | BalancerContractRegistry | -| `NotStaticCall()` | `0x67f84ab2` | | CompositeLiquidityRouter | -| `ElementNotFound()` | `0x66af5392` | | CompositeLiquidityRouter | -| `WrongTokensOut(address[],)` | `0x9576d209` | address[] expectedTokensOut, address[] tokensOut | CompositeLiquidityRouter | -| `OrderNotValid(string)` | `0xc8fc2725` | string reason | CowSwapFeeBurner | -| `PollTryNextBlock(string)` | `0xd05f3065` | string reason | CowSwapFeeBurner | -| `PollTryAtBlock(uint256,)` | `0x40ab5b5b` | uint256 blockNumber, string reason | CowSwapFeeBurner | -| `PollTryAtEpoch(uint256,)` | `0xd87ea590` | uint256 timestamp, string reason | CowSwapFeeBurner | -| `PollNever(string)` | `0x981b64cd` | string reason | CowSwapFeeBurner | -| `InvalidOrderParameters(string)` | `0x8d8a6110` | string reason | CowSwapFeeBurner | -| `OrderHasUnexpectedStatus(OrderStatus)` | `0x3ba126d8` | OrderStatus actualStatus | CowSwapFeeBurner | -| `InterfaceIsSignatureVerifierMuxer()` | `0x32798566` | | CowSwapFeeBurner | -| `SupportsOnlyTwoTokens()` | `0x34e77320` | | GyroECLPPoolFactory | -| `InvalidTrustedRouter()` | `0x0307417b` | | LBPoolFactory | -| `InvalidOwner()` | `0x49e27cff` | | LBPoolFactory | -| `ContractAddressAlreadyRegistered(ContractType,)` | `0xef27fbb5` | ContractType contractType, address contractAddress | MevCaptureHook | -| `ContractNameAlreadyRegistered(ContractType,)` | `0xdecd1563` | ContractType contractType, string contractName | MevCaptureHook | -| `ContractNameInUseAsAlias(string,)` | `0xedcd5939` | string contractName, address contractAddress | MevCaptureHook | -| `ContractAliasInUseAsName(ContractType,)` | `0xc5949bff` | ContractType contractType, string contractName | MevCaptureHook | -| `ContractNameNotRegistered(string)` | `0xcd3599f9` | string contractName | MevCaptureHook | -| `ContractAddressNotRegistered(address)` | `0xf5b5d364` | address contractAddress | MevCaptureHook | -| `ContractAlreadyDeprecated(address)` | `0x1f118c35` | address contractAddress | MevCaptureHook | -| `ZeroContractAddress()` | `0xb4d92c53` | | MevCaptureHook | -| `InvalidContractName()` | `0x830c907e` | | MevCaptureHook | -| `InvalidContractAlias()` | `0x907f9fd9` | | MevCaptureHook | -| `InvalidBalancerContractRegistry()` | `0x5c84f39b` | | MevCaptureHook | -| `MevCaptureHookNotRegisteredInPool(address)` | `0x7501acd8` | address pool | MevCaptureHook | -| `MevSwapFeePercentageAboveMax(uint256,)` | `0x803c3422` | uint256 feePercentage, uint256 maxFeePercentage | MevCaptureHook | -| `MevTaxExemptSenderAlreadyAdded(address)` | `0x106fa5a4` | address sender | MevCaptureHook | -| `SenderNotRegisteredAsMevTaxExempt(address)` | `0x01147f3f` | address sender | MevCaptureHook | -| `MevCaptureHookNotRegisteredForPool(pool)` | `0x289d5eb6` | pool | MevCaptureHook | -| `SqrtParamsWrong()` | `0x0579e1da` | | MockGyro2CLPPool | -| `AssetBoundsExceeded()` | `0x03ba4186` | | MockGyroECLPPool | -| `RotationVectorSWrong()` | `0xa9587a74` | | MockGyroECLPPool | -| `RotationVectorCWrong()` | `0x658639aa` | | MockGyroECLPPool | -| `RotationVectorNotNormalized()` | `0xa26d8c2e` | | MockGyroECLPPool | -| `DerivedTauAlphaNotNormalized()` | `0xc196e496` | | MockGyroECLPPool | -| `DerivedTauBetaNotNormalized()` | `0x25bbd708` | | MockGyroECLPPool | -| `StretchingFactorWrong()` | `0x77dfa312` | | MockGyroECLPPool | -| `DerivedTauAlphaYWrong()` | `0xec13362c` | | MockGyroECLPPool | -| `DerivedTauBetaYWrong()` | `0xfa40768d` | | MockGyroECLPPool | -| `DerivedTauXWrong()` | `0x4071c5a8` | | MockGyroECLPPool | -| `DerivedUWrong()` | `0xf84d4b44` | | MockGyroECLPPool | -| `DerivedVWrong()` | `0xcfb498d5` | | MockGyroECLPPool | -| `DerivedWWrong()` | `0x83446b36` | | MockGyroECLPPool | -| `DerivedZWrong()` | `0x12e3e411` | | MockGyroECLPPool | -| `InvariantDenominatorWrong()` | `0xd1c17993` | | MockGyroECLPPool | -| `MaxAssetsExceeded()` | `0x2da2a5e5` | | MockGyroECLPPool | -| `MaxInvariantExceeded()` | `0xdc10196f` | | MockGyroECLPPool | -| `DerivedDsqWrong()` | `0xfb154af0` | | MockGyroECLPPool | -| `AddOverflow()` | `0xa7f965e3` | | MockGyroECLPPool | -| `SubOverflow()` | `0x8a5d6af4` | | MockGyroECLPPool | -| `MulOverflow()` | `0x0cde6c26` | | MockGyroECLPPool | -| `DivInterval()` | `0xe03f5d57` | | MockGyroECLPPool | -| `OwnableUnauthorizedAccount(address)` | `0x118cdaa7` | address account | MockLBPool | -| `OwnableInvalidOwner(address)` | `0x1e4fbdf7` | address owner | MockLBPool | -| `MaxOutRatio()` | `0x64590b9f` | | MockLBPool | -| `MaxInRatio()` | `0x340a4533` | | MockLBPool | -| `ZeroInvariant()` | `0x26543689` | | MockLBPool | -| `MinWeight()` | `0xbd393583` | | MockLBPool | -| `NormalizedWeightInvariant()` | `0x39cf114e` | | MockLBPool | -| `WeightedPoolBptRateUnsupported()` | `0x18e79a20` | | MockLBPool | -| `SwapsDisabled()` | `0xfdf79845` | | MockLBPool | -| `RemovingLiquidityNotAllowed()` | `0xf38b5770` | | MockLBPool | -| `AddingLiquidityNotAllowed()` | `0x3eee08c7` | | MockLBPool | -| `SwapOfProjectTokenIn()` | `0x1269438a` | | MockLBPool | -| `NotImplemented()` | `0xd6234725` | | MockLBPool | -| `GradualUpdateTimeTravel(uint256,)` | `0x9845c98f` | uint256 resolvedStartTime, uint256 endTime | MockLBPool | -| `OutOfBounds()` | `0xb4120f14` | | MockStablePool | -| `ZeroDivision()` | `0x0a0c22c7` | | MockStablePool | -| `BaseOutOfBounds()` | `0x022701e0` | | MockStablePool | -| `ExponentOutOfBounds()` | `0xd8317311` | | MockStablePool | -| `ProductOutOfBounds()` | `0xa2f9f7e3` | | MockStablePool | -| `InvalidExponent()` | `0xd4794efd` | | MockStablePool | -| `SafeCastOverflowedUintDowncast(uint8,)` | `0xf3fd8e96` | uint8 bits, uint256 value | MockStablePool | -| `SafeCastOverflowedIntToUint(int256)` | `0xa8ce4432` | int256 value | MockStablePool | -| `SafeCastOverflowedIntDowncast(uint8,)` | `0xfcaa9e1d` | uint8 bits, int256 value | MockStablePool | -| `SafeCastOverflowedUintToInt(uint256)` | `0x24775e06` | uint256 value | MockStablePool | -| `StableInvariantDidNotConverge()` | `0x010ca320` | | MockStablePool | -| `StableComputeBalanceDidNotConverge()` | `0xdcbda05c` | | MockStablePool | -| `AmplificationFactorTooLow()` | `0xab923323` | | MockStablePool | -| `AmplificationFactorTooHigh()` | `0x9b80d390` | | MockStablePool | -| `AmpUpdateDurationTooShort()` | `0xcd6b022a` | | MockStablePool | -| `AmpUpdateRateTooFast()` | `0x1c708b92` | | MockStablePool | -| `AmpUpdateAlreadyStarted()` | `0x2f301e7e` | | MockStablePool | -| `AmpUpdateNotStarted()` | `0x4673a675` | | MockStablePool | -| `VaultNotSet()` | `0xc8e28160` | | MockStablePool | -| `SenderNotAllowed()` | `0x23dada53` | | MockWrappedBalancerPoolToken | -| `ProtocolSwapFeePercentageTooHigh()` | `0x7e6eb7fb` | | MockWrappedBalancerPoolToken | -| `ProtocolYieldFeePercentageTooHigh()` | `0xa7849e8e` | | MockWrappedBalancerPoolToken | -| `PoolCreatorNotRegistered(address)` | `0x8bcbf353` | address pool | MockWrappedBalancerPoolToken | -| `CallerIsNotPoolCreator(address,)` | `0xa4c7f8b0` | address caller, address pool | MockWrappedBalancerPoolToken | -| `PoolCreatorFeePercentageTooHigh()` | `0x0370da74` | | MockWrappedBalancerPoolToken | -| `PoolAlreadyRegistered(address)` | `0xdb771c80` | address pool | MockWrappedBalancerPoolToken | -| `PoolAlreadyInitialized(address)` | `0x218e3747` | address pool | MockWrappedBalancerPoolToken | -| `PoolNotRegistered(address)` | `0x9e51bd5c` | address pool | MockWrappedBalancerPoolToken | -| `PoolNotInitialized(address)` | `0x4bdace13` | address pool | MockWrappedBalancerPoolToken | -| `HookRegistrationFailed(address,,)` | `0x55d8ee18` | address poolHooksContract, address pool, address poolFactory | MockWrappedBalancerPoolToken | -| `TokenAlreadyRegistered(IERC20)` | `0xcbc7ea2c` | IERC20 token | MockWrappedBalancerPoolToken | -| `MinTokens()` | `0x5ed4ba8f` | | MockWrappedBalancerPoolToken | -| `MaxTokens()` | `0x707bdf58` | | MockWrappedBalancerPoolToken | -| `InvalidToken()` | `0xc1ab6dc1` | | MockWrappedBalancerPoolToken | -| `InvalidTokenType()` | `0xa1e9dd9d` | | MockWrappedBalancerPoolToken | -| `InvalidTokenConfiguration()` | `0xdf450632` | | MockWrappedBalancerPoolToken | -| `InvalidTokenDecimals()` | `0x686d3607` | | MockWrappedBalancerPoolToken | -| `TokensMismatch(address,,)` | `0x21e13332` | address pool, address expectedToken, address actualToken | MockWrappedBalancerPoolToken | -| `BalanceNotSettled()` | `0x20f1d86d` | | MockWrappedBalancerPoolToken | -| `VaultIsNotUnlocked()` | `0xc09ba736` | | MockWrappedBalancerPoolToken | -| `DynamicSwapFeeHookFailed()` | `0x53f976d4` | | MockWrappedBalancerPoolToken | -| `BeforeSwapHookFailed()` | `0xe91e17e7` | | MockWrappedBalancerPoolToken | -| `AfterSwapHookFailed()` | `0x15a29dec` | | MockWrappedBalancerPoolToken | -| `BeforeInitializeHookFailed()` | `0x60612925` | | MockWrappedBalancerPoolToken | -| `AfterInitializeHookFailed()` | `0x0f23dbc6` | | MockWrappedBalancerPoolToken | -| `BeforeAddLiquidityHookFailed()` | `0x0b2eb652` | | MockWrappedBalancerPoolToken | -| `AfterAddLiquidityHookFailed()` | `0xe1249165` | | MockWrappedBalancerPoolToken | -| `BeforeRemoveLiquidityHookFailed()` | `0x2aaf8866` | | MockWrappedBalancerPoolToken | -| `AfterRemoveLiquidityHookFailed()` | `0x1d3391d8` | | MockWrappedBalancerPoolToken | -| `RouterNotTrusted()` | `0xe5d185cf` | | MockWrappedBalancerPoolToken | -| `AmountGivenZero()` | `0x57a456b7` | | MockWrappedBalancerPoolToken | -| `CannotSwapSameToken()` | `0xa54b181d` | | MockWrappedBalancerPoolToken | -| `TokenNotRegistered(IERC20)` | `0x59674a0c` | IERC20 token | MockWrappedBalancerPoolToken | -| `SwapLimit(uint256,)` | `0xf5834282` | uint256 amount, uint256 limit | MockWrappedBalancerPoolToken | -| `HookAdjustedSwapLimit(uint256,)` | `0xd2bc61be` | uint256 amount, uint256 limit | MockWrappedBalancerPoolToken | -| `TradeAmountTooSmall()` | `0x1ed4d118` | | MockWrappedBalancerPoolToken | -| `InvalidAddLiquidityKind()` | `0x6c02b395` | | MockWrappedBalancerPoolToken | -| `AmountInAboveMax(IERC20,,)` | `0xbbf5adfb` | IERC20 tokenIn, uint256 amountIn, uint256 maxAmountIn | MockWrappedBalancerPoolToken | -| `HookAdjustedAmountInAboveMax(IERC20,,)` | `0x4121da70` | IERC20 tokenIn, uint256 amountIn, uint256 maxAmountIn | MockWrappedBalancerPoolToken | -| `BptAmountOutBelowMin(uint256,)` | `0xf9ee35ac` | uint256 amountOut, uint256 minAmountOut | MockWrappedBalancerPoolToken | -| `DoesNotSupportAddLiquidityCustom()` | `0x4876c0bc` | | MockWrappedBalancerPoolToken | -| `DoesNotSupportDonation()` | `0xefe0265d` | | MockWrappedBalancerPoolToken | -| `InvalidRemoveLiquidityKind()` | `0x137a9a39` | | MockWrappedBalancerPoolToken | -| `AmountOutBelowMin(IERC20,,)` | `0xf22ae62c` | IERC20 tokenOut, uint256 amountOut, uint256 minAmountOut | MockWrappedBalancerPoolToken | -| `HookAdjustedAmountOutBelowMin(IERC20,,)` | `0x7d8a66e4` | IERC20 tokenOut, uint256 amountOut, uint256 minAmountOut | MockWrappedBalancerPoolToken | -| `BptAmountInAboveMax(uint256,)` | `0xf1b8af4d` | uint256 amountIn, uint256 maxAmountIn | MockWrappedBalancerPoolToken | -| `DoesNotSupportRemoveLiquidityCustom()` | `0xcf0a95c0` | | MockWrappedBalancerPoolToken | -| `ProtocolFeesExceedTotalCollected()` | `0x4c69ac5d` | | MockWrappedBalancerPoolToken | -| `SwapFeePercentageTooLow()` | `0xbfb20688` | | MockWrappedBalancerPoolToken | -| `SwapFeePercentageTooHigh()` | `0x7f47834b` | | MockWrappedBalancerPoolToken | -| `FeePrecisionTooHigh()` | `0x833fb3ce` | | MockWrappedBalancerPoolToken | -| `PercentageAboveMax()` | `0x746e5940` | | MockWrappedBalancerPoolToken | -| `QueriesDisabled()` | `0x7a198886` | | MockWrappedBalancerPoolToken | -| `QueriesDisabledPermanently()` | `0x069f8cbc` | | MockWrappedBalancerPoolToken | -| `PoolInRecoveryMode(address)` | `0x346d7607` | address pool | MockWrappedBalancerPoolToken | -| `PoolNotInRecoveryMode(address)` | `0xef029adf` | address pool | MockWrappedBalancerPoolToken | -| `SenderIsNotVault(address)` | `0x089676d5` | address sender | MockWrappedBalancerPoolToken | -| `VaultPauseWindowDurationTooLarge()` | `0xcc0e8fe5` | | MockWrappedBalancerPoolToken | -| `PauseBufferPeriodDurationTooLarge()` | `0x9ea4efee` | | MockWrappedBalancerPoolToken | -| `VaultPaused()` | `0xda9f8b34` | | MockWrappedBalancerPoolToken | -| `VaultNotPaused()` | `0xf7ff4dca` | | MockWrappedBalancerPoolToken | -| `VaultPauseWindowExpired()` | `0x0e4460b7` | | MockWrappedBalancerPoolToken | -| `PoolPaused(address)` | `0xd971f597` | address pool | MockWrappedBalancerPoolToken | -| `PoolNotPaused(address)` | `0xfdcd6894` | address pool | MockWrappedBalancerPoolToken | -| `PoolPauseWindowExpired(address)` | `0xeb5a1217` | address pool | MockWrappedBalancerPoolToken | -| `BufferAlreadyInitialized(IERC4626)` | `0xee44489a` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | -| `BufferNotInitialized(IERC4626)` | `0x92998560` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | -| `NotEnoughBufferShares()` | `0x98c5dbd6` | | MockWrappedBalancerPoolToken | -| `WrongUnderlyingToken(IERC4626,)` | `0xb7b30c89` | IERC4626 wrappedToken, address underlyingToken | MockWrappedBalancerPoolToken | -| `InvalidUnderlyingToken(IERC4626)` | `0x4c089bd4` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | -| `WrapAmountTooSmall(IERC4626)` | `0x1a53f97f` | IERC4626 wrappedToken | MockWrappedBalancerPoolToken | -| `VaultBuffersArePaused()` | `0x0f27df09` | | MockWrappedBalancerPoolToken | -| `BufferSharesInvalidReceiver()` | `0xdbe6b10e` | | MockWrappedBalancerPoolToken | -| `BufferSharesInvalidOwner()` | `0x586d06df` | | MockWrappedBalancerPoolToken | -| `BufferTotalSupplyTooLow(uint256)` | `0x34bdbfaa` | uint256 totalSupply | MockWrappedBalancerPoolToken | -| `NotEnoughUnderlying(IERC4626,,)` | `0x6135b79b` | IERC4626 wrappedToken, uint256 expectedUnderlyingAmount, uint256 actualUnderlyingAmount | MockWrappedBalancerPoolToken | -| `NotEnoughWrapped(IERC4626,,)` | `0x4d3a6ff3` | IERC4626 wrappedToken, uint256 expectedWrappedAmount, uint256 actualWrappedAmount | MockWrappedBalancerPoolToken | -| `IssuedSharesBelowMin(uint256,)` | `0x2b557e52` | uint256 issuedShares, uint256 minIssuedShares | MockWrappedBalancerPoolToken | -| `DoesNotSupportUnbalancedLiquidity()` | `0xd4f5779c` | | MockWrappedBalancerPoolToken | -| `CannotReceiveEth()` | `0xf2238896` | | MockWrappedBalancerPoolToken | -| `NotVaultDelegateCall()` | `0x9fd25b36` | | MockWrappedBalancerPoolToken | -| `WrongVaultExtensionDeployment()` | `0x1ab9d9d0` | | MockWrappedBalancerPoolToken | -| `WrongProtocolFeeControllerDeployment()` | `0x1bbe95c7` | | MockWrappedBalancerPoolToken | -| `WrongVaultAdminDeployment()` | `0x82cc28b6` | | MockWrappedBalancerPoolToken | -| `QuoteResultSpoofed()` | `0x28f95541` | | MockWrappedBalancerPoolToken | -| `ERC20InsufficientBalance(address,,)` | `0x46b62d07` | address sender, uint256 balance, uint256 needed | MockWrappedBalancerPoolToken | -| `ERC20InvalidSender(address)` | `0x96c6fd1e` | address sender | MockWrappedBalancerPoolToken | -| `ERC20InvalidReceiver(address)` | `0xec442f05` | address receiver | MockWrappedBalancerPoolToken | -| `ERC20InsufficientAllowance(address,,)` | `0x19c4e051` | address spender, uint256 allowance, uint256 needed | MockWrappedBalancerPoolToken | -| `ERC20InvalidApprover(address)` | `0xe602df05` | address approver | MockWrappedBalancerPoolToken | -| `ERC20InvalidSpender(address)` | `0x94280d62` | address spender | MockWrappedBalancerPoolToken | -| `ERC721InvalidOwner(address)` | `0x89c62b64` | address owner | MockWrappedBalancerPoolToken | -| `ERC721NonexistentToken(uint256)` | `0x7e273289` | uint256 tokenId | MockWrappedBalancerPoolToken | -| `ERC721IncorrectOwner(address,,)` | `0x1fd83a0b` | address sender, uint256 tokenId, address owner | MockWrappedBalancerPoolToken | -| `ERC721InvalidSender(address)` | `0x73c6ac6e` | address sender | MockWrappedBalancerPoolToken | -| `ERC721InvalidReceiver(address)` | `0x64a0ae92` | address receiver | MockWrappedBalancerPoolToken | -| `ERC721InsufficientApproval(address,)` | `0xc5c75308` | address operator, uint256 tokenId | MockWrappedBalancerPoolToken | -| `ERC721InvalidApprover(address)` | `0xa9fbf51f` | address approver | MockWrappedBalancerPoolToken | -| `ERC721InvalidOperator(address)` | `0x5b08ba18` | address operator | MockWrappedBalancerPoolToken | -| `ERC1155InsufficientBalance(address,,,)` | `0x629a1555` | address sender, uint256 balance, uint256 needed, uint256 tokenId | MockWrappedBalancerPoolToken | -| `ERC1155InvalidSender(address)` | `0x01a83514` | address sender | MockWrappedBalancerPoolToken | -| `ERC1155InvalidReceiver(address)` | `0x57f447ce` | address receiver | MockWrappedBalancerPoolToken | -| `ERC1155MissingApprovalForAll(address,)` | `0x0c8eb49c` | address operator, address owner | MockWrappedBalancerPoolToken | -| `ERC1155InvalidApprover(address)` | `0x3e31884e` | address approver | MockWrappedBalancerPoolToken | -| `ERC1155InvalidOperator(address)` | `0xced3e100` | address operator | MockWrappedBalancerPoolToken | -| `ERC1155InvalidArrayLength(uint256,)` | `0xa2201a5e` | uint256 idsLength, uint256 valuesLength | MockWrappedBalancerPoolToken | -| `SafeERC20FailedOperation(address)` | `0x5274afe7` | address token | MockWrappedBalancerPoolToken | -| `SafeERC20FailedDecreaseAllowance(address,,)` | `0xadfaa852` | address spender, uint256 currentAllowance, uint256 requestedDecrease | MockWrappedBalancerPoolToken | -| `AddressInsufficientBalance(address)` | `0xcd786059` | address account | MockWrappedBalancerPoolToken | -| `AddressEmptyCode(address)` | `0x9996b315` | address target | MockWrappedBalancerPoolToken | -| `FailedInnerCall()` | `0x1425ea42` | | MockWrappedBalancerPoolToken | -| `ECDSAInvalidSignature()` | `0xf645eedf` | | MockWrappedBalancerPoolToken | -| `ECDSAInvalidSignatureLength(uint256)` | `0xfce698f7` | uint256 length | MockWrappedBalancerPoolToken | -| `ECDSAInvalidSignatureS(bytes32)` | `0xd78bce0c` | bytes32 s | MockWrappedBalancerPoolToken | -| `MathOverflowedMulDiv()` | `0x227bc153` | | MockWrappedBalancerPoolToken | -| `InvalidAccountNonce(address,)` | `0x8361cddf` | address account, uint256 currentNonce | MockWrappedBalancerPoolToken | -| `StringTooLong(string)` | `0x305a27a9` | string str | MockWrappedBalancerPoolToken | -| `InvalidShortString()` | `0xb3512b0c` | | MockWrappedBalancerPoolToken | -| `StringsInsufficientHexLength(uint256,)` | `0x6a76f42b` | uint256 value, uint256 length | MockWrappedBalancerPoolToken | -| `ERC2612ExpiredSignature(uint256)` | `0x62791302` | uint256 deadline | MockWrappedBalancerPoolToken | -| `ERC2612InvalidSigner(address,)` | `0x6d795e03` | address signer, address owner | MockWrappedBalancerPoolToken | -| `VaultIsUnlocked()` | `0xbe18e309` | | MockWrappedBalancerPoolToken | -| `InvalidMigrationSource()` | `0xb82fd5bf` | | ProtocolFeeController | -| `InvalidFeeRecipient()` | `0x768dc598` | | ProtocolFeeSweeper | -| `InvalidTargetToken()` | `0x8562eb45` | | ProtocolFeeSweeper | -| `InvalidProtocolFeeBurner()` | `0x31ec2736` | | ProtocolFeeSweeper | -| `UnsupportedProtocolFeeBurner(address)` | `0x38553f6c` | address protocolFeeBurner | ProtocolFeeSweeper | -| `ProtocolFeeBurnerAlreadyAdded(address)` | `0x6fe47af6` | address protocolFeeBurner | ProtocolFeeSweeper | -| `ProtocolFeeBurnerNotAdded(address)` | `0xbca5ab34` | address protocolFeeBurner | ProtocolFeeSweeper | -| `BurnerDidNotConsumeAllowance()` | `0xc5bc8d51` | | ProtocolFeeSweeper | -| `Result(bytes)` | `0x5ab64fb8` | bytes result | Router | -| `ErrorSelectorNotFound()` | `0xa7285689` | | Router | -| `TransientIndexOutOfBounds()` | `0x0f4ae0e4` | | Router | -| `ReentrancyGuardReentrantCall()` | `0x3ee5aeb5` | | Router | -| `EthTransfer()` | `0x0540ddf6` | | Router | -| `InsufficientEth()` | `0xa01a9df6` | | Router | -| `SwapDeadline()` | `0xe08b8af0` | | Router | -| `AllowanceExpired(uint256)` | `0xd81b2f2e` | uint256 deadline | Router | -| `InsufficientAllowance(uint256)` | `0xf96fb071` | uint256 amount | Router | -| `ExcessiveInvalidation()` | `0x24d35a26` | | Router | -| `InvalidAmount(uint256)` | `0x3728b83d` | uint256 maxAmount | Router | -| `LengthMismatch()` | `0xff633a38` | | Router | -| `InputLengthMismatch()` | `0xaaad13f7` | | StableSurgePoolFactory | -| `MultipleNonZeroInputs()` | `0x6b8c3be5` | | StableSurgePoolFactory | -| `AllZeroInputs()` | `0x7e46bddc` | | StableSurgePoolFactory | -| `TokensNotSorted()` | `0x6e8f1947` | | StableSurgePoolFactory | -| `Create2InsufficientBalance(uint256,)` | `0x2174c919` | uint256 balance, uint256 needed | StableSurgePoolFactory | -| `Create2EmptyBytecode()` | `0x4ca249dc` | | StableSurgePoolFactory | -| `Create2FailedDeployment()` | `0x741752c2` | | StableSurgePoolFactory | -| `IndexOutOfBounds()` | `0x4e23d035` | | StableSurgePoolFactory | -| `Disabled()` | `0x75884cda` | | StableSurgePoolFactory | -| `StandardPoolWithCreator()` | `0x61ee1764` | | StableSurgePoolFactory | -| `PoolPauseWindowDurationOverflow()` | `0x68755a11` | | StableSurgePoolFactory | -| `CodeDeploymentFailed()` | `0xfef82207` | | StableSurgePoolFactory | -| `InvalidPercentage()` | `0x1f3b85d3` | | StableSurgePoolFactory | -| `PoolTotalSupplyTooLow(uint256)` | `0xd38d20fc` | uint256 totalSupply | VaultAdmin | -| `BalanceOverflow()` | `0x89560ca1` | | VaultAdmin | -| `CodecOverflow()` | `0xe4337c05` | | VaultAdmin | -| `InvariantRatioAboveMax(uint256,)` | `0xcaf4fc23` | uint256 invariantRatio, uint256 maxInvariantRatio | VaultExtension | -| `InvariantRatioBelowMin(uint256,)` | `0xfc71e4a1` | uint256 invariantRatio, uint256 minInvariantRatio | VaultExtension | -| `VaultAddressMismatch()` | `0xb4c1be7b` | | VaultFactory | -| `InvalidBytecode(string)` | `0xc7f4796e` | string contractName | VaultFactory | -| `VaultAlreadyDeployed(address)` | `0xe254a88b` | address vault | VaultFactory | -| `WrappedBPTAlreadyExists(address)` | `0x957f7dce` | address wrappedToken | WrappedBalancerPoolTokenFactory | -| `BalancerPoolTokenNotRegistered()` | `0x916f5d0e` | | WrappedBalancerPoolTokenFactory | +## Vault + +| Error Name | Inputs | Error Signature | +| ------------------------------------ | -------------------------------------------------------------------------------------- | --------------- | +| AddressEmptyCode | address target | `0x9996b315` | +| AddressInsufficientBalance | address account | `0xcd786059` | +| AfterAddLiquidityHookFailed | | `0xe1249165` | +| AfterInitializeHookFailed | | `0x0f23dbc6` | +| AfterRemoveLiquidityHookFailed | | `0x1d3391d8` | +| AfterSwapHookFailed | | `0x15a29dec` | +| AllZeroInputs | | `0x7e46bddc` | +| AmountGivenZero | | `0x57a456b7` | +| AmountInAboveMax | address tokenIn, uint256 amountIn, uint256 maxAmountIn | `0x8eda85e4` | +| AmountOutBelowMin | address tokenOut, uint256 amountOut, uint256 minAmountOut | `0x2f785e46` | +| BalanceNotSettled | | `0x20f1d86d` | +| BalanceOverflow | | `0x89560ca1` | +| BeforeAddLiquidityHookFailed | | `0x0b2eb652` | +| BeforeInitializeHookFailed | | `0x60612925` | +| BeforeRemoveLiquidityHookFailed | | `0x2aaf8866` | +| BeforeSwapHookFailed | | `0xe91e17e7` | +| BptAmountInAboveMax | uint256 amountIn, uint256 maxAmountIn | `0x31d38e0b` | +| BptAmountOutBelowMin | uint256 amountOut, uint256 minAmountOut | `0x8d261d5d` | +| BufferAlreadyInitialized | address wrappedToken | `0x1690fa40` | +| BufferNotInitialized | address wrappedToken | `0x85f41299` | +| BufferSharesInvalidOwner | | `0x586d06df` | +| BufferSharesInvalidReceiver | | `0xdbe6b10e` | +| BufferTotalSupplyTooLow | uint256 totalSupply | `0x34bdbfaa` | +| CannotReceiveEth | | `0xf2238896` | +| CannotSwapSameToken | | `0xa54b181d` | +| DoesNotSupportAddLiquidityCustom | | `0x4876c0bc` | +| DoesNotSupportDonation | | `0xefe0265d` | +| DoesNotSupportRemoveLiquidityCustom | | `0xcf0a95c0` | +| DoesNotSupportUnbalancedLiquidity | | `0xd4f5779c` | +| DynamicSwapFeeHookFailed | | `0x53f976d4` | +| ERC20InsufficientAllowance | address spender, uint256 allowance, uint256 needed | `0xfb8f41b2` | +| ERC20InsufficientBalance | address sender, uint256 balance, uint256 needed | `0xe450d38c` | +| ERC20InvalidApprover | address approver | `0xe602df05` | +| ERC20InvalidReceiver | address receiver | `0xec442f05` | +| ERC20InvalidSender | address sender | `0x96c6fd1e` | +| ERC20InvalidSpender | address spender | `0x94280d62` | +| FailedInnerCall | | `0x1425ea42` | +| FeePrecisionTooHigh | | `0x833fb3ce` | +| HookAdjustedAmountInAboveMax | address tokenIn, uint256 amountIn, uint256 maxAmountIn | `0xcefa3afa` | +| HookAdjustedAmountOutBelowMin | address tokenOut, uint256 amountOut, uint256 minAmountOut | `0xfbd8a724` | +| HookAdjustedSwapLimit | uint256 amount, uint256 limit | `0xcc0e4a99` | +| HookRegistrationFailed | address poolHooksContract, address pool, address poolFactory | `0xfa93d814` | +| InputLengthMismatch | | `0xaaad13f7` | +| InvalidAddLiquidityKind | | `0x6c02b395` | +| InvalidRemoveLiquidityKind | | `0x137a9a39` | +| InvalidToken | | `0xc1ab6dc1` | +| InvalidTokenConfiguration | | `0xdf450632` | +| InvalidTokenDecimals | | `0x686d3607` | +| InvalidTokenType | | `0xa1e9dd9d` | +| InvalidUnderlyingToken | address wrappedToken | `0xd407f9c5` | +| InvariantRatioAboveMax | uint256 invariantRatio, uint256 maxInvariantRatio | `0x3e8960dc` | +| InvariantRatioBelowMin | uint256 invariantRatio, uint256 minInvariantRatio | `0xe31c95be` | +| IssuedSharesBelowMin | uint256 issuedShares, uint256 minIssuedShares | `0xda0cb07e` | +| MaxTokens | | `0x707bdf58` | +| MinTokens | | `0x5ed4ba8f` | +| MultipleNonZeroInputs | | `0x6b8c3be5` | +| NotEnoughBufferShares | | `0x98c5dbd6` | +| NotEnoughUnderlying | address wrappedToken, uint256 expectedUnderlyingAmount, uint256 actualUnderlyingAmount | `0x1c6a5375` | +| NotEnoughWrapped | address wrappedToken, uint256 expectedWrappedAmount, uint256 actualWrappedAmount | `0x1149424d` | +| NotStaticCall | | `0x67f84ab2` | +| NotVaultDelegateCall | | `0x9fd25b36` | +| PauseBufferPeriodDurationTooLarge | | `0x9ea4efee` | +| PercentageAboveMax | | `0x746e5940` | +| PoolAlreadyInitialized | address pool | `0x218e3747` | +| PoolAlreadyRegistered | address pool | `0xdb771c80` | +| PoolInRecoveryMode | address pool | `0x346d7607` | +| PoolNotInRecoveryMode | address pool | `0xef029adf` | +| PoolNotInitialized | address pool | `0x4bdace13` | +| PoolNotPaused | address pool | `0xfdcd6894` | +| PoolNotRegistered | address pool | `0x9e51bd5c` | +| PoolPauseWindowExpired | address pool | `0xeb5a1217` | +| PoolPaused | address pool | `0xd971f597` | +| PoolTotalSupplyTooLow | uint256 totalSupply | `0xd38d20fc` | +| ProtocolFeesExceedTotalCollected | | `0x4c69ac5d` | +| QueriesDisabled | | `0x7a198886` | +| QueriesDisabledPermanently | | `0x069f8cbc` | +| QuoteResultSpoofed | | `0x28f95541` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| RouterNotTrusted | | `0xe5d185cf` | +| SafeCastOverflowedIntToUint | int256 value | `0xa8ce4432` | +| SafeCastOverflowedUintToInt | uint256 value | `0x24775e06` | +| SafeERC20FailedOperation | address token | `0x5274afe7` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SwapFeePercentageTooHigh | | `0x7f47834b` | +| SwapFeePercentageTooLow | | `0xbfb20688` | +| SwapLimit | uint256 amount, uint256 limit | `0xe2ea151b` | +| TokenAlreadyRegistered | address token | `0x4f4b634e` | +| TokenNotRegistered | address token | `0xddef98d7` | +| TokensMismatch | address pool, address expectedToken, address actualToken | `0xffe261a1` | +| TradeAmountTooSmall | | `0x1ed4d118` | +| VaultBuffersArePaused | | `0x0f27df09` | +| VaultIsNotUnlocked | | `0xc09ba736` | +| VaultNotPaused | | `0xf7ff4dca` | +| VaultPauseWindowDurationTooLarge | | `0xcc0e8fe5` | +| VaultPauseWindowExpired | | `0x0e4460b7` | +| VaultPaused | | `0xda9f8b34` | +| WrapAmountTooSmall | address wrappedToken | `0x18fe7385` | +| WrongProtocolFeeControllerDeployment | | `0x1bbe95c7` | +| WrongUnderlyingToken | address wrappedToken, address underlyingToken | `0x36b18d09` | +| WrongVaultAdminDeployment | | `0x82cc28b6` | +| WrongVaultExtensionDeployment | | `0x1ab9d9d0` | +| ZeroDivision | | `0x0a0c22c7` | + +## VaultAdmin + +| Error Name | Inputs | Error Signature | +| ------------------------------------ | -------------------------------------------------------------------------------------- | --------------- | +| AfterAddLiquidityHookFailed | | `0xe1249165` | +| AfterInitializeHookFailed | | `0x0f23dbc6` | +| AfterRemoveLiquidityHookFailed | | `0x1d3391d8` | +| AfterSwapHookFailed | | `0x15a29dec` | +| AmountGivenZero | | `0x57a456b7` | +| AmountInAboveMax | address tokenIn, uint256 amountIn, uint256 maxAmountIn | `0x8eda85e4` | +| AmountOutBelowMin | address tokenOut, uint256 amountOut, uint256 minAmountOut | `0x2f785e46` | +| BalanceNotSettled | | `0x20f1d86d` | +| BalanceOverflow | | `0x89560ca1` | +| BeforeAddLiquidityHookFailed | | `0x0b2eb652` | +| BeforeInitializeHookFailed | | `0x60612925` | +| BeforeRemoveLiquidityHookFailed | | `0x2aaf8866` | +| BeforeSwapHookFailed | | `0xe91e17e7` | +| BptAmountInAboveMax | uint256 amountIn, uint256 maxAmountIn | `0x31d38e0b` | +| BptAmountOutBelowMin | uint256 amountOut, uint256 minAmountOut | `0x8d261d5d` | +| BufferAlreadyInitialized | address wrappedToken | `0x1690fa40` | +| BufferNotInitialized | address wrappedToken | `0x85f41299` | +| BufferSharesInvalidOwner | | `0x586d06df` | +| BufferSharesInvalidReceiver | | `0xdbe6b10e` | +| BufferTotalSupplyTooLow | uint256 totalSupply | `0x34bdbfaa` | +| CannotReceiveEth | | `0xf2238896` | +| CannotSwapSameToken | | `0xa54b181d` | +| CodecOverflow | | `0xe4337c05` | +| DoesNotSupportAddLiquidityCustom | | `0x4876c0bc` | +| DoesNotSupportDonation | | `0xefe0265d` | +| DoesNotSupportRemoveLiquidityCustom | | `0xcf0a95c0` | +| DoesNotSupportUnbalancedLiquidity | | `0xd4f5779c` | +| DynamicSwapFeeHookFailed | | `0x53f976d4` | +| ERC20InsufficientAllowance | address spender, uint256 allowance, uint256 needed | `0xfb8f41b2` | +| ERC20InsufficientBalance | address sender, uint256 balance, uint256 needed | `0xe450d38c` | +| ERC20InvalidApprover | address approver | `0xe602df05` | +| ERC20InvalidReceiver | address receiver | `0xec442f05` | +| ERC20InvalidSender | address sender | `0x96c6fd1e` | +| ERC20InvalidSpender | address spender | `0x94280d62` | +| FeePrecisionTooHigh | | `0x833fb3ce` | +| HookAdjustedAmountInAboveMax | address tokenIn, uint256 amountIn, uint256 maxAmountIn | `0xcefa3afa` | +| HookAdjustedAmountOutBelowMin | address tokenOut, uint256 amountOut, uint256 minAmountOut | `0xfbd8a724` | +| HookAdjustedSwapLimit | uint256 amount, uint256 limit | `0xcc0e4a99` | +| HookRegistrationFailed | address poolHooksContract, address pool, address poolFactory | `0xfa93d814` | +| InvalidAddLiquidityKind | | `0x6c02b395` | +| InvalidRemoveLiquidityKind | | `0x137a9a39` | +| InvalidToken | | `0xc1ab6dc1` | +| InvalidTokenConfiguration | | `0xdf450632` | +| InvalidTokenDecimals | | `0x686d3607` | +| InvalidTokenType | | `0xa1e9dd9d` | +| InvalidUnderlyingToken | address wrappedToken | `0xd407f9c5` | +| IssuedSharesBelowMin | uint256 issuedShares, uint256 minIssuedShares | `0xda0cb07e` | +| MaxTokens | | `0x707bdf58` | +| MinTokens | | `0x5ed4ba8f` | +| NotEnoughBufferShares | | `0x98c5dbd6` | +| NotEnoughUnderlying | address wrappedToken, uint256 expectedUnderlyingAmount, uint256 actualUnderlyingAmount | `0x1c6a5375` | +| NotEnoughWrapped | address wrappedToken, uint256 expectedWrappedAmount, uint256 actualWrappedAmount | `0x1149424d` | +| NotStaticCall | | `0x67f84ab2` | +| NotVaultDelegateCall | | `0x9fd25b36` | +| OutOfBounds | | `0xb4120f14` | +| PauseBufferPeriodDurationTooLarge | | `0x9ea4efee` | +| PercentageAboveMax | | `0x746e5940` | +| PoolAlreadyInitialized | address pool | `0x218e3747` | +| PoolAlreadyRegistered | address pool | `0xdb771c80` | +| PoolInRecoveryMode | address pool | `0x346d7607` | +| PoolNotInRecoveryMode | address pool | `0xef029adf` | +| PoolNotInitialized | address pool | `0x4bdace13` | +| PoolNotPaused | address pool | `0xfdcd6894` | +| PoolNotRegistered | address pool | `0x9e51bd5c` | +| PoolPauseWindowExpired | address pool | `0xeb5a1217` | +| PoolPaused | address pool | `0xd971f597` | +| PoolTotalSupplyTooLow | uint256 totalSupply | `0xd38d20fc` | +| ProtocolFeesExceedTotalCollected | | `0x4c69ac5d` | +| QueriesDisabled | | `0x7a198886` | +| QueriesDisabledPermanently | | `0x069f8cbc` | +| QuoteResultSpoofed | | `0x28f95541` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| RouterNotTrusted | | `0xe5d185cf` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SafeCastOverflowedUintToInt | uint256 value | `0x24775e06` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SenderNotAllowed | | `0x23dada53` | +| SwapFeePercentageTooHigh | | `0x7f47834b` | +| SwapFeePercentageTooLow | | `0xbfb20688` | +| SwapLimit | uint256 amount, uint256 limit | `0xe2ea151b` | +| TokenAlreadyRegistered | address token | `0x4f4b634e` | +| TokenNotRegistered | address token | `0xddef98d7` | +| TokensMismatch | address pool, address expectedToken, address actualToken | `0xffe261a1` | +| TradeAmountTooSmall | | `0x1ed4d118` | +| VaultBuffersArePaused | | `0x0f27df09` | +| VaultIsNotUnlocked | | `0xc09ba736` | +| VaultNotPaused | | `0xf7ff4dca` | +| VaultPauseWindowDurationTooLarge | | `0xcc0e8fe5` | +| VaultPauseWindowExpired | | `0x0e4460b7` | +| VaultPaused | | `0xda9f8b34` | +| WrapAmountTooSmall | address wrappedToken | `0x18fe7385` | +| WrongProtocolFeeControllerDeployment | | `0x1bbe95c7` | +| WrongUnderlyingToken | address wrappedToken, address underlyingToken | `0x36b18d09` | +| WrongVaultAdminDeployment | | `0x82cc28b6` | +| WrongVaultExtensionDeployment | | `0x1ab9d9d0` | +| ZeroDivision | | `0x0a0c22c7` | + +## VaultExtension + +| Error Name | Inputs | Error Signature | +| ------------------------------------ | -------------------------------------------------------------------------------------- | --------------- | +| AddressEmptyCode | address target | `0x9996b315` | +| AddressInsufficientBalance | address account | `0xcd786059` | +| AfterAddLiquidityHookFailed | | `0xe1249165` | +| AfterInitializeHookFailed | | `0x0f23dbc6` | +| AfterRemoveLiquidityHookFailed | | `0x1d3391d8` | +| AfterSwapHookFailed | | `0x15a29dec` | +| AmountGivenZero | | `0x57a456b7` | +| AmountInAboveMax | address tokenIn, uint256 amountIn, uint256 maxAmountIn | `0x8eda85e4` | +| AmountOutBelowMin | address tokenOut, uint256 amountOut, uint256 minAmountOut | `0x2f785e46` | +| BalanceNotSettled | | `0x20f1d86d` | +| BalanceOverflow | | `0x89560ca1` | +| BeforeAddLiquidityHookFailed | | `0x0b2eb652` | +| BeforeInitializeHookFailed | | `0x60612925` | +| BeforeRemoveLiquidityHookFailed | | `0x2aaf8866` | +| BeforeSwapHookFailed | | `0xe91e17e7` | +| BptAmountInAboveMax | uint256 amountIn, uint256 maxAmountIn | `0x31d38e0b` | +| BptAmountOutBelowMin | uint256 amountOut, uint256 minAmountOut | `0x8d261d5d` | +| BufferAlreadyInitialized | address wrappedToken | `0x1690fa40` | +| BufferNotInitialized | address wrappedToken | `0x85f41299` | +| BufferSharesInvalidOwner | | `0x586d06df` | +| BufferSharesInvalidReceiver | | `0xdbe6b10e` | +| BufferTotalSupplyTooLow | uint256 totalSupply | `0x34bdbfaa` | +| CannotReceiveEth | | `0xf2238896` | +| CannotSwapSameToken | | `0xa54b181d` | +| CodecOverflow | | `0xe4337c05` | +| DoesNotSupportAddLiquidityCustom | | `0x4876c0bc` | +| DoesNotSupportDonation | | `0xefe0265d` | +| DoesNotSupportRemoveLiquidityCustom | | `0xcf0a95c0` | +| DoesNotSupportUnbalancedLiquidity | | `0xd4f5779c` | +| DynamicSwapFeeHookFailed | | `0x53f976d4` | +| ERC20InsufficientAllowance | address spender, uint256 allowance, uint256 needed | `0xfb8f41b2` | +| ERC20InsufficientBalance | address sender, uint256 balance, uint256 needed | `0xe450d38c` | +| ERC20InvalidApprover | address approver | `0xe602df05` | +| ERC20InvalidReceiver | address receiver | `0xec442f05` | +| ERC20InvalidSender | address sender | `0x96c6fd1e` | +| ERC20InvalidSpender | address spender | `0x94280d62` | +| ErrorSelectorNotFound | | `0xa7285689` | +| FailedInnerCall | | `0x1425ea42` | +| FeePrecisionTooHigh | | `0x833fb3ce` | +| HookAdjustedAmountInAboveMax | address tokenIn, uint256 amountIn, uint256 maxAmountIn | `0xcefa3afa` | +| HookAdjustedAmountOutBelowMin | address tokenOut, uint256 amountOut, uint256 minAmountOut | `0xfbd8a724` | +| HookAdjustedSwapLimit | uint256 amount, uint256 limit | `0xcc0e4a99` | +| HookRegistrationFailed | address poolHooksContract, address pool, address poolFactory | `0xfa93d814` | +| InputLengthMismatch | | `0xaaad13f7` | +| InvalidAddLiquidityKind | | `0x6c02b395` | +| InvalidRemoveLiquidityKind | | `0x137a9a39` | +| InvalidToken | | `0xc1ab6dc1` | +| InvalidTokenConfiguration | | `0xdf450632` | +| InvalidTokenDecimals | | `0x686d3607` | +| InvalidTokenType | | `0xa1e9dd9d` | +| InvalidUnderlyingToken | address wrappedToken | `0xd407f9c5` | +| IssuedSharesBelowMin | uint256 issuedShares, uint256 minIssuedShares | `0xda0cb07e` | +| MaxTokens | | `0x707bdf58` | +| MinTokens | | `0x5ed4ba8f` | +| NotEnoughBufferShares | | `0x98c5dbd6` | +| NotEnoughUnderlying | address wrappedToken, uint256 expectedUnderlyingAmount, uint256 actualUnderlyingAmount | `0x1c6a5375` | +| NotEnoughWrapped | address wrappedToken, uint256 expectedWrappedAmount, uint256 actualWrappedAmount | `0x1149424d` | +| NotStaticCall | | `0x67f84ab2` | +| NotVaultDelegateCall | | `0x9fd25b36` | +| OutOfBounds | | `0xb4120f14` | +| PauseBufferPeriodDurationTooLarge | | `0x9ea4efee` | +| PercentageAboveMax | | `0x746e5940` | +| PoolAlreadyInitialized | address pool | `0x218e3747` | +| PoolAlreadyRegistered | address pool | `0xdb771c80` | +| PoolInRecoveryMode | address pool | `0x346d7607` | +| PoolNotInRecoveryMode | address pool | `0xef029adf` | +| PoolNotInitialized | address pool | `0x4bdace13` | +| PoolNotPaused | address pool | `0xfdcd6894` | +| PoolNotRegistered | address pool | `0x9e51bd5c` | +| PoolPauseWindowExpired | address pool | `0xeb5a1217` | +| PoolPaused | address pool | `0xd971f597` | +| PoolTotalSupplyTooLow | uint256 totalSupply | `0xd38d20fc` | +| ProtocolFeesExceedTotalCollected | | `0x4c69ac5d` | +| QueriesDisabled | | `0x7a198886` | +| QueriesDisabledPermanently | | `0x069f8cbc` | +| QuoteResultSpoofed | | `0x28f95541` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| Result | bytes result | `0x5ab64fb8` | +| RouterNotTrusted | | `0xe5d185cf` | +| SafeCastOverflowedUintToInt | uint256 value | `0x24775e06` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SwapFeePercentageTooHigh | | `0x7f47834b` | +| SwapFeePercentageTooLow | | `0xbfb20688` | +| SwapLimit | uint256 amount, uint256 limit | `0xe2ea151b` | +| TokenAlreadyRegistered | address token | `0x4f4b634e` | +| TokenNotRegistered | address token | `0xddef98d7` | +| TokensMismatch | address pool, address expectedToken, address actualToken | `0xffe261a1` | +| TokensNotSorted | | `0x6e8f1947` | +| TradeAmountTooSmall | | `0x1ed4d118` | +| VaultBuffersArePaused | | `0x0f27df09` | +| VaultIsNotUnlocked | | `0xc09ba736` | +| VaultNotPaused | | `0xf7ff4dca` | +| VaultPauseWindowDurationTooLarge | | `0xcc0e8fe5` | +| VaultPauseWindowExpired | | `0x0e4460b7` | +| VaultPaused | | `0xda9f8b34` | +| WrapAmountTooSmall | address wrappedToken | `0x18fe7385` | +| WrongProtocolFeeControllerDeployment | | `0x1bbe95c7` | +| WrongUnderlyingToken | address wrappedToken, address underlyingToken | `0x36b18d09` | +| WrongVaultAdminDeployment | | `0x82cc28b6` | +| WrongVaultExtensionDeployment | | `0x1ab9d9d0` | + +## VaultFactory + +| Error Name | Inputs | Error Signature | +| ---------------------------- | ------------------------------- | --------------- | +| Create2EmptyBytecode | | `0x4ca249dc` | +| Create2FailedDeployment | | `0x741752c2` | +| Create2InsufficientBalance | uint256 balance, uint256 needed | `0xe4bbecac` | +| InvalidBytecode | string contractName | `0xc7f4796e` | +| OwnableInvalidOwner | address owner | `0x1e4fbdf7` | +| OwnableUnauthorizedAccount | address account | `0x118cdaa7` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| VaultAddressMismatch | | `0xb4c1be7b` | +| VaultAlreadyDeployed | address vault | `0xe254a88b` | + +## BatchRouter + +| Error Name | Inputs | Error Signature | +| ------------------------------ | ------------------------- | --------------- | +| AddressEmptyCode | address target | `0x9996b315` | +| AddressInsufficientBalance | address account | `0xcd786059` | +| ErrorSelectorNotFound | | `0xa7285689` | +| EthTransfer | | `0x0540ddf6` | +| FailedInnerCall | | `0x1425ea42` | +| InputLengthMismatch | | `0xaaad13f7` | +| InsufficientEth | | `0xa01a9df6` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SafeERC20FailedOperation | address token | `0x5274afe7` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SwapDeadline | | `0xe08b8af0` | +| TransientIndexOutOfBounds | | `0x0f4ae0e4` | + +## BufferRouter + +| Error Name | Inputs | Error Signature | +| ------------------------------ | ------------------------- | --------------- | +| AddressEmptyCode | address target | `0x9996b315` | +| AddressInsufficientBalance | address account | `0xcd786059` | +| ErrorSelectorNotFound | | `0xa7285689` | +| EthTransfer | | `0x0540ddf6` | +| FailedInnerCall | | `0x1425ea42` | +| InputLengthMismatch | | `0xaaad13f7` | +| InsufficientEth | | `0xa01a9df6` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SafeERC20FailedOperation | address token | `0x5274afe7` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SwapDeadline | | `0xe08b8af0` | + +## WeightedPool + +| Error Name | Inputs | Error Signature | +| ------------------------------ | ------------------------------------- | --------------- | +| BaseOutOfBounds | | `0x022701e0` | +| ECDSAInvalidSignature | | `0xf645eedf` | +| ECDSAInvalidSignatureLength | uint256 length | `0xfce698f7` | +| ECDSAInvalidSignatureS | bytes32 s | `0xd78bce0c` | +| ERC2612ExpiredSignature | uint256 deadline | `0x62791302` | +| ERC2612InvalidSigner | address signer, address owner | `0x4b800e46` | +| ExponentOutOfBounds | | `0xd8317311` | +| InputLengthMismatch | | `0xaaad13f7` | +| InvalidAccountNonce | address account, uint256 currentNonce | `0x752d88c0` | +| InvalidExponent | | `0xd4794efd` | +| InvalidShortString | | `0xb3512b0c` | +| InvalidToken | | `0xc1ab6dc1` | +| MaxInRatio | | `0x340a4533` | +| MaxOutRatio | | `0x64590b9f` | +| MinWeight | | `0xbd393583` | +| NormalizedWeightInvariant | | `0x39cf114e` | +| ProductOutOfBounds | | `0xa2f9f7e3` | +| SenderIsNotVault | address sender | `0x089676d5` | +| StringTooLong | string str | `0x305a27a9` | +| WeightedPoolBptRateUnsupported | | `0x18e79a20` | +| ZeroDivision | | `0x0a0c22c7` | +| ZeroInvariant | | `0x26543689` | + +## WeightedPoolFactory + +| Error Name | Inputs | Error Signature | +| ------------------------------- | ------------------------------- | --------------- | +| Create2EmptyBytecode | | `0x4ca249dc` | +| Create2FailedDeployment | | `0x741752c2` | +| Create2InsufficientBalance | uint256 balance, uint256 needed | `0xe4bbecac` | +| Disabled | | `0x75884cda` | +| IndexOutOfBounds | | `0x4e23d035` | +| PoolPauseWindowDurationOverflow | | `0x68755a11` | +| SenderNotAllowed | | `0x23dada53` | +| StandardPoolWithCreator | | `0x61ee1764` | + +## Gyro2CLPPool + +| Error Name | Inputs | Error Signature | +| --------------------------- | ------------------------------------- | --------------- | +| AssetBoundsExceeded | | `0x03ba4186` | +| ECDSAInvalidSignature | | `0xf645eedf` | +| ECDSAInvalidSignatureLength | uint256 length | `0xfce698f7` | +| ECDSAInvalidSignatureS | bytes32 s | `0xd78bce0c` | +| ERC2612ExpiredSignature | uint256 deadline | `0x62791302` | +| ERC2612InvalidSigner | address signer, address owner | `0x4b800e46` | +| InvalidAccountNonce | address account, uint256 currentNonce | `0x752d88c0` | +| InvalidShortString | | `0xb3512b0c` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SqrtParamsWrong | | `0x0579e1da` | +| StringTooLong | string str | `0x305a27a9` | +| ZeroDivision | | `0x0a0c22c7` | + +## Gyro2CLPPoolFactory + +| Error Name | Inputs | Error Signature | +| ------------------------------- | ------------------------------- | --------------- | +| CodeDeploymentFailed | | `0xfef82207` | +| Create2EmptyBytecode | | `0x4ca249dc` | +| Create2FailedDeployment | | `0x741752c2` | +| Create2InsufficientBalance | uint256 balance, uint256 needed | `0xe4bbecac` | +| Disabled | | `0x75884cda` | +| IndexOutOfBounds | | `0x4e23d035` | +| PoolPauseWindowDurationOverflow | | `0x68755a11` | +| SenderNotAllowed | | `0x23dada53` | +| StandardPoolWithCreator | | `0x61ee1764` | +| SupportsOnlyTwoTokens | | `0x34e77320` | + +## CompositeLiquidityRouter + +| Error Name | Inputs | Error Signature | +| ------------------------------ | --------------------------------------------------------- | --------------- | +| AddressEmptyCode | address target | `0x9996b315` | +| AddressInsufficientBalance | address account | `0xcd786059` | +| AmountInAboveMax | address tokenIn, uint256 amountIn, uint256 maxAmountIn | `0x8eda85e4` | +| AmountOutBelowMin | address tokenOut, uint256 amountOut, uint256 minAmountOut | `0x2f785e46` | +| BufferNotInitialized | address wrappedToken | `0x85f41299` | +| ErrorSelectorNotFound | | `0xa7285689` | +| EthTransfer | | `0x0540ddf6` | +| FailedInnerCall | | `0x1425ea42` | +| InputLengthMismatch | | `0xaaad13f7` | +| InsufficientEth | | `0xa01a9df6` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SafeERC20FailedOperation | address token | `0x5274afe7` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SwapDeadline | | `0xe08b8af0` | +| WrongTokensOut | address[] expectedTokensOut, address[] tokensOut | `0x94ae280c` | + +## GyroECLPPool + +| Error Name | Inputs | Error Signature | +| ---------------------------- | ------------------------------------- | --------------- | +| AssetBoundsExceeded | | `0x03ba4186` | +| DerivedDsqWrong | | `0xfb154af0` | +| DerivedTauAlphaNotNormalized | | `0xc196e496` | +| DerivedTauAlphaYWrong | | `0xec13362c` | +| DerivedTauBetaNotNormalized | | `0x25bbd708` | +| DerivedTauBetaYWrong | | `0xfa40768d` | +| DerivedTauXWrong | | `0x4071c5a8` | +| DerivedUWrong | | `0xf84d4b44` | +| DerivedVWrong | | `0xcfb498d5` | +| DerivedWWrong | | `0x83446b36` | +| DerivedZWrong | | `0x12e3e411` | +| ECDSAInvalidSignature | | `0xf645eedf` | +| ECDSAInvalidSignatureLength | uint256 length | `0xfce698f7` | +| ECDSAInvalidSignatureS | bytes32 s | `0xd78bce0c` | +| ERC2612ExpiredSignature | uint256 deadline | `0x62791302` | +| ERC2612InvalidSigner | address signer, address owner | `0x4b800e46` | +| InvalidAccountNonce | address account, uint256 currentNonce | `0x752d88c0` | +| InvalidShortString | | `0xb3512b0c` | +| InvariantDenominatorWrong | | `0xd1c17993` | +| MaxAssetsExceeded | | `0x2da2a5e5` | +| MaxInvariantExceeded | | `0xdc10196f` | +| MulOverflow | | `0x0cde6c26` | +| RotationVectorCWrong | | `0x658639aa` | +| RotationVectorNotNormalized | | `0xa26d8c2e` | +| RotationVectorSWrong | | `0xa9587a74` | +| SafeCastOverflowedIntToUint | int256 value | `0xa8ce4432` | +| SafeCastOverflowedUintToInt | uint256 value | `0x24775e06` | +| SenderIsNotVault | address sender | `0x089676d5` | +| StretchingFactorWrong | | `0x77dfa312` | +| StringTooLong | string str | `0x305a27a9` | +| ZeroDivision | | `0x0a0c22c7` | + +## GyroECLPPoolFactory + +| Error Name | Inputs | Error Signature | +| ------------------------------- | ------------------------------- | --------------- | +| CodeDeploymentFailed | | `0xfef82207` | +| Create2EmptyBytecode | | `0x4ca249dc` | +| Create2FailedDeployment | | `0x741752c2` | +| Create2InsufficientBalance | uint256 balance, uint256 needed | `0xe4bbecac` | +| Disabled | | `0x75884cda` | +| IndexOutOfBounds | | `0x4e23d035` | +| PoolPauseWindowDurationOverflow | | `0x68755a11` | +| SenderNotAllowed | | `0x23dada53` | +| StandardPoolWithCreator | | `0x61ee1764` | +| SupportsOnlyTwoTokens | | `0x34e77320` | + +## LiquidityBootstrappingPool + +| Error Name | Inputs | Error Signature | +| ------------------------------ | ------------------------------------------ | --------------- | +| AddingLiquidityNotAllowed | | `0x3eee08c7` | +| BaseOutOfBounds | | `0x022701e0` | +| ECDSAInvalidSignature | | `0xf645eedf` | +| ECDSAInvalidSignatureLength | uint256 length | `0xfce698f7` | +| ECDSAInvalidSignatureS | bytes32 s | `0xd78bce0c` | +| ERC2612ExpiredSignature | uint256 deadline | `0x62791302` | +| ERC2612InvalidSigner | address signer, address owner | `0x4b800e46` | +| ExponentOutOfBounds | | `0xd8317311` | +| GradualUpdateTimeTravel | uint256 resolvedStartTime, uint256 endTime | `0x7d0356f3` | +| InputLengthMismatch | | `0xaaad13f7` | +| InvalidAccountNonce | address account, uint256 currentNonce | `0x752d88c0` | +| InvalidExponent | | `0xd4794efd` | +| InvalidShortString | | `0xb3512b0c` | +| InvalidToken | | `0xc1ab6dc1` | +| InvalidTokenConfiguration | | `0xdf450632` | +| MaxInRatio | | `0x340a4533` | +| MaxOutRatio | | `0x64590b9f` | +| MinWeight | | `0xbd393583` | +| NormalizedWeightInvariant | | `0x39cf114e` | +| NotImplemented | | `0xd6234725` | +| OwnableInvalidOwner | address owner | `0x1e4fbdf7` | +| OwnableUnauthorizedAccount | address account | `0x118cdaa7` | +| ProductOutOfBounds | | `0xa2f9f7e3` | +| RemovingLiquidityNotAllowed | | `0xf38b5770` | +| SenderIsNotVault | address sender | `0x089676d5` | +| StringTooLong | string str | `0x305a27a9` | +| SwapOfProjectTokenIn | | `0x1269438a` | +| SwapsDisabled | | `0xfdf79845` | +| WeightedPoolBptRateUnsupported | | `0x18e79a20` | +| ZeroDivision | | `0x0a0c22c7` | +| ZeroInvariant | | `0x26543689` | + +## LiquidityBootstrappingPoolFactory + +| Error Name | Inputs | Error Signature | +| ------------------------------- | ------------------------------------------ | --------------- | +| CodeDeploymentFailed | | `0xfef82207` | +| Create2EmptyBytecode | | `0x4ca249dc` | +| Create2FailedDeployment | | `0x741752c2` | +| Create2InsufficientBalance | uint256 balance, uint256 needed | `0xe4bbecac` | +| Disabled | | `0x75884cda` | +| GradualUpdateTimeTravel | uint256 resolvedStartTime, uint256 endTime | `0x7d0356f3` | +| IndexOutOfBounds | | `0x4e23d035` | +| InvalidOwner | | `0x49e27cff` | +| InvalidTrustedRouter | | `0x0307417b` | +| MinWeight | | `0xbd393583` | +| NormalizedWeightInvariant | | `0x39cf114e` | +| PoolPauseWindowDurationOverflow | | `0x68755a11` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| SenderNotAllowed | | `0x23dada53` | +| StandardPoolWithCreator | | `0x61ee1764` | + +## StablePoolFactory + +| Error Name | Inputs | Error Signature | +| ------------------------------- | ------------------------------- | --------------- | +| CodeDeploymentFailed | | `0xfef82207` | +| Create2EmptyBytecode | | `0x4ca249dc` | +| Create2FailedDeployment | | `0x741752c2` | +| Create2InsufficientBalance | uint256 balance, uint256 needed | `0xe4bbecac` | +| Disabled | | `0x75884cda` | +| IndexOutOfBounds | | `0x4e23d035` | +| MaxTokens | | `0x707bdf58` | +| PoolPauseWindowDurationOverflow | | `0x68755a11` | +| SenderNotAllowed | | `0x23dada53` | +| StandardPoolWithCreator | | `0x61ee1764` | + +## StablePool + +| Error Name | Inputs | Error Signature | +| ---------------------------------- | ------------------------------------- | --------------- | +| AmpUpdateAlreadyStarted | | `0x2f301e7e` | +| AmpUpdateDurationTooShort | | `0xcd6b022a` | +| AmpUpdateNotStarted | | `0x4673a675` | +| AmpUpdateRateTooFast | | `0x1c708b92` | +| AmplificationFactorTooHigh | | `0x9b80d390` | +| AmplificationFactorTooLow | | `0xab923323` | +| ECDSAInvalidSignature | | `0xf645eedf` | +| ECDSAInvalidSignatureLength | uint256 length | `0xfce698f7` | +| ECDSAInvalidSignatureS | bytes32 s | `0xd78bce0c` | +| ERC2612ExpiredSignature | uint256 deadline | `0x62791302` | +| ERC2612InvalidSigner | address signer, address owner | `0x4b800e46` | +| InvalidAccountNonce | address account, uint256 currentNonce | `0x752d88c0` | +| InvalidShortString | | `0xb3512b0c` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SenderNotAllowed | | `0x23dada53` | +| StableComputeBalanceDidNotConverge | | `0xdcbda05c` | +| StableInvariantDidNotConverge | | `0x010ca320` | +| StringTooLong | string str | `0x305a27a9` | +| ZeroDivision | | `0x0a0c22c7` | + +## StableSurgeHook + +| Error Name | Inputs | Error Signature | +| ------------------------------ | ------------------------- | --------------- | +| InputLengthMismatch | | `0xaaad13f7` | +| InvalidPercentage | | `0x1f3b85d3` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SenderNotAllowed | | `0x23dada53` | +| VaultNotSet | | `0xc8e28160` | + +## ReClammPool + +| Error Name | Inputs | Error Signature | +| -------------------------------- | ------------------------------------------ | --------------- | +| AmountOutGreaterThanBalance | | `0xb413e252` | +| BalanceRatioExceedsTolerance | | `0x4f512cb0` | +| BaseOutOfBounds | | `0x022701e0` | +| DailyPriceShiftExponentTooHigh | | `0x2b5b4f35` | +| ECDSAInvalidSignature | | `0xf645eedf` | +| ECDSAInvalidSignatureLength | uint256 length | `0xfce698f7` | +| ECDSAInvalidSignatureS | bytes32 s | `0xd78bce0c` | +| ERC2612ExpiredSignature | uint256 deadline | `0x62791302` | +| ERC2612InvalidSigner | address signer, address owner | `0x4b800e46` | +| ExponentOutOfBounds | | `0xd8317311` | +| InvalidAccountNonce | address account, uint256 currentNonce | `0x752d88c0` | +| InvalidCenterednessMargin | | `0x7304fac7` | +| InvalidExponent | | `0xd4794efd` | +| InvalidInitialPrice | | `0xb3cd5c66` | +| InvalidShortString | | `0xb3512b0c` | +| InvalidStartTime | uint256 resolvedStartTime, uint256 endTime | `0xc9767706` | +| InvalidStartTime | | `0xb290253c` | +| InvalidToken | | `0xc1ab6dc1` | +| NotImplemented | | `0xd6234725` | +| PoolNotInitialized | | `0x486aa307` | +| PoolOutsideTargetRange | | `0x03d95ab4` | +| PriceRatioDeltaBelowMin | uint256 fourthRootPriceRatioDelta | `0x467614dc` | +| PriceRatioNotUpdating | | `0x771cef4f` | +| PriceRatioUpdateDurationTooShort | | `0x33f1d0aa` | +| PriceRatioUpdateTooFast | | `0x570bf22e` | +| ProductOutOfBounds | | `0xa2f9f7e3` | +| ReClammPoolBptRateUnsupported | | `0x56b7fcdb` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SenderNotAllowed | | `0x23dada53` | +| StringTooLong | string str | `0x305a27a9` | +| VaultIsNotLocked | | `0xe4575fe4` | +| VaultNotSet | | `0xc8e28160` | +| WrongInitializationPrices | | `0xf67c277c` | +| ZeroDivision | | `0x0a0c22c7` | + +## ReClammPoolFactory + +| Error Name | Inputs | Error Signature | +| ------------------------------- | ------------------------------- | --------------- | +| CodeDeploymentFailed | | `0xfef82207` | +| Create2EmptyBytecode | | `0x4ca249dc` | +| Disabled | | `0x75884cda` | +| FailedDeployment | | `0xb06ebf3d` | +| IndexOutOfBounds | | `0x4e23d035` | +| InsufficientBalance | uint256 balance, uint256 needed | `0xcf479181` | +| InvalidTokenType | | `0xa1e9dd9d` | +| MaxTokens | | `0x707bdf58` | +| PoolPauseWindowDurationOverflow | | `0x68755a11` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SenderNotAllowed | | `0x23dada53` | +| StandardPoolWithCreator | | `0x61ee1764` | +| VaultNotSet | | `0xc8e28160` | + +## WrappedBalancerPoolTokenFactory + +| Error Name | Inputs | Error Signature | +| ------------------------------ | -------------------- | --------------- | +| BalancerPoolTokenNotRegistered | | `0x916f5d0e` | +| WrappedBPTAlreadyExists | address wrappedToken | `0x957f7dce` | + +## WrappedBalancerPoolToken + +| Error Name | Inputs | Error Signature | +| --------------------------- | -------------------------------------------------- | --------------- | +| AddressEmptyCode | address target | `0x9996b315` | +| AddressInsufficientBalance | address account | `0xcd786059` | +| ECDSAInvalidSignature | | `0xf645eedf` | +| ECDSAInvalidSignatureLength | uint256 length | `0xfce698f7` | +| ECDSAInvalidSignatureS | bytes32 s | `0xd78bce0c` | +| ERC20InsufficientAllowance | address spender, uint256 allowance, uint256 needed | `0xfb8f41b2` | +| ERC20InsufficientBalance | address sender, uint256 balance, uint256 needed | `0xe450d38c` | +| ERC20InvalidApprover | address approver | `0xe602df05` | +| ERC20InvalidReceiver | address receiver | `0xec442f05` | +| ERC20InvalidSender | address sender | `0x96c6fd1e` | +| ERC20InvalidSpender | address spender | `0x94280d62` | +| ERC2612ExpiredSignature | uint256 deadline | `0x62791302` | +| ERC2612InvalidSigner | address signer, address owner | `0x4b800e46` | +| FailedInnerCall | | `0x1425ea42` | +| InvalidAccountNonce | address account, uint256 currentNonce | `0x752d88c0` | +| InvalidShortString | | `0xb3512b0c` | +| SafeERC20FailedOperation | address token | `0x5274afe7` | +| StringTooLong | string str | `0x305a27a9` | +| VaultIsUnlocked | | `0xbe18e309` | + +## AggregatorBatchRouter + +| Error Name | Inputs | Error Signature | +| ------------------------------ | ---------------------------------------------------------- | --------------- | +| AddressEmptyCode | address target | `0x9996b315` | +| AddressInsufficientBalance | address account | `0xcd786059` | +| EthTransfer | | `0x0540ddf6` | +| FailedInnerCall | | `0x1425ea42` | +| InsufficientEth | | `0xa01a9df6` | +| InsufficientFunds | address token, uint256 senderCredits, uint256 senderDebits | `0x5c54305e` | +| OperationNotSupported | | `0x29a270f5` | +| ReentrancyGuardReentrantCall | | `0x3ee5aeb5` | +| SafeCastOverflowedUintDowncast | uint8 bits, uint256 value | `0x6dfcc650` | +| SafeERC20FailedOperation | address token | `0x5274afe7` | +| SenderIsNotVault | address sender | `0x089676d5` | +| SwapDeadline | | `0xe08b8af0` | +| TransientIndexOutOfBounds | | `0x0f4ae0e4` |