VIP-658 [BNB Chain, Ethereum, Arbitrum One, Base] DeviationSentinel 2026-08 Parameter Adjustment - #760
Merged
Conversation
Retune DeviationSentinel thresholds to a unified 5% across BSC, Ethereum, Arbitrum One and Base, repoint several markets' SentinelOracle price sources to deeper DEX pools, and disable monitoring for BSC TUSD (config-clear deferred; a contract change would be needed). No new contracts or ACM grants. Commands: BSC 14, Ethereum 26, Arbitrum One 7, Base 3. Fork sims green on all four chains (BSC 52, Ethereum 63, Arbitrum 19, Base 13 passing). Ref: VDB-56 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…1%, not 3%) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
trumpgpt-bot
marked this pull request as ready for review
August 26, 2026 13:30
…k, cleanups Address review round 1 (PR #760). Blocking (false on-chain claims, Base-only): - Base USDC currentPct 1% -> 3%. On-chain tokenConfigs(USDC) on DeviationSentinel 0x12D0…3076 = (3, true); the Base Guardian retuned 1% -> 3% at block 50298851. Correct the addresses table and the voted proposal text ("USDC (3% -> 5%)"). - Base sim FORK_BLOCK 47410957 (~71d stale, pre-retune, pruned on archive nodes) -> 50503680, so pre-VIP assertions validate live state and the run is reproducible. Framework (enables the Base bump): the recent Base fork post-dates a LayerZero default-receive-library migration (0x38dE71… -> 0x58d53a…), so the hardcoded LZ_LIBRARY reverts remote delivery with "invalid default library". Resolve the endpoint's current defaultReceiveLibraryAddress() dynamically, falling back to the configured LZ_LIBRARY. No behavior change at any fork block where the hardcoded value is still current. Non-blocking cleanups (net ~-320 lines): - Delete duplicate simulations/vip-658/abi/PancakeSwapOracle.json (byte-identical to UniswapOracle.json); use the Uniswap ABI for all uniswap-type markets. - Remove the dead "promote" action (no market uses it) across config, builder and sim. - Reuse the builder's dexOracleFor resolver in the sim (drop duplicate dexOracleAddress). - Type the post-execution callback as TransactionResponse (drop six `as never` casts). - Command-count assertion reads ctx.dstChainId (drop the EXPECTED_DST_CHAIN_ID map). - Extract expectSentinelRoutesTo helper (dedupe the routing assertion). All four fork sims green: BSC 52, Ethereum 63, Arbitrum 19, Base 13. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
VIP-658: DeviationSentinel 2026-08 Parameter Adjustment
Summary
Retunes DeviationSentinel thresholds to a unified 5% across BNB Chain, Ethereum, Arbitrum One and Base, repoints several markets' price-source pools to deeper DEX pools, and disables monitoring for BSC TUSD. No new contracts are deployed and no ACM grants change — every setter used was permissioned in VIP-590 (BSC) / VIP-616 (remote chains), and the Curve/Uniswap targets are compatible with the already-deployed CurveOracle / UniswapOracle (as in VIP-624).
Scope
BNB Chain — 14 commands
setTokenMonitoringEnabled(TUSD, false)); DAI is already disabled on-chain (VIP-644), so no command is emitted for itEthereum — 26 commands
Note: for crvUSD, sUSDS, WBTC, LBTC and WETH the SentinelOracle already routes to the target DEX oracle (curve→curve / uniswap→uniswap), so only the pool binding (and, where applicable, the threshold) is updated — the redundant SentinelOracle repoint is elided, which also keeps the single cross-chain LayerZero message within its payload-size cap.
Arbitrum One — 7 commands
Base — 3 commands
Notes
setTokenConfigrejects deviation = 0). A disabled market can neither be tripped nor report a deviation. DAI (BSC) was already disabled by VIP-644, so no command is emitted for it.Simulations & preparation status
propose()estimateGas from the proposer Safe: 12.78M = 76.2% of the BSC 16.78M per-tx cap (EIP-7825) — fits with headroom.execute()legs target the mainnet OmnichainProposalSender0x36a69dE601381be7b0DcAc5D5dD058825505F8f6with non-zero LayerZero fee values (framework adds a 1 BNB refundable buffer per leg).References
🤖 Generated with Claude Code