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

bosonprotocol / boson-protocol-contracts / 25493990553
98%

Build:
DEFAULT BRANCH: main
Ran 07 May 2026 12:13PM UTC
Jobs 1
Files 52
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 11:49AM UTC coverage: 98.599% (-0.01%) from 98.611%
25493990553

push

github

web-flow
Feat: metatx with token transfer authorization (#1123)

* Add ERC-3009 authorization support to metatransactions

Introduces `executeMetaTransactionWithAuthorization`, an entry point that
parks a queue of token-side authorizations in transient storage so
`transferFundsIn` can pull funds via `receiveWithAuthorization` instead
of `safeTransferFrom`. Lets a relayer submit a single tx that both
authorizes the metatx and pulls funds, with no prior on-chain allowance.

The outer enum stays minimal (`{None, ERC3009}`); per-transfer mixing
(needed for flows like `createOfferAndCommit` that call
`transferFundsIn` twice) is expressed by a `bytes[]` queue where empty
entries fall back to `safeTransferFrom`. The queue auto-clears at tx
end via Cancun `tstore`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Add ERC-3009 authorization test mirrors for commitToOffer flows

Adds parallel test contexts that exercise the metatx-with-auth queue
path through `commitToOffer`, `createOfferAndCommit` (both seller and
buyer offers), and `commitToBuyerOffer` (seller-commits side of
buyer-initiated offers). Each test mirrors its native-currency or
approve-based original from ExchangeHandlerTest / BuyerInitiatedOfferTest
but routes funds through ERC-3009 receiveWithAuthorization instead of
prior allowances.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Bring ExchangeCommitFacet under EIP-170 size limit

Two changes:

1. Enable viaIR and tune optimizer runs to 50 for the 0.8.34 profile in
   hardhat.config.js. viaIR's Yul pipeline yields smaller deployed
   bytecode for diamond facets and reuses scaffolding more aggressively;
   runs=50 prioritizes deploy-size over per-call gas, matching the
   pattern already used for the 0.8.9 profile.

2. Consolidate the ERC-3009 branch from FundsBase.transferFundsIn into a
   new internal helper TransientAuthLib.consumeForTransfer(). The helper
   does the queue pop + abi.decode + receiveW... (continued)

1855 of 1928 branches covered (96.21%)

Branch coverage included in aggregate %.

80 of 80 new or added lines in 4 files covered. (100.0%)

3282 of 3282 relevant lines covered (100.0%)

1246.53 hits per line

Jobs
ID Job ID Ran Files Coverage
1 25493990553.1 07 May 2026 12:13PM UTC 52
98.6
GitHub Action Run
Source Files on build 25493990553
  • Tree
  • List 52
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25493990553
  • d4b10c3f on github
  • Prev Build on main (#25492195524)
  • Next Build on main (#25502157316)
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