Legacy architecture. Mellow-LRT is an earlier generation of Mellow vault infrastructure, documented for existing deployments. Core Vaults are Mellow’s current vault architecture.
Overview
ERC20SwapValidator ensures that only authorized routers and tokens are used for ERC20 token swaps. It provides validation methods, mappings to track supported routers/tokens, and emits relevant events to keep track of changes.
Key Features
- Router and Token Support: Controls which routers and tokens are authorized for swap operations.
- Swap Validation: Enforces rules for swap operations, ensuring compliance with authorized routers and tokens.
- Error Reporting: Raises specific errors when a swap operation fails validation.
Error Definitions
- InvalidLength: Raised when the data length for a swap operation is incorrect.
- InvalidSelector: The function selector provided is not recognized.
- UnsupportedToken: The token used is not on the supported list.
- UnsupportedRouter: The router used is not on the supported list.
Core Methods
- View Functions
isSupportedRouter(address): Checks if a router is supported for swaps.isSupportedToken(address): Checks if a token is supported for swaps.
- Configuration Functions
setSupportedRouter(address, bool): Sets a router’s supported status.setSupportedToken(address, bool): Sets a token’s supported status.
- Validation Function
validate(address, address, bytes): Validates that the swap operation complies with the rules:- Checks function signatures.
- Verifies swap parameters.
- Ensures routers and tokens are authorized.
Events
- Router Updates:
ERC20SwapValidatorSetSupportedRouter(address, bool, uint256): Emitted when a router’s support status is updated.- router: Address of the router.
- flag: Boolean indicating support status.
- timestamp: Timestamp of the action.
- Token Updates:
ERC20SwapValidatorSetSupportedToken(address, bool, uint256): Emitted when a token’s support status is updated.- token: Address of the token.
- flag: Boolean indicating support status.
- timestamp: Timestamp of the action.