Governance workflows
The following workflows illustrate how governance actions are validated and executed through Tapio's multi-layered system.
Parameter Adjustment Flow
Parameter changes flow through the constraint enforcement system:
Governor sets parameter bounds in ParameterRegistry (via
setBounds()
) and calls other parameter functions (setSwapFee()
,setMintFee()
, etc.) on Keeper during initial setup.Curator calls
rampA()
on Keeper with desired valuesKeeper validates changes against ParameterRegistry bounds automatically via
checkBounds()
Target contracts (SPA, RampAController) receive validated parameter updates
Events are emitted from both Keeper and target contracts for monitoring
Emergency Response Flow
Emergency actions bypass normal constraints for immediate effect:
Guardian calls
pause()
orcancelRamp()
functions on the Keeper contractKeeper executes emergency actions immediately without bounds checking
Target SPAs enter paused state, blocking user operations but allowing admin functions
PROTOCOL_OWNER must call unpause() to restore normal operations
Governance events provide audit trail for emergency actions
Role Management Flow
Role permissions are managed through hierarchical access control:
PROTOCOL_OWNER calls
grantRole(GOVERNOR_ROLE, address)
to manage governorsGOVERNOR calls
grantRole(CURATOR_ROLE, address)
orgrantRole(GUARDIAN_ROLE, address)
to manage curators/guardians on Keeper.OpenZeppelin AccessControl validates caller permissions and updates role mappings
Role changes take effect immediately for subsequent function calls
AccessControl events provide complete audit trail of permission changes
Last updated