• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bosonprotocol / boson-protocol-contracts / 25502157316
98%

Build:
DEFAULT BRANCH: main
Ran 07 May 2026 02:53PM UTC
Jobs 1
Files 54
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 May 2026 02:29PM UTC coverage: 98.423% (-0.2%) from 98.599%
25502157316

push

github

web-flow
Feat/orchestration commit and redeem (#1105)

* Add atomic commit-and-redeem orchestration methods

Adds three new methods on OrchestrationHandlerFacet2 that bundle the
commit and redeem steps into a single transaction:

- commitToOfferAndRedeemVoucher(offerId)
- commitToConditionalOfferAndRedeemVoucher(offerId, tokenId)
- createOfferCommitAndRedeem(fullOffer, offerCreator, signature, tokenId)
  (seller-created offers only; reverts otherwise with OfferCreatorMustBeSeller)

The committer is hardcoded to _msgSender() so the redeem step's voucher-holder
check always passes. Bundled twins are transferred to _msgSender() during the
redeem leg, mirroring the standalone redeemVoucher behavior.

To share logic without breaching the 24KB facet size limit, two new bases
were introduced:

- ExchangeRedeemBase: redeemVoucherInternal, burnVoucher, transferTwins,
  updateNFTRanges. ExchangeHandlerFacet now inherits it and overrides
  _computeBurnTokenId to keep pre-2.2.0 voucher token-id support.
- ExchangeCommitBase: commitToOfferInternal, verifyOffer, authorizeCommit,
  holdsThreshold/holdsSpecificToken, validateConditionRange,
  handleDRFeeCollection, addSellerParametersToBuyerOffer.
  ExchangeCommitFacet now inherits it.

OrchestrationHandlerFacet2 inherits both bases and the new methods reuse
the shared internals directly.

* Deduplicate commit-and-redeem orchestration vs. the public commit methods

Three new internal helpers in ExchangeCommitBase capture the validation +
commit logic that was previously duplicated between the public commit
entry points and their commit-and-redeem orchestration counterparts:

- commitToStaticOfferShared: getValidOffer + Static check + no-condition
  check + commitToOfferInternal. Used by commitToOffer (public) and
  commitToOfferAndRedeemVoucher (orchestration).
- commitToConditionalOfferShared: same shape with condition fetch +
  validateConditionRange + authorizeCommit + commit + condition snapshot.
  Takes an _allowBuyerCre... (continued)

1881 of 1964 branches covered (95.77%)

Branch coverage included in aggregate %.

283 of 283 new or added lines in 5 files covered. (100.0%)

3300 of 3300 relevant lines covered (100.0%)

1246.66 hits per line

Jobs
ID Job ID Ran Files Coverage
1 25502157316.1 07 May 2026 02:53PM UTC 54
98.42
GitHub Action Run
Source Files on build 25502157316
  • Tree
  • List 54
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25502157316
  • 85866167 on github
  • Prev Build on main (#25493990553)
  • Next Build on main (#25540108594)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc