Update 2026-06-11: the batch now adds a third solver entry — the fresh solver EOA
0xFa5d3f85da8395D4562D18422cB27e032a676Af1that will actually callwrappedSettle. The wrappers alone are not enough: the authenticator must also allow the calling address. The JSON also now shipsdata: nullso the Tx Builder decodes each call into readablesetManager/addSolverentries.
Adds three addresses as solvers on the staging CoW authenticator
GPv2AllowListAuthentication 0x02073540567FA1EABcBf74C2F7E6F9029ca7d800 (Gnosis Chain, id 100):
| What | Address | Sourcify |
|---|---|---|
| CoWSafeWrapper (enforced Safe meta-orders) | 0x531636e6e18F3A52c283aCCda39D7185E4597A37 |
verified |
| CowFlashLoanWrapper v6 (Aave flash layer, trampoline + OZ SafeERC20) | 0x2E3fdEe28D7224ED140B4ea08C57F47546679363 |
verified |
Solver EOA (calls wrappedSettle) |
0xFa5d3f85da8395D4562D18422cB27e032a676Af1 |
— (fresh EOA) |
Source: https://github.com/koeppelmann/cowswap_wrapper
addSolver is onlyManager (the 4-of-12 manager Safe 0xA03be496…4930). The proxy-admin Safe
0x68185584ccb166806f7ed69996380f50ac06035b (2-of-6) is the EIP-1967 owner of the authenticator proxy,
so it may call setManager (onlyManagerOrOwner). It therefore has strictly more authority than the
manager and can grant the solvers itself with only 2 signatures, by briefly making itself manager and
restoring the original manager in the same atomic batch.
setManager(0x68185584…035b)— admin Safe temporarily becomes manageraddSolver(0x531636e6…7A37)— CoWSafeWrapperaddSolver(0x2E3fdEe2…9363)— CowFlashLoanWrapper v6addSolver(0xFa5d3f85…6Af1)— solver EOA (callswrappedSettle)setManager(0xA03be496…4930)— restore the original 4-of-12 manager
Net change: only the three new solver entries. Manager is restored to exactly the original Safe. Atomic — any revert rolls back the whole thing, so the admin is never left as manager.
- Open the Transaction Builder app in the Safe UI for the proxy-admin Safe
0x68185584ccb166806f7ed69996380f50ac06035bon Gnosis Chain. - Import
whitelist-wrappers.json(drag-and-drop). It batches the 5 calls into one MultiSend (delegatecall) transaction. - Review (the 5 decoded calls above), then collect 2/6 signatures and execute.
Builder checksum: 0xb1738c22b168af4922f59f098ff66d2fee6d6c501e5610b2fed78741005477f5
A live staging solver's own (currently-reverting) settlement, replayed with only the two wrapper whitelist entries added as state overrides, fills a real leverage order: https://www.tdly.co/shared/simulation/057060b9-ceb7-495c-aa9c-745afce0fa8b
NOTE: this supersedes the queued manager-Safe proposal (nonce 201), which named the old flash wrapper
0x7aC55b24…785dand includes no solver EOA. Use this batch instead.