0x Developer Update: V2 Tools Published! (July 26th, 2018)

Hi everyone!

This is the first of the irregular 0x developer updates. We will send these out whenever there is something timely, and dev-related to communicate to the 0x developer ecosystem.

V2-compatible Libraries Published!

I’m happy to announce that we’ve refactored all our libraries to work with V2 of 0x protocol! All libraries that have been modified to work with V2 have been published as release candidate versions (e.g 1.0.1-rc.1). The final versions will be released once V2 is deployed on mainnet. These versions are designed to* work exclusively with V2*, V1 support will be discontinued (except for backporting critical bug fixes).

Go ahead and take 0x.js for a spin:

yarn add 0x.js@1.0.1-rc.2

If you are using TypeScript, make sure that you also have the latest version of ‘typescript-typings’ installed:

yarn add @0xproject/typescript-typings@1.0.3

In addition to publishing 0x.js, we’ve quietly split it up into several independent libraries that can be used in a stand-alone fashion. Check out ‘@0xproject/contract-wrappers’, ‘@0xproject/order-utils’, ‘@0xproject/order-watcher’:

yarn add @0xproject/contract-wrappers@1.0.1-rc.2
yarn add @0xproject/order-utils@1.0.1-rc.2
yarn add @0xproject/order-watcher@1.0.1-rc.2

Lastly, we also have RC versions for ‘@0xproject/types’ and ‘@0xproject/json-schemas’ including the proper types and json-schemas for the V2 order format, etc…

yarn add @0xproject/types@1.0.1-rc.3
yarn add @0xproject/json-schemas@1.0.1-rc.3

New Kovan deployment

In addition to the release of the RC packages, we’ve also re-deployed the V2 contracts to Kovan, including two small changes:

  1. We’ve removed support for the ‘onReceive’ callback on the ERC721 proxy (PR #877)
  2. We added a ‘getOrdersInfo’ method to the Exchange smart contract (PR #857)

The new Kovan contract addresses are:

  • ERC20Proxy: 0x9ad1b8209cea603892c9dfaa676bc737088b499a
  • ERC721Proxy: 0xbb428f7108971ecf1144700c4d37792f8b74f6b0
  • Exchange: 0xa458ec0709468996ef2ef668f5e52f37ceb66627
  • AssetProxyOwner: 0x33f780fbc29bd180b2d0ed55c4d036c6a09262b5

These addresses are within the ABI’s shipped in our libraries, so they should work seamlessly with them.

New Ganache snapshot

We also published a new Ganache snapshot with the above mentioned changes. Download it from:

0x is committing fully to Semantic Versioning

Up until this point, most of our packages were on a pre-v1 version(i.e 0.x). As pre-v1 releases, a different set of rules applied to when we incremented patch and minor versions when compared with the full SemVer approach. We’ve decided to let go of our egos and fully embrace semantic versioning. This means that from this point forward, you can expect:

  1. MAJOR version bumps when we make incompatible public interface changes,
  2. MINOR version bumps when we add functionality in a backwards-compatible manner, and
  3. PATCH version bumps we we make backwards-compatible bug fixes.

I hope this helps 0x libraries play nice with the rest of your dev setup and tools.

We are excited to see what you guys build with V2! As always, for questions/concerns/clarifications, hit us up on #dev at chat.0xproject.com.

The 0x dev team