shield.eulerVault.*, which wraps EVault governor functions. For Euler Earn aggregation-vault curator and allocator actions such as reallocate, use the Euler Earn Guide.
Install Packages
Attach the EVault Overlay
Create or attach to a Shield, then extend the client witheulerVaultActions:
shield.eulerVault.* produces calldata from EVault’s governor ABI and routes the call through shield.sendCall(...). The composite policy pack still owns wasmArgs; pass per-call policy inputs through prepareQueryOptions.
Grant the Shield EVault Governance
EVault governor actions are manager actions. Borrowers and suppliers continue through normal EVault flows and do not route through the Shield. Every wrapped action is callable by the EVault governor, also calledgovernorAdmin. To use the Shield as the policy gate, the current governor should set the EVault governor to the Shield clone or route the relevant governance authority through the clone:
shield.eulerVault.setGovernorAdmin(...) can rotate governance again through the same policy-gated path.
Unlike Euler Earn, EVault governor setters are not a two-step onchain timelock flow. A policy approval plus the EVault governor check is the control surface. setLTV includes a rampDuration argument for lowered liquidation LTVs, but that is a parameter ramp, not a governance timelock.
Configure LTV
borrowLtv and liquidationLtv use 1e4 scale, so 8000 means 80%. liquidationLtv must be greater than or equal to borrowLtv.
Configure Caps
Pass caps as asset-denominated amounts in the vault asset’s smallest unit, or"unlimited". VaultKit encodes them to EVault’s packed AmountCap format before building calldata.
uint16 cap yourself when using shield.eulerVault.setCaps(...); the helper expects human asset amounts and rounds up to the nearest representable EVault cap.
Wrapped Actions
| Category | Helpers |
|---|---|
| Governor administration | setGovernorAdmin |
| Risk parameters | setLTV, setMaxLiquidationDiscount, setLiquidationCoolOffTime, setInterestRateModel, setCaps |
| Vault configuration | setHookConfig, setConfigFlags |
| Fees | setInterestFee, setFeeReceiver |
deposit, mint, withdraw, redeem, borrow, or repay actions.
Other Examples
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| EVault governor revert | The Shield clone is not the EVault governor for that action. | Grant or route governorAdmin to the Shield clone before executing. |
| Wrong caps onchain | Raw packed caps were passed instead of asset-denominated amounts. | Pass asset amounts or "unlimited" to setCaps; VaultKit handles packing. |
PolicyDeniedError | Newton evaluated the configured policy and denied the intent. | Inspect the policy result, params, and per-call prepareQueryOptions. |
| Unexpected calldata | The wrong overlay or vault address was used. | Use shield.eulerVault.* only for EVaults; use shield.euler.* for Euler Earn vaults. |
Euler Earn Guide
Gate Euler Earn curator and allocator actions with
shield.euler.*.Reference
Review the generic
sendCall API and expected error types.