From 0c5015a94321ca2ec6c372c6f451b5a2581e6bb7 Mon Sep 17 00:00:00 2001 From: Jarmo van de Seijp Date: Wed, 17 Jun 2026 23:46:56 +0200 Subject: [PATCH] feat(deploy): spike-level vault config deployments/configs/spike.json (SOLU-3373) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Live-spike deploy config modeled on mainnet-spike-g2.json: - 24h timelock (timelockMinDelaySec 86400) — exercise the governance gate live. - Spike-level caps (SOLU-3373): depositCap 500 USDC, maxDepositPerAddress 100 USDC (off the $100 test values, sized for the 10-account matrix). - NON-ZERO fees: perfFeeBps 1500, mgmtFeeAnnualBps 200 — so the perf-fee and mgmt-fee battle-test scenarios actually exercise (the g2 config had 0/0). - Canonical USDC (index 0, 8dp) routed through Circle's CoreDepositWallet (G2), not the dead legacy bridge. - operator/emergencyAdmin/feeRecipient are DISTINCT sentinel placeholders and whitelistPerps/leverageCapBps/slippageBandBps are placeholders — all flagged as human-decision TODOs in the _TODO field. escapeGraceSeconds / SLA window / barriers are post-deploy timelock actions, not config. Validated via 'forge script script/Deploy.s.sol' WITHOUT --broadcast against mainnet: SIMULATION COMPLETE — role-distinctness (H3), the 24h timelock floor, and the CoreDepositWallet linkage (wallet.token()/tokenSystemAddress()) all pass. --- deployments/configs/spike.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 deployments/configs/spike.json diff --git a/deployments/configs/spike.json b/deployments/configs/spike.json new file mode 100644 index 0000000..37614a8 --- /dev/null +++ b/deployments/configs/spike.json @@ -0,0 +1,21 @@ +{ + "_TODO": "HUMAN DECISION GATES before deploy — (1) set operator/emergencyAdmin/feeRecipient to three DISTINCT key-controlled EOAs (mainnet Deploy.s.sol H3 guard requires distinctness; feeRecipient MUST be key-controlled to recover mgmt-fee shares + perf-fee USDC at wind-down). The 0x...a001/a002/a003 sentinels below are PLACEHOLDERS and must be replaced. (2) Confirm whitelistPerps (the ONE strategy market; placeholder [0] = BTC perp), leverageCapBps (placeholder 30000 = 3x), slippageBandBps (placeholder 200). (3) escapeGraceSeconds (default 8h) and requestFulfillmentWindow (default 0) and the soft barriers are NOT config fields — set post-deploy via the 24h timelock (see docs/LIVE_SPIKE_RUNBOOK.md). Caps + fees below are spike-level (SOLU-3373): fees are deliberately NON-ZERO so the perf-fee (h) and mgmt-fee (i) battle-test scenarios actually exercise.", + "name": "Allora HyperVault Live Spike", + "symbol": "ahls", + "operator": "0x000000000000000000000000000000000000a001", + "emergencyAdmin": "0x000000000000000000000000000000000000a002", + "feeRecipient": "0x000000000000000000000000000000000000a003", + "usdcAddress": "0xb88339CB7199b77E23DB6E890353E22632Ba630f", + "coreUsdcIndex": 0, + "coreUsdcDecimals": 8, + "coreDepositWallet": "0x6B9E773128f453f5c2C60935Ee2DE2CBc5390A24", + "timelockMinDelaySec": 86400, + "leverageCapBps": 30000, + "slippageBandBps": 200, + "perfFeeBps": 1500, + "mgmtFeeAnnualBps": 200, + "depositCap": "500000000", + "maxDepositPerAddress": "100000000", + "whitelistPerps": [0], + "whitelistSpots": [] +}