feat(composable): add signed Poller revocation - #960
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughSigned revocation support is added to ChangesSigned revocation
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The SDK adds signed Poller schedule revocation payload and calldata support, with coverage for typed-data and encoded-call consistency. No concrete current-head merge-blocking risk remains. Sequence Diagram(s)sequenceDiagram
participant Caller
participant ComposableCowPoller
participant Signer
participant Relayer
Caller->>ComposableCowPoller: request revoke typed data
ComposableCowPoller-->>Caller: return Revoke typed data
Caller->>Signer: sign typed data
Signer-->>Caller: return signature
Caller->>ComposableCowPoller: encode authorization and signature
ComposableCowPoller-->>Caller: return signed revoke calldata
Caller->>Relayer: submit signed calldata
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 ESLint
packages/composable/src/ComposableCowPoller.tsParsing error: Unable to parse the specified 'tsconfig' file. Ensure it's correct and has valid syntax. packages/app-data/tsconfig.json(2,14): error TS6053: File ' packages/composable/src/types.tsParsing error: Unable to parse the specified 'tsconfig' file. Ensure it's correct and has valid syntax. packages/app-data/tsconfig.json(2,14): error TS6053: File ' packages/composable/tests/ComposableCowPoller.spec.tsParsing error: Unable to parse the specified 'tsconfig' file. Ensure it's correct and has valid syntax. packages/app-data/tsconfig.json(2,14): error TS6053: File ' Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📦 GitHub Packages PublishedLast updated: Sep 7, 2026, 09:21:27 AM UTC The following packages have been published to GitHub Packages with pre-release version
InstallationThese packages require authentication to install from GitHub Packages. First, create a # Create .npmrc file in your project root
echo "@cowprotocol:registry=https://npm.pkg.github.com" > .npmrc
echo "//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN" >> .npmrcTo get your GitHub token:
Then install any of the packages above, either by exact version (i.e. # Yarn
yarn add npm:@cowprotocol/cow-sdk@pr-960
# pnpm
pnpm install npm:@cowprotocol/cow-sdk@pr-960
# NPM
npm install npm:@cowprotocol/cow-sdk@pr-960Update to the latest version (only if you used the tag)Every commit will publish a new package. To upgrade to the latest version, run: # Yarn
yarn upgrade @cowprotocol/cow-sdk
# pnpm
pnpm update @cowprotocol/cow-sdk
# NPM
npm update @cowprotocol/cow-sdkView PackagesYou can view the published packages at: https://github.com/cowprotocol/cow-sdk/packages |
# Conflicts: # packages/composable/README.md # packages/composable/src/ComposableCowPoller.ts # packages/composable/tests/ComposableCowPoller.spec.ts
9d0d1d3 to
a65aab7
Compare
What and why
JIT Poller integrations can now build the exact EIP-712 revocation payload and
revokeWithSignaturecalldata, allowing relayers to revoke schedules authorized by the funder. The authorization includes the supplied scheduleauthEpoch; the Poller increments its stored epoch after revocation to prevent replay.Depends on #959 and cowprotocol/composable-cow#136.
Related: https://linear.app/cowswap/project/twap-for-eoas-07d3dae536ea/overview
Test
pnpm --filter @cowprotocol/sdk-composable testSummary by CodeRabbit