Skip to content

Add endorsements contract to devnet #41

Description

@rvagg

Done Criteria

Minimum:

Bonus:

Why Important

Synapse by default as part of https://github.com/FilOzone/filecoin-services/issues/357is going to use multiple SPs/datasets when creating a dataset and adding pieces, and one of those SPs needs to be an "endorsed" SP as specified in the "endorsements contract". We want the default devnet to work for the default synapse setup.

Notes

  1. This is in support of [Project] GA durability (2 copies; 1 with endorsed SP) filecoin-services#357

Activity

  1. moved this to 📌 Triage in FOCon Jan 21, 2026
  2. wjmelements commented on Jan 21, 2026

    @wjmelements
    Contributor

    parse_deployment_output gets the contract addresses from the output text. I think a better approach would be to read them from deployments.json.

  3. moved this from 📌 Triage to 🐱 Todo in FOCon Jan 22, 2026
  4. rvagg commented on Jan 22, 2026

    @rvagg
    ContributorAuthor

    Yeah, sorry, deployments.json is what I meant. I banged this issue out late at night on my phone while it was top of mind.

  5. rvagg commented on Jan 22, 2026

    @rvagg
    ContributorAuthor

    Actually. Maybe I'm not following the suggestion here. You mean deployments.json from filecoin-services on running the deploy script I guess? I'm not too fussed about how it gets read into the system, more about how it gets made available outside of the system. So whatever's consistent.

  6. wjmelements commented on Jan 22, 2026

    @wjmelements
    Contributor

    Prefer to discuss that in its issue
    #42

  7. rvagg commented on Jan 22, 2026

    @rvagg
    ContributorAuthor

    OK, back at the computer now. To clarify, this is the workflow that should work after this, with the new address injected into it:

    jq -r '.run_id' ~/.foc-devnet/state/current_runid.json
    
    cd synapse-sdk
    PRIVATE_KEY=0x$(jq -r '.[] | select(.name=="USER_1") | .private_key' ~/.foc-devnet/keys/addresses.json) \
    RPC_URL=http://localhost:5701/rpc/v1 \
    WARM_STORAGE_ADDRESS=$(jq -r '.foc_contracts.filecoin_warm_storage_service_proxy' ~/.foc-devnet/state/latest/contract_addresses.json) \
    MULTICALL3_ADDRESS=$(jq -r '.contracts.multicall' ~/.foc-devnet/state/latest/contract_addresses.json) \
    USDFC_ADDRESS=$(jq -r '.contracts.usdfc' ~/.foc-devnet/state/latest/contract_addresses.json) \
    node utils/example-storage-e2e.js <file>

    It was ~/.foc-devnet/state/latest/contract_addresses.json that I meant in my original issue description. How we get there is another matter to be figured out between you and @redpanda-f, but the outcome here should be that the new address shows up and can be accessed externally.

  8. BigLep commented on Jan 23, 2026

    @BigLep
    Contributor

    I have flushed out the done criteria a bit and added more context.

    @wjmelements : I see you're assigned to this currently. No pressure, but are you taking this on?

    @rvagg : FYI that I have added this to FilOzone/filecoin-services#357

  9. wjmelements commented on Jan 23, 2026

    @wjmelements
    Contributor

    I have begun work on branch wjmelements/endorsements-address

  10. moved this from 🐱 Todo to ⌨️ In Progress in FOCon Jan 26, 2026
  11. wjmelements commented on Jan 26, 2026

    @wjmelements
    Contributor

    The dependent PRs are approved. I'm going to test locally before making the devnet PR. It will take a while.

  12. moved this from ⌨️ In Progress to 🎉 Done in FOCon Jan 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

  • Status
    🎉 Done

Relationships

None yet

Development

No branches or pull requests

Issue actions