Repository navigation
feat: onboard PT-sUSDe-22OCT2026 to the LlamaRisk PT Risk Oracle on Plasma - #1208
Conversation
🌈Test ResultsCompiling 598 files with Solc 0.8.28 Solc 0.8.28 finished in 265.22s Compiler run successful with warnings: Warning (2018): Function state mutability can be restricted to view --> lib/aave-helpers/src/dependencies/v4/Helpers.sol:42:3: | 42 | function _makeSigner() internal returns (uint256 privateKey, address signer) { | ^ (Relevant source part starts here and spans across multiple lines).Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (2018): Function state mutability can be restricted to view Warning (4591): There are more than 256 warnings. Ignoring the rest. Ran 7 tests for src/20260925_AaveV3Plasma_Onboard_PTsUSDe22OCT2026_Oracle/AaveV3Plasma_Onboard_PTsUSDe22OCT2026_Oracle_20260925.t.sol:AaveV3Plasma_Onboard_PTsUSDe22OCT2026_Oracle_20260925_Test [PASS] test_e2eAgentsInjectRiskOracleUpdates() (gas: 2105958) Ran 1 test suite in 14.50s (14.15s CPU time): 7 tests passed, 0 failed, 0 skipped (7 total tests) |
…sma) Payload, fork tests, AIP text, deploy script and config, following the merged Ethereum activation and reusing the src/helpers/agent-hub helpers. Compiles once the aave-address-book release carrying the MiscPlasma.LLAMARISK_* constants lands and the dependency is bumped.
40b42ef to
9fefa47
Compare
| address public constant AGENT_ADMIN = MiscPlasma.PROTOCOL_GUARDIAN; | ||
|
|
||
| /// @dev No suffix is needed because this RiskOracle is dedicated to the LlamaGuard stack. | ||
| string public constant UPDATE_TYPE_SUFFIX = ''; |
There was a problem hiding this comment.
if this will be added for each onboarding onto LlamaGuard, pls move it to AgentHubAgentActivationPayload
Kogaroshi
left a comment
There was a problem hiding this comment.
- pull main and bum the aave-address-book to latest
- fix any "TBD" left in the writeup
- clean up unused imports
…k, no TBDs Moves UPDATE_TYPE_SUFFIX into AgentHubAgentActivationPayload (both payloads inherit the public getter), drops the unused GovernanceV3Plasma import, bumps @aave-dao/aave-address-book to ^4.70.3, and replaces the remaining writeup TBDs with links.
Generated against the address book at 28d6d020, the commit that adds the MiscPlasma LLAMARISK_* constants. Agent ids land at 2 and 3 as predicted, eModes 25 and 26, ranges absolute, and the reserve diff is empty.
Ships the MiscPlasma LLAMARISK_* constants. The Solidity side resolves through lib/aave-helpers, which still pins the address book at f08dbd21, so that submodule needs its own bump upstream before this compiles.
Picks up aave-helpers#829, which points its address-book submodule at 4.71.0 and so supplies the MiscPlasma LLAMARISK_* constants the payload imports.
Context
This payload onboards PT-sUSDe-22OCT2026 to the LlamaRisk PT Risk Oracle system on Plasma. It registers the predeployed Aave discount-rate and eMode agents in
MiscPlasma.AGENT_HUB, grants the permissions required to apply updates, and configures the maximum change accepted per injection.Both agents are verified deployments of the official
aave-dao/aave-risk-agentsimplementations. Their addresses, the LlamaRisk RiskOracle, and the Router are sourced from the Aave address book.Reusable update types, delays, expiration periods, and range limits are defined in
src/helpers/agent-hub/Configs.sol. Shared agent registration, role-granting, and range-configuration logic lives inAgentHubAgentActivationPayload.sol. Both helpers merged with the Ethereum activation (#1184) and are reused unchanged.Summary
AaveDiscountRateAgentandAaveEModeAgentsourced fromMiscPlasma.MiscPlasma.LLAMARISK_RISK_ORACLE, using the IDs returned byregisterAgentrather than predicting them.RISK_ADMIN.Payload actions
MiscPlasma.LLAMARISK_PT_DISCOUNT_RATE_AGENTforPendleDiscountRateUpdate, with PT-sUSDe-22OCT2026 as its only allowed market, a 2-day minimum delay, and a 2-day expiration period.MiscPlasma.LLAMARISK_PT_EMODE_AGENTforEModeCategoryUpdate, with eMode categories 25 and 26 as its only allowed markets, a 3-day minimum delay, a 3-day expiration period, andAaveV3Plasma.CONFIG_ENGINEencoded as its context.RISK_ADMINthroughAaveV3Plasma.ACL_MANAGER.MiscPlasma.RANGE_VALIDATION_MODULE:PendleDiscountRateUpdate1e16)EModeLTVEModeLiquidationThresholdEModeLiquidationBonusBoth registrations use
MiscPlasma.PROTOCOL_GUARDIANas agent admin; the AgentHub itself is owned byGovernanceV3Plasma.EXECUTOR_LVL_1. Agent IDs are captured fromregisterAgent, so registrations occurring before execution cannot cause the payload to configure the wrong agents.Agent compatibility
The predeployed
AaveEModeAgentsuppliesisolated: EngineFlags.KEEP_CURRENTwhen constructing the six-fieldEModeCategoryUpdateexpected by the live v3.7 ConfigEngine. This preserves the existing governance-configured isolation setting. The discount-rate agent is unaffected by the v3.7 change and callssetDiscountRatePerYeardirectly on the Pendle price-cap adapter.Address-book dependencies
The payload imports the RiskOracle and both predeployed agents from
MiscPlasma:LLAMARISK_RISK_ORACLE:0x4f240E3825e7FD6D834EEb861b1539dF0b43BfD0LLAMARISK_RISK_ORACLE_ROUTER:0xaC8690DE68dcB7068805c0C631004E9894FAFbe0LLAMARISK_PT_DISCOUNT_RATE_AGENT:0xC0F2BC223262338959732896758a9Fe95d2b4E29LLAMARISK_PT_EMODE_AGENT:0xBcFaBC3ea806d4755ED3F1eA2C5EAE92706Beb29Both agents are deployed from
aave-dao/aave-risk-agents@dec4cc7using that repository's build settings, so their verified bytecode reproduces against origin.No LlamaRisk contract addresses are hardcoded in the payload. The Router is used by the tests to publish RiskOracle updates through the authorized production path.
These constants land with aave-dao/aave-address-book#1581; this PR bumps the dependency once the release ships, which also unlocks compilation and the generated
diffs/report.Post-AIP activation
This payload does not deploy CRE workflows or register Router routes. After the AIP executes, LlamaRisk will use the agent IDs assigned by the AgentHub to deploy and connect the production workflows. These operational steps are outside the scope of this payload.
Test plan
The suite verifies:
RISK_ADMINgrants;Refs #1184
Refs aave-dao/aave-address-book#1581