Skip to content

chore(deps): bump omen_realitio_withdraw_bonds_abci CID (resume-after-timeout cache) - #230

Merged
jmoreira-valory merged 1 commit into
mainfrom
chore/bump-omen-realitio-withdraw-bonds-cid
Jun 29, 2026
Merged

chore(deps): bump omen_realitio_withdraw_bonds_abci CID (resume-after-timeout cache)#230
jmoreira-valory merged 1 commit into
mainfrom
chore/bump-omen-realitio-withdraw-bonds-cid

Conversation

@jmoreira-valory

Copy link
Copy Markdown
Contributor

Summary

Cascades the resume-after-timeout claim cache from valory-xyz/omen-protocol#3 (tag v0.1.2) into market-creator, for consistency with the market-resolver bump (valory-xyz/market-resolver#34).

```
third_party CID

  • bafybeicj3pgdx7q5chbms3pxrb6pcv7lbqhkigwnmjuo54p63ub7mkqe5i
  • bafybeiabqn6mcg4nw3mqbyxcuiyxgwlf7e2il3cj4awpmdi7bibqlwvklq
    ```

Plus the omen-protocol upstream pin bump (v0.1.1v0.1.2) so check-third-party-hashes recognises the new CID, and the four cascaded dev hashes (market_creation_manager_abci, market_maker_abci, agent, service). No dev source touched.

Why market-creator needs it too

market_maker_abci/composition.py wires the omen_realitio_withdraw_bonds_abci round into the creator's FSM (confirmed in composition.py, skill.yaml, behaviours.py, models.py). So market-creator runs the same bond-recovery flow and carries the same starvation risk that was fixed: under a 60s round_timeout, the RPC-heavy multisend build (eth_getLogs + eth_call simulation + safe-tx build, per claim) can run past the deadline and be discarded, restarting from scratch every cycle and never draining the claimable queue.

What the upstream change does

Caches per-question claim artifacts on SharedState.realitio_claim_build_cache. A round that times out before settling reuses the build next cycle instead of rebuilding. Each cache hit re-runs _simulate_claim to detect calldata that would now revert (subgraph lagging behind a settled claim), evicting stale entries — protecting MultiSend.delegatecall requireSuccess=true atomicity.

Validation

The fix was smoke-tested against a Tenderly Gnosis fork (real RealitioContract + skill code): a synthetic question created on the fork, answered, time-advanced to finalize, then the real _build_claim_txs cache loop driven through cold-build → warm-reuse (rebuild skipped) → post-settlement stale-eviction, with on-chain claimWinnings simulation correctly flipping True→False. All paths behaved as designed.

Test plan

  • tomte tox -e isort,black,flake8,mypy,pylint,darglint — green
  • tomte tox -e check-abciapp-specs,check-handlers,check-packages — green
  • market_maker_abci composed-skill tests (57) pass; py3.11-linux env passes with coverage gate satisfied
  • autonomy packages lock produced only the 4 expected dev cascades; third_party preserved

Rollout

After merge, bump PROPEL_SERVICE_HASH_ID in the relevant agent-deployments market-creator env(s) to the new service/valory/market_maker CID bafybeies32xs4gmyiscsvrwhh5a2koufjqzefa4y2f26sc3hbrm55knoxy, then redeploy.

…fix)

Cascades the resume-after-timeout claim cache from
valory-xyz/omen-protocol#3 (tag v0.1.2) into market-creator, for
consistency with the market-resolver bump (valory-xyz/market-resolver#34).
The market_maker_abci composition wires the
omen_realitio_withdraw_bonds_abci round, so market-creator runs the
same bond-recovery flow and benefits from the same fix.

    third_party CID:
    bafybeicj3pgdx7q5chbms3pxrb6pcv7lbqhkigwnmjuo54p63ub7mkqe5i
        ->
    bafybeiabqn6mcg4nw3mqbyxcuiyxgwlf7e2il3cj4awpmdi7bibqlwvklq

The skill now caches pre-built claimWinnings tx artifacts across
rounds (SharedState.realitio_claim_build_cache) so a round that times
out before settling reuses the build next cycle instead of restarting
the RPC-heavy eth_getLogs + eth_call simulation + safe-tx build chain.
Stale cache hits are detected via re-simulation each cycle, protecting
multisend atomicity against subgraph-lag.

Also bumps the omen-protocol upstream pin v0.1.1 -> v0.1.2 so
check-third-party-hashes recognises the new CID as canonical.

No dev-skill source touched; only the four cascaded dev CIDs
(market_creation_manager_abci, market_maker_abci, agent, service).
Lint + structural checks + tests green; coverage gate satisfied.

@DIvyaNautiyal07 DIvyaNautiyal07 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Verified the cascade is internally consistent and matches upstream:

  • omen-protocol v0.1.2 dev CID for omen_realitio_withdraw_bonds_abci = bafybeiabqn6mcg4nw3mqbyxcuiyxgwlf7e2il3cj4awpmdi7bibqlwvklq (matches third_party entry).
  • All 4 cascaded dev CIDs (market_creation_manager_abci, market_maker_abci, agent, service) appear identically in every file that references them (packages.json, aea-config.yaml, both skill.yamls, service.yaml).
  • Old CID bafybeicj3pg… is fully purged; no stale v0.1.1 references in docs.
  • pyproject upstream pin bumped to v0.1.2 as expected.

Nothing else to flag — pure hash-only cascade.

@jmoreira-valory
jmoreira-valory merged commit 5073bd2 into main Jun 29, 2026
22 checks passed
@jmoreira-valory
jmoreira-valory deleted the chore/bump-omen-realitio-withdraw-bonds-cid branch June 29, 2026 09:33
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.

3 participants