Finish Aptos local CRE read/write parity#21610
Conversation
CORA - Pending Reviewers
Legend: ✅ Approved | ❌ Changes Requested | 💬 Commented | 🚫 Dismissed | ⏳ Pending | ❓ Unknown For more details, see the full review summary. |
|
I see you updated files related to
|
|
✅ No conflicts with other open PRs targeting |
|
core/scripts/cre/environment/configs/workflow-gateway-don-aptos.toml
Outdated
Show resolved
Hide resolved
core/scripts/cre/environment/configs/workflow-gateway-don-aptos.toml
Outdated
Show resolved
Hide resolved
core/scripts/cre/environment/configs/workflow-gateway-don-aptos.toml
Outdated
Show resolved
Hide resolved
4e4f115 to
c76d835
Compare
| // for tests only, in prod Registry should always be set at this point | ||
| opts.CapabilitiesRegistry = capabilities.NewRegistry(globalLogger) | ||
| } | ||
| if raw := os.Getenv(fakes.EnableFakeStreamsTriggerEnvVar); raw != "" { |
There was a problem hiding this comment.
This doesn't feel right, why do you need it?
| const aptosZeroForwarderHex = "0x0000000000000000000000000000000000000000000000000000000000000000" | ||
|
|
||
| // aptosNodeURLWithV1 normalizes an Aptos node URL so the path is /v1 (Aptos REST API base). | ||
| func aptosNodeURLWithV1(nodeURL string) string { |
There was a problem hiding this comment.
why can't we use aptos.NodeURL()? where aptos is instance of Aptos Blockchain from system-tests/lib/cre/environment/blockchains/aptos/aptos.go?
…cre-minimal-write-refresh # Conflicts: # core/scripts/go.mod # core/scripts/go.sum # go.mod # go.sum # system-tests/lib/go.mod # system-tests/lib/go.sum # system-tests/tests/go.mod # system-tests/tests/go.sum
# Conflicts: # deployment/go.mod
|




Supersedes #21515 to reset PR-scoped CI/cache state.
Summary
CapabilityConfig.SpecConfiginstead of the CapReg OCR3-config side channelWhat changed
system-tests/lib/cre/features/aptos:Aptos_ReadAptos_WriteAptos_Write_Read_RoundtripAptos_Write_Expected_Failurep2pToTransmitterMapfrom pre-start metadata instead of reading it from started worker node OCR configPreEnvStartupPostDONStartuphook and scaffoldingPostEnvStartuponly for the parts that still depend on configured contract state (forwarder config + worker job approval)ReadContractworker jobs still generate the oracle-factory block they needWhy
Two things needed to be fixed for the rebased local CRE stack:
Forwarder state had to be stable across the full end-to-end flow.
Before this change, startup could configure worker jobs against one Aptos forwarder while later setup rebuilt state and used a different forwarder.
Aptos runtime config needed to follow the current capability-manager contract.
p2pToTransmitterMap, scheduling, and similar Aptos-specific runtime inputs now flow throughCapabilityConfig.SpecConfig, which is merged into dependencies config before capability initialisation, instead of being smuggled through OCR3 config.Scope notes
Testing
cd system-tests/lib && GOWORK=off go test ./cre/don/secrets ./cre ./cre/features/aptos ./cre/environment -count=1cd system-tests/lib && GOWORK=off go test ./cre ./cre/contracts ./cre/environment ./cre/features/aptos ./cre/features/read_contract -count=1cd system-tests/tests && GOWORK=off go test ./smoke/cre -run TestDoesNotExist -count=1cd deployment && GOWORK=off go test ./cre/jobs/... -run TestDoesNotExist -count=1go test ./core/config/toml ./core/services/chainlink ./core/cmd -run TestDoesNotExist -count=1