Errors structure ​
In Fluid, errors are organized systematically to enhance clarity and ease of reference. Each protocol or module within a protocol has its dedicated set of error definitions and types.
Error IDs Specification ​
To maintain consistency and avoid clashes, we follow a unique numbering system for error IDs. Each protocol or even each contract within a protocol gets a distinct range.
For instance:
- Liquidity Protocol:
- Liquidity UserModule module: 10001, 10002, 10003, etc.
- Liquidity AdminModule module: 11001, 11002, 11003, etc.
- Lending Protocol:
- Lending fToken module: 20001, 20002, 20003, etc.
- Lending LendingFactory module: 21001, 21002, etc.
By adhering to this structure, developers can easily trace errors back to their source module and protocol, simplifying debugging and maintenance.
Error ID Ranges ​
1. Liquidity Protocol - ​
- Admin Module - Prefix: AdminModule__:
- Range: 10001-10999
- User Module - Prefix: UserModule__:
- Range: 11001-11999
- Helpers - Prefix: LiquidityHelpers__:
- Range: 12001-12999
2. Lending Protocol ​
- fToken Module - Prefix: fToken__:
- Range: 20001-20999
- fToken Native Underlying Module - Prefix: fTokenNativeUnderlying__:
- Range: 21001-21999
- Lending Factory Module - Prefix: LendingFactory__:
- Range: 22001-22999
- Lending Rewards Rate Model Module - Prefix: LendingRewardsRateModel__:
- Range: 23001-23999
3. Vault Protocol ​
- Vault Factory Module - Prefix: VaultFactory__:
- Range: 30001-30999
- VaultT1 Module - Prefix: VaultT1__:
- Range: 31001-31999
- ERC721 Module - Prefix: ERC721__:
- Range: 32001-32999
- VaultT1 Admin - Prefix: VaultT1Admin__:
- Range: 33001-33999
- Vault Rewards - Prefix: VaultRewards__:
- Range: 34001-34999
- Vault Dex - Prefix: VaultDex__:
- Range: 35001-35999
- Vault Borrow Rewards - Prefix: VaultBorrowRewards__:
- Range: 36001-36010
4. StETH Protocol - Prefix: StETH__ ​
- Range: 40001-40999
5. InfiniteProxy / DEX protocol ​
- InfiniteProxy - Prefix: InfiniteProxy__:
- Range: 50001-50999
- DexT1 - Prefix: DexT1__:
- Range: 51001-51999
- DexT1Admin - Prefix: DexT1Admin__:
- Range: 52001-52999
- DexFactory - Prefix: DexFactory__:
- Range: 53001-53999
6. Oracles ​
- FluidOracleL2 - Prefix: FluidOracleL2__:
- Range: 60000
- UniV3CheckCLRSOracle oracle - Prefix: UniV3CheckCLRSOracle__:
- Range: 60001-60009
- FluidOracle - Prefix: FluidOracle__:
- Range: 60010
- sUSDe oracle - Prefix: SUSDeOracle__:
- Range: 60101-60199
- Pendle oracle - Prefix: PendleOracle__:
- Range: 60201-60299
- CLRS2UniV3CheckCLRSOracleL2 - Prefix: CLRS2UniV3CheckCLRSOracleL2__:
- Range: 60301-60310
- Ratio2xFallbackCLRSOracleL2 - Prefix: Ratio2xFallbackCLRSOracleL2__:
- Range: 60311-60320
- WeETHsOracle - Prefix: WeETHsOracle__:
- Range: 60321-60330
- DexSmartColOracle - Prefix: DexSmartColOracle__:
- Range: 60331-60340
- DexSmartDebtOracle - Prefix: DexSmartDebtOracle__:
- Range: 60341-60350
- ContractRate - Prefix: ContractRate__:
- Range: 60351-60360
- SUSDsOracle - Prefix: SUSDsOracle__:
- Range: 60361-60370
- PegOracle - Prefix: PegOracle__:
- Range: 60371-60380
- Chainlink oracle - Prefix: ChainlinkOracle__:
- Range: 61001-61999
- UniV3Oracle oracle - Prefix: UniV3Oracle__:
- Range: 62001-62999
- WstETh oracle - Prefix: WstETHOracle__:
- Range: 63001-63999
- Redstone oracle - Prefix: RedstoneOracle__:
- Range: 64001-64999
- Fallback oracle - Prefix: FallbackOracle__:
- Range: 65001-65999
- FallbackCLRS oracle - Prefix: FallbackCLRSOracle__:
- Range: 66001-66999
- WstETHCLRS oracle - Prefix: WstETHCLRSOracle__:
- Range: 67001-67999
- CLFallbackUniV3 oracle - Prefix: CLFallbackUniV3Oracle__:
- Range: 68001-68999
- WstETHCLRS2UniV3CheckCLRS oracle - Prefix: WstETHCLRS2UniV3CheckCLRSOracle__:
- Range: 69001-69999
- WeETH oracle - Prefix: WeETHOracle__:
- Range: 70001-79999
7. Libraries ​
- LiquidityCalcs - Prefix: LiquidityCalcs__:
- Range: 70001-70999
- SafeTransfer - Prefix: SafeTransfer__:
- Range: 71001-71999
8. Flashloan Protocol - Prefix: FlashLender__ ​
- Range: 80001-80999
9. Reserve Contract - Prefix: ReserveContract__ ​
- Range: 90001-90999
10. Configs ​
- ExpandPercentConfigHandler - Prefix: ExpandPercentConfigHandler__:
- Range: 100001-100009
- EthenaRateConfigHandler - Prefix: EthenaRateConfigHandler__:
- Range: 100011-100019
- MaxBorrowConfigHandler - Prefix: MaxBorrowConfigHandler__:
- Range: 100021-100029
- BufferRateConfigHandler - Prefix: BufferRateConfigHandler__:
- Range: 100031-100039
- RatesAuth - Prefix: RatesAuth__;
- Range: 100041-100045
- ListTokenAuthHandler - Prefix: ListTokenAuth__:
- Range: 100051-100053
- CollectRevenueAuth - Prefix: CollectRevenueAuth__:
- Range: 100061-100062
- WithdrawLimitAuth - Prefix: WithdrawLimitAuth__:
- Range: 100071-100076