Skip to content

Conversation

@markspanbroek
Copy link
Contributor

@markspanbroek markspanbroek commented Jan 27, 2026

Updated version of logos-storage/logos-storage-nim#1196

Uses the latest version of the Marketplace contract that utilize the Vault contract.

This includes the following changes:

  • separate reward and collateral addresses are no longer supported
  • request cancelled event is no longer emitted
  • slot state 'paid' no longer exists
  • repair reward is added to slot queue, and used to calculate profitability
  • separate types for timestamps, duration, tokens, and tokens per second
  • nimble dependencies are now converted to submodules again, because this change
    triggered more nimble bugs that we couldn't work around

Depends on durability-labs/archivist-contracts#26

@markspanbroek markspanbroek force-pushed the marketplace-vault branch 5 times, most recently from d65fee6 to 7791e85 Compare January 28, 2026 10:33
@benbierens
Copy link
Contributor

Using an image of commit 6e1a133 I've been running the release tests.
Some adjustments had to be made due to changes in the contracts. But those were simple and easy and can be found here.

Everything's coming up green. Tests are still running because these take forever. But enough of the tricky marketplace ones have already passed that I dare write this comment. Should trouble show up still, I'll be back!

Copy link
Contributor

@benbierens benbierens left a comment

Choose a reason for hiding this comment

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

So many type changes :o
Quite happy with this though. 👍

@markspanbroek
Copy link
Contributor Author

I converted the nimble dependencies to submodules again. I was running into too many bugs and inconsistencies with the dependency resolution of nimble.

Collateral that needs to be provided is now
the same, regardless whether we're repairing or
not. The repair reward is added as a bonus, not
deducted as a discount.
fixes bugs with slotqueue and repostore, where
expiry duration was misinterpreted as expiry
timestamp
No longer test against the Marketplace contract
directly, but only through the Market abstraction

Reason: gas estimates are often incorrect, leading
to test failures, and the same test scenarios are
already handled by testMarkets
reason: nimble is very inconsistent with larger dependency graphs,
and doesn't allow overriding of stint with our forked version
@markspanbroek markspanbroek changed the title Marketplace vault feat!: marketplace vault Jan 29, 2026
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.

4 participants