Interaction
The interaction module enables CoW Protocol settlements to invoke arbitrary smart contracts, supporting capabilities such as EIP-2612 permit calls for gasless approvals and AMM trades (Uniswap, Balancer, Curve, etc.).Types
Interaction
Represents a complete smart contract call with three components:InteractionLike
A flexible partial type requiring only the target address:Functions
normalizeInteraction
Processes a single interaction, applying default values for optional fields.normalizeInteractions
Handles arrays of interactions.0 for value and "0x" for callData.
Execution Stages
Common Use Cases
Best Practices
- Validate target addresses before constructing interactions
- Use Ethers.js for safe calldata encoding
- Exercise caution with Ether transfers (non-zero
value) - Test extensively on testnets prior to mainnet use
- Select appropriate stages based on token balance availability