0x protocol monorepo - includes our smart contracts and many developer tools
0x protocol monorepo - includes our smart contracts and many developer tools
This project is deprecated and no longer maintained, refer to 0xProject/protocol and 0xProject/tools instead.
0x is an open protocol that facilitates trustless, low friction exchange of Ethereum-based assets. For more information on how it works, check out the 0x protocol specification.
This repository is a monorepo including the 0x protocol smart contracts and numerous developer tools. Each public sub-package is independently published to NPM.
Visit our developer portal for a comprehensive list of core & community maintained packages. All packages maintained with this monorepo are listed below.
| Package | Version | Description |
|---|---|---|
0x-contract-addresses |
A tiny utility library for getting known deployed contract addresses for a particular network | |
0x-contract-artifacts |
0x smart contract compilation artifacts | |
0x-contract-wrappers |
0x smart contract wrappers | |
0x-json-schemas |
0x-related JSON schemas | |
0x-order-utils |
A set of utilities for generating, parsing, signing and validating 0x orders | |
0x-sra-client |
A Python client for interacting with servers conforming to the Standard Relayer API specification |
These packages are all under development. See /contracts/README.md for a list of deployed packages.
| Package | Version | Description |
|---|---|---|
@0x/contracts-asset-proxy |
AssetProxy contracts used within the protocol |
|
@0x/contracts-erc20 |
Implementations of various ERC20 tokens | |
@0x/contracts-erc721 |
Implementations of various ERC721 tokens | |
@0x/contracts-erc1155 |
Implementations of various ERC1155 tokens | |
@0x/contracts-exchange |
The Exchange contract used for settling trades within the protocol |
|
@0x/contracts-exchange-forwarder |
A Forwarder contract used to simplify UX for interacting with the protocol |
|
@0x/contracts-exchange-libs |
Protocol specific libraries used within the Exchange contract |
|
@0x/contracts-extensions |
Contracts that interact with and extend the functionality of the core protocol | |
@0x/contracts-multisig |
Various implementations of multisignature wallets, including the AssetProxyOwner contract that has permissions to upgrade the protocol |
|
@0x/contracts-test-utils |
TypeScript/Javascript shared utilities used for testing contracts | |
@0x/contracts-utils |
Generic libraries and utilities used throughout all of the contracts | |
@0x/contracts-coordinator |
A contract that allows users to execute 0x transactions with permission from a Coordinator | |
@0x/contracts-dev-utils |
A contract contains utility functions for developers (such as validating many orders using a single eth_call) | |
@0x/contracts-staking |
Implements the stake-based liquidity incentives defined by ZEIP-31 |
| Package | Version | Description |
|---|---|---|
0x.js |
An aggregate package combining many smaller utility packages for interacting with the 0x protocol | |
@0x/contract-addresses |
A tiny utility library for getting known deployed contract addresses for a particular network. | |
@0x/contract-wrappers |
JS/TS wrappers for interacting with the 0x smart contracts | |
@0x/order-utils |
A set of utilities for generating, parsing, signing and validating 0x orders | |
@0x/json-schemas |
0x-related JSON schemas | |
@0x/migrations |
Migration tool for deploying 0x smart contracts on private testnets | |
@0x/contract-artifacts |
0x smart contract compilation artifacts | |
@0x/sra-spec |
OpenAPI specification for the Standard Relayer API | |
@0x/connect |
No open issues yet, or sync has not completed.