It was using net_version, but it should be using the eth_chainId method introduced in EIP-695. I'm not sure whether/how the network ID differs from the chain ID on mainnet and the testnets, but in Ganache in particular, the network ID is 50 while the chain ID is 1337, and this difference was causing problems for Python tests. Specifically, the Web3.py interface `Web3.eth.chainId` invokes the eth_chainId method, and the result feeds into the order hash, which wasn't lining up with the non-Python side of things.
@0x/utils
Utils to be shared across 0x projects and packages
Installation
yarn add @0x/utils
If your project is in TypeScript, add the following to your tsconfig.json
:
"compilerOptions": {
"typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"],
}
Usage
import { addressUtils, bigNumberConfigs, classUtils, intervalUtils, promisify } from '@0x/utils';
Troubleshooting
If you are still seeing TS type errors complaining about missing DOM types such as Response
:
error TS2304: Cannot find name 'Response'.
Then you need to explicitly add the dom
lib to your compiler options in tsconfig.json
. The dom
library is included by default, but customizing the lib
option can cause it to be dropped.
"compilerOptions": {
"lib": [..., "dom"],
Contributing
We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
Please read our contribution guidelines before getting started.
Install dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
yarn config set workspaces-experimental true
Then install dependencies
yarn install
Build
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
PKG=@0x/utils yarn build
Or continuously rebuild on change:
PKG=@0x/utils yarn watch
Clean
yarn clean
Lint
yarn lint