chore(deps): bump omen_realitio_withdraw_bonds_abci CID (resume-after-timeout cache) - #230
Merged
jmoreira-valory merged 1 commit intoJun 29, 2026
Conversation
…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.
OjusWiZard
approved these changes
Jun 29, 2026
DIvyaNautiyal07
approved these changes
Jun 29, 2026
DIvyaNautiyal07
left a comment
Contributor
There was a problem hiding this comment.
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.
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
```
Plus the omen-protocol upstream pin bump (
v0.1.1→v0.1.2) socheck-third-party-hashesrecognises 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.pywires theomen_realitio_withdraw_bonds_abciround into the creator's FSM (confirmed incomposition.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 60sround_timeout, the RPC-heavy multisend build (eth_getLogs+eth_callsimulation + 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_claimto detect calldata that would now revert (subgraph lagging behind a settled claim), evicting stale entries — protectingMultiSend.delegatecall requireSuccess=trueatomicity.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_txscache loop driven through cold-build → warm-reuse (rebuild skipped) → post-settlement stale-eviction, with on-chainclaimWinningssimulation correctly flipping True→False. All paths behaved as designed.Test plan
tomte tox -e isort,black,flake8,mypy,pylint,darglint— greentomte tox -e check-abciapp-specs,check-handlers,check-packages— greenmarket_maker_abcicomposed-skill tests (57) pass;py3.11-linuxenv passes with coverage gate satisfiedautonomy packages lockproduced only the 4 expected dev cascades;third_partypreservedRollout
After merge, bump
PROPEL_SERVICE_HASH_IDin the relevantagent-deploymentsmarket-creator env(s) to the newservice/valory/market_makerCIDbafybeies32xs4gmyiscsvrwhh5a2koufjqzefa4y2f26sc3hbrm55knoxy, then redeploy.