An open-source smart contracts library curated by the Suzaku team.
This library provides utility contracts for different blockchain ecosystems, notably Avalanche.
The Validator Manager contracts provide a flexible system for managing validator sets with multiple security modules.
- The BalancerValidatorManager contract allows multiple security modules to control portions of the validator set with weight limits
- The PoASecurityModule implements a Proof of Authority security module
- The IBalancerValidatorManager interface defines the functions for balancing validator weights across security modules
Key features:
- Multiple security modules can operate independently
- Each security module has a maximum weight allocation
- Support for validator registration, removal and weight updates
- Built-in weight tracking and enforcement
- Upgradeable from PoA Validator Manager
Check more information here.
- The IAvalancheICTTRouter interface specifies the functions a contract must implement to act as a
Router
on an Avalanche EVM chain. - The IAvalancheICTTRouterFixedFees interface extends
IAvalancheICTTRouter
by defining additional functions for an "enforced fixed fees"Router
on an Avalanche EVM chain. - The AvalancheICTTRouter contract serves as a routing contract that maps tokens to their canonical bridges, simplifying interactions with the Avalanche ICM contracts.
- The AvalancheICTTRouterFixedFees contract builds on
AvalancheICTTRouter
by adding fee enforcement for bridging.
Contracts and interfaces in the ACP99/
directories were PoC for the ACP-99 standard. They are not maintained and should not be used in production.
To use the library in your project, you can install it with forge
:
forge install suzaku-network/suzaku-contracts-library
cd contracts
forge install
forge build
forge test