[03/03] DeepSec approvals: ETH-flow Safe bundle and TWAP entrypoints#7839
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Deploying explorer-dev with
|
| Latest commit: |
3fa697b
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://001f5420.explorer-dev-dxz.pages.dev |
| Branch Preview URL: | https://deepsec-approval-permit-03-f.explorer-dev-dxz.pages.dev |
Deploying swap-dev with
|
| Latest commit: |
3fa697b
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://86889f1a.swap-dev-5u6.pages.dev |
| Branch Preview URL: | https://deepsec-approval-permit-03-f.swap-dev-5u6.pages.dev |
1380176 to
b05c1b3
Compare
b7cf9ef to
593ad71
Compare
b05c1b3 to
4b5e4ea
Compare
593ad71 to
11d3f38
Compare
|
Cross-PR coordination heads-up: this PR inherits the shared approval-gate work from #7838, which directly overlaps #7697's permit-signing fix. #7697 also adds limit-order and lower-level The review on #7697 identified a cached-permit ordering issue that also applies to the shared gate in #7838. There is no direct file overlap in this PR, but flagging it here because the completed stack will carry that behavior. |
What changed
Why
DeepSec findings addressed
ETH-flow approvals bypass injected widget approval hooks: wrapped-native approval used the raw approval callback and could prompt the wallet even when the widget host rejected approval policy. ETH-flow now uses the shared gate before approval.Safe limit-order approval bundle bypasses widget approval hook: a Safe batch could include an ERC-20 approval without invoking the approval-specific host callback. Both Safe bundle implementations now gate the actual token, amount, wallet, and spender before building or sending the approval.Review guide
develop <- #7837 <- #7838 <- #7839.deepsec/approval-permit-02-shared-gate; review this diff against [02/03] DeepSec approvals: shared gate and classic permit paths #7838, notdevelop.QA Testing
Developer verification on
11d3f3862:cowswap-frontend,permit-utils, andcommon-utilsTypeScript checks passed.CI status on the amended head:
Known QA gaps
Preview URLs