Skip to content

fix: deterministic AaveOracle and Spoke addresses (I-06) - #1370

Open
DhairyaSethi wants to merge 4 commits into
fix/config-engine-delegatecall-guardfrom
fix/deterministic-spoke-oracle
Open

DhairyaSethi wants to merge 4 commits into
fix/config-engine-delegatecall-guardfrom
fix/deterministic-spoke-oracle

Conversation

@DhairyaSethi

@DhairyaSethi DhairyaSethi commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Fixes I-06 from the Certora config engine review. Spoke addresses no longer depend on the deployer's nonce.

  • AaveV4DeployBase.deploySpokeInstanceBatch deploys AaveV4SpokeInstanceBatch through Create2Utils instead of new.
  • The batch deploys AaveOracle with new AaveOracle{salt: salt}. The batch stays the oracle's DEPLOYER, so setSpoke still runs in the batch constructor. A factory-deployed oracle would have the Safe Singleton Factory as DEPLOYER and could never be bound.
  • The CREATE2 factory drops constructor revert reasons, so deploySpokeInstanceBatch repeats the batch's four input checks with the same messages.
  • Re-deploying the same spoke label and salt on a chain now reverts with ContractAlreadyDeployed, like every other CREATE2 component.

The gas snapshot deltas (±12–24) come from the new Spoke addresses in signature-based operations. Stacked on #1369.

@DhairyaSethi
DhairyaSethi added this pull request to stack #1371 October 7, 2026 19:17
…istic-spoke-oracle

# Conflicts:
#	snapshots/TakerPositionManager.Operations.json
avniculae added a commit that referenced this pull request Oct 8, 2026
#1370 added a salt to _deployAaveOracle and a test helper that calls deployAaveV4 without the BabylonSpoke bytecode.
avniculae added a commit that referenced this pull request Oct 8, 2026
Mirrors #1370 for BabylonSpoke: the batch deploys its AaveOracle, so a CREATE-deployed batch left the oracle, implementation and proxy addresses dependent on the deployer's nonce.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant