Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: indexed address within interface #99

Merged
merged 2 commits into from
Jul 18, 2024
Merged

fix: indexed address within interface #99

merged 2 commits into from
Jul 18, 2024

Conversation

mfw78
Copy link
Contributor

@mfw78 mfw78 commented Jul 18, 2024

This PR:

  1. Ensures that the interface for the COWAMMPoolCreated complies (i.e. the address is indexed).
  2. Updates the snapshot for mainnet and gnosis.

@mfw78 mfw78 added the bug Something isn't working label Jul 18, 2024
@mfw78 mfw78 requested a review from fedgiac July 18, 2024 10:23
@mfw78 mfw78 self-assigned this Jul 18, 2024
Copy link
Collaborator

@fedgiac fedgiac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interface change is important for the Balancer team, we should notify them before they redeploy their contract.

@mfw78 mfw78 merged commit 965d9ab into test-interface Jul 18, 2024
3 checks passed
@mfw78 mfw78 deleted the fix-index branch July 18, 2024 11:32
@MartinquaXD
Copy link
Contributor

The interface change is important for the Balancer team, we should notify them before they redeploy their contract.

The interface shared with the balancer team already had this value indexed which they followed correctly. It was just our helper contract implementation that did not adhere to the agreed upon interface.

MartinquaXD added a commit to cowprotocol/services that referenced this pull request Jul 18, 2024
# Description
Our implementation of the cow amm helper contract needed to generate
rebalancing orders was very slightly different from the agreed upon
interface. This difference prevented us from indexing balancer pools
correctly. To support the legacy and balancer pools at the same time
both factory implementations need to adhere to the exact same interface
(actually just the emitted events).
This PR updates the interface and all related deployment info based on
cowprotocol/cow-amm#99.

# Changes
Also the new helper contract returns a slightly different signature
which already includes the signer address (expected by the settlement
contract). This should generally be nicer for people using the helper
but in our code base we expect the signer address to not already be part
of the signature bytes so we needed to introduce a small workaround
(with comment explaining why).

Note that the helper contract for the balancer
[implementation](https://etherscan.io/address/0xE50481D88f147B8b4aaCdf9a1B7b7bA44F87823f#code)
has the same behavior so everything should work out.

I also removed the deployment information for `sepolia` since the helper
contract actually supports 0 pools there so we might as well drop it
altogether on `sepolia`.


## How to test
e2e tests still work
MartinquaXD added a commit to cowprotocol/services that referenced this pull request Jul 18, 2024
# Description
Our implementation of the cow amm helper contract needed to generate
rebalancing orders was very slightly different from the agreed upon
interface. This difference prevented us from indexing balancer pools
correctly. To support the legacy and balancer pools at the same time
both factory implementations need to adhere to the exact same interface
(actually just the emitted events).
This PR updates the interface and all related deployment info based on
cowprotocol/cow-amm#99.

# Changes
Also the new helper contract returns a slightly different signature
which already includes the signer address (expected by the settlement
contract). This should generally be nicer for people using the helper
but in our code base we expect the signer address to not already be part
of the signature bytes so we needed to introduce a small workaround
(with comment explaining why).

Note that the helper contract for the balancer
[implementation](https://etherscan.io/address/0xE50481D88f147B8b4aaCdf9a1B7b7bA44F87823f#code)
has the same behavior so everything should work out.

I also removed the deployment information for `sepolia` since the helper
contract actually supports 0 pools there so we might as well drop it
altogether on `sepolia`.


## How to test
e2e tests still work
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants