Skip to content

Conversation

@jean-neiverth
Copy link

Summary

This PR drafts a solution to no longer require CoW Shed signatures on adding hooks. The idea is to override CoW Shed contract bytecode using Tenderly state_objects

To Test

  1. Go to /#/8453/swap/hooks
  2. Fill a swap order
  3. Add a transfer post-hook and fill address and amount
  4. Notice that, when clicking on add hook, no CoW Shed signature will be requested (yet approvals / permits will still be)
  5. After adding the hook, notice the simulation will run even without CoW Shed signature

Background

This PR is a POC for one of the solutions proposed in Hooks V2 proposal to CoW

bsvalverde pushed a commit that referenced this pull request Dec 16, 2025
…protocol#6198)

* fix: import

* New Crowdin updates (#18)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/cowswap-frontend/src/locales/es-ES.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: eslint warning

* feat: add feature flag to enable or disable locale loading (#19)

* feat: add feature flag to enable or disable locale loading

* fix: load default catalog

* chore: update catalog

* New Crowdin updates (cowprotocol#23)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update apps/cowswap-frontend/src/locales/es-ES.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/cowswap-frontend/src/locales/es-ES.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* New Crowdin updates (cowprotocol#24)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* New Crowdin updates (cowprotocol#25)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New Crowdin updates (cowprotocol#26)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: comment wording

* feat: add languages menu as settings dropdown item

* fix: add flag

* New Crowdin updates (cowprotocol#32)

* New translations en-us.po (French)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: a few mobile issues

* chore: add missing lingui macro

* chore: update catalog

* New Crowdin updates (cowprotocol#34)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/cowswap-frontend/src/locales/ru-RU.po

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* chore: update catalog

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: usage of t inside string literals

* chore: update catalog

* New Crowdin updates (cowprotocol#37)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* chore: update catalog

* New Crowdin updates (cowprotocol#38)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: cowprotocol#6198 (comment)

* fix: cowprotocol#6198 (comment)

* Update apps/cowswap-frontend/src/modules/orderProgressBar/pure/steps/FinishedStep.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: update catalog

* fix: trans contents

* chore: update catalog

* New Crowdin updates (cowprotocol#39)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: update catalog

* New Crowdin updates (cowprotocol#40)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: update catalog

* chore: remove unused po file

* fix: unnecessary symbol

* fix: put back the fortune cookie svg

* fix: display flags correctly in all operative systems

* fix: limit translation

* fix: dropdown layout issues

* fix: order details layout

* fix: translate order type

* fix: title date

* fix: locale time format

* fix: view on explorer translation

* fix: notifications date localization

* fix: tooltip localization

* fix: string concatenation

* fix: add missing translation

* fix: add localization to several dates

* fix: add missing translation

* fix: missing date localization

* fix: broken translations

* fix: broken translations

* fix: wrong spaces in translation

* fix: missing spaces in translation

* fix: missing spaces in tooltip's text

* fix: broken translation strings

* fix: make some room so words fit better

* fix: broken translation

* fix: broken translation

* chore: add missing translations

* chore: add missing translations

* chore: update catalog

* chore: add missing translation

* fix: broken translation

* chore: add missing translation

* fix: unfinished translation

* chore: add missing macros

* chore: add missing macros

* feat: add correct locales to timeago.js

* chore: add missing macros

* fix: translations not updating on change

* fix: localization format

* chore: add t tags

* chore: add trans tags

* chore: add missing t macro

* fix: pill width

* chore: add missing macros

* chore: update language catalogs

* chore: update crowdin project id

* New Crowdin updates (cowprotocol#44)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* fix: translation

* fix: add missing dependency

* chore: update language catalog

* New Crowdin updates (cowprotocol#45)

* New translations en-us.po (Spanish)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* chore: add missing t macro

* chore: add some missing translation macros

* chore: update catalog

* fix: fortune cookie icon z-index

* New Crowdin updates (cowprotocol#47)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* chore: update language catalog

* New Crowdin updates (cowprotocol#49)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: word wrapping in menus

* New Crowdin updates (cowprotocol#51)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: page title update on language switching

* chore: update catalog

* chore: update crowdin project id

* New Crowdin updates (cowprotocol#54)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: localize unlocalized date

* chore: update catalog

* New Crowdin updates (cowprotocol#56)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: update catalog

* New Crowdin updates (cowprotocol#58)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: wrong translation

* fix: wrong translation

* fix: order id string not updating when changing language

* fix: order id string not updating when changing language

* chore: add localization macros to partial approval feature

* chore: update catalog

* New Crowdin updates (cowprotocol#60)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Russian)

* fix: order type appears to be translated to Spanish in the Account modal

* fix: swap confirmation modal word wrapping

* chore: add localization macros

* fix: swap and bridge, route not supported is not translated

* fix: approve is still not transalted

* fix: swap and bridge orders: " view on..' is not translated

* fix: notifications panel name is still not translated

* chore: update catalog

* fix: change macro for hook

* fix: message descriptor missing i18n function

* chore: update catalog

* New Crowdin updates (cowprotocol#61)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: fortune cookie z-index

* fix: hooks section appears to be shifted for a swap and bridge order details

* fix: swap and bridge orders space is missing between a preposition and a chain

* fix: revert table cell widths to original size

* fix: table cell width

* chore: update catalog

* New Crowdin updates (cowprotocol#62)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: update catalog

* New Crowdin updates (cowprotocol#63)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: add new translations

* chore: update catalog

* New Crowdin updates (cowprotocol#64)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: update catalog

* chore: add new translations

* chore: update catalog

* New Crowdin updates (cowprotocol#65)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: add new translations

* fix: localization macros placement

* fix: add styles for the browser to break long words in the unlock widgets

* fix: remove period at the end of sentence

* chore: add missing translation macros

* fix: make browser to break long words using hypens

* fix: align 'Quote refresh in' to the right

* fix: word wrapping

* chore: update catalog

* New Crowdin updates (cowprotocol#66)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: countdown font size

* chore: add missing localization macro

* chore: update catalog

* New Crowdin updates (cowprotocol#67)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish) (cowprotocol#68)

* fix: some minor layout issues

* chore: update catalog

* chore: update crowdin project id

* New Crowdin updates (cowprotocol#69)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: update catalog

* New Crowdin updates (cowprotocol#70)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: move selected token string to a constant

* refactor: remove export default

* chore: update catalog

* fix: remove space from string

* chore: update catalog

* New Crowdin updates (cowprotocol#71)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: wrong string was being localized

* chore: update catalog

* New Crowdin updates (cowprotocol#72)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* chore: update catalog

* chore: add new string localizations

* chore: update catalog

* New Crowdin updates (cowprotocol#73)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: revert localized string to original state

* chore: add localization readme

* chore: remove commented code

* chore: add missing localization macros

* chore: update catalog

* New Crowdin updates (cowprotocol#74)

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* Update source file en-US.po

* New translations en-us.po (Spanish)

* New translations en-us.po (Russian)

* fix: explorer build errors

* fix: cow.fi build issues

* fix: lingui-related issues in tests

* refactor: rename jest lingui provider

* fix: add vite lingui plugin configuration

* fix: add vite lingui plugin configuration

* fix: text wrapping in menu button

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants