Skip to content

cowprotocol/cow-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Test coverage

Statements Branches Functions Lines
Statements Branches Functions Lines

Use CoW Protocol

Check @cowprotocol/cow-sdk to learn how to trade on the CoW Protocol (get quote, verify amounts, sign and send order)

Technical Overview

This is a TypeScript monorepo containing the complete CoW Protocol SDK ecosystem. The repository is organized into multiple packages that provide different levels of abstraction and functionality for interacting with CoW Protocol.

Monorepo Architecture

The project uses modern tooling for efficient development and publishing:

  • πŸ—οΈ Build System: Turbo for fast, incremental builds and task orchestration
  • πŸ“¦ Package Manager: pnpm v10.8+ with workspaces for efficient dependency management
  • πŸ”§ TypeScript: Shared TypeScript configuration across all packages
  • πŸ§ͺ Testing: Jest for unit testing with coverage reporting
  • πŸ“‹ Linting: ESLint v9+ with TypeScript support and unused imports detection
  • 🎨 Formatting: Prettier for consistent code formatting
  • πŸ“¦ Publishing: Release Please for automated versioning and publishing
  • ⚑ Development: Node.js 22+ required

Package Structure

🎯 Main SDK Package

πŸ”§ Core Trading Packages

πŸŒ‰ Advanced Features

πŸ”Œ Provider Adapters

πŸ“š Supporting Packages

πŸ› οΈ Development Packages

Development Workflow

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Run linting
pnpm lint

# Format code
pnpm format

# Type checking
pnpm typecheck

# Clean build artifacts
pnpm clean

Contributing

We welcome contributions to the CoW Protocol SDK! Here's how to get started:

πŸš€ Quick Start

  1. Fork the repository on GitHub
  2. Clone your fork locally:
    git clone https://github.com/YOUR_USERNAME/cow-sdk.git
    cd cow-sdk
  3. Follow the Development Workflow above to set up your environment
  4. Make your changes following our Contributor Guidelines
  5. Create a pull request short after creating it, you will be asked to sign the CLA (Contributor License Agreement). A comment with instructions will be added to the PR.

πŸ“š Need Help?

About

CoW protocol SDK

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 29