cowprotocol / cowprotocol/dune-sync

Update AppData Fetching

Open
#43 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5
Forks
1
PR merge metrics
No merged PRs in 30d

Description

The backend is going to start encoding app data differently and we will need to change the inverse mapping

appHash --> CID

@vkgnosis shared the rust code that already does this here

and it appears we will just have to change the prefix here.

However we will need to continue to support the old style (forever) because old app hashes will always exist. Unless they plan to migrate all the old files to the new schema.

In terms of support there will be a block number for which the new content starts but is mixed (deployed in staging) with old and another block where we only support new app hashes. The code will need to know these blocks say (left, right) so that we use old on blocks below left, both on block between left and right and new on blocks after right. Might actually be easier to just check both always (with priority on the new schema).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/fetch/ipfs.py lines 20-25 and compare its current prefix handling with the linked Rust implementation in crates/app-data-hash/src/lib.rs. Trace how block numbers and app-hash lookups are represented in the fetch path. Done means old and new app-hash schemas are supported, with the stated block-range behavior or new-schema priority, while preserving old hashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
backend, data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.