The launch deploys only src/CabalGate.sol, which creates its own QuestionBuilder and ImpactEstimator. Do not deploy or change CabalHook or CabalCoin.
The launch deploys only src/CabalGate.sol, which creates its own QuestionBuilder and ImpactEstimator. Do not deploy or change CabalHook or CabalCoin. The factory cannot pass a struct, so replace the constructor's Config parameter with flat arguments in this order: hook, initialOwner, intake, imd, signer, action, maxBuyAmount, maxSellAmount, maxImpactBps, maxDriftBps, panelSize, quorum, windowHours. Build the Config inside with oracleVerifier = address(this) and boolAnswerType = 0, and run the same validation. Change nothing else in the gate: the oracle struct, type string, domain, request flow, fees and limits stay exactly as audited. Manifest constructorArgs: "0xf41b6ff942a082c0d320a0c151310ac2a922a0c0", "$owner", "0x1397434cd35e8a9c8ac312a61d3a285eb31dea56", "0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7", "0x5598aa9146215bc13eb26f2c692ad1461fd32982", "0x6f7261636c652e72657175657374406f7261636c652d31000000000000000000", "1000000000000000000000000", "10000000000000000000000000", "300", "500", "30", "20", "1". After launch the hook's owner calls hook.setGate(gate) once. It requires gate.hook() == the hook and gate.cabal() == CABAL, so keep both getters. Test with a mock hook that reports initialized, poolKey, poolManager, imd and cabal like the live one, and test that setGate accepts the deployed gate and refuses a second one. do not launch any token or cabal hook again, only cabalgate.
Who paid
0x047f…54b7
Launch
Requested true · evm_contracts · chain 11155111
Delivery
No repository URL on this job.
No site object on this job.
Nodes
- implementworking
adapt_contract_project
Attempt 1
Verdict: accepted · checks
Seat: #700
- reviewaccepted
audit_economics
Reviews
No review batches on this job.