Skip to content
This repository was archived by the owner on Oct 11, 2024. It is now read-only.

Commit 1b5b260

Browse files
authored
Merge pull request #347 from 0xProject/v3.0.0-beta
Release version 3.0.0-beta
2 parents d04554c + 1f89405 commit 1b5b260

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+34978
-2837
lines changed

.circleci/config.yml

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ jobs:
99
working_directory: /go/src/github.com/0xProject/0x-mesh
1010
steps:
1111
- checkout
12+
- run:
13+
name: Install dependencies for Google Chrome
14+
command: sudo apt-get update && sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget --fix-missing
1215
- run:
1316
name: Install dep
1417
command: curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# Automatically collapse generated files in GitHub.
22
ethereum/wrappers/*.go linguist-generated=true
3+
docs/json-rpc-clients/typescript/*.md linguist-generated=true
34

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ examples/javascript_websocket_client/node_modules
77
examples/javascript_websocket_client/lib
88
rpc/clients/typescript/node_modules
99
rpc/clients/typescript/lib
10+
rpc/clients/typescript/yarn-error.log
11+
*.wasm

CHANGELOG.md

+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# CHANGELOG
2+
3+
## Upcoming release
4+
5+
## v3.0.0-beta
6+
7+
### Breaking changes 🛠
8+
9+
- Modified Mesh's validation logic to reject and consider invalid any _partially fillable_ orders. While this is
10+
technically a breaking change, partially fillable orders are rare in the wild and we don't expect this will
11+
affect many users. ([#333](https://github.com/0xProject/0x-mesh/pull/333))
12+
- Lowercased `GetStatsAsync` method to `getStatsAsync` in TS client
13+
14+
### Bug fixes 🐞
15+
16+
- De-dup order submitted via the JSON-RPC method `mesh_addOrders` before performing validation ([#331](https://github.com/0xProject/0x-mesh/pull/331))
17+
- Added `"declaration": true,` to TS client's `tsconfig.json` so that downstream projects can use it's TS typings. ([#325](https://github.com/0xProject/0x-mesh/pull/325))
18+
19+
20+
## v2.0.0-beta
21+
22+
### Breaking changes 🛠
23+
24+
- Modified how `mesh_addOrders` treats orders that are already stored on the Mesh node. Previously, they would be rejected with code `OrderAlreadyStored`. Now, if the order is stored and fillable, it will be accepted. If it is stored but unfillable, it will be rejected with `OrderAlreadyStoredAndUnfillable`. We additionally added a `isNew` property to the accepted orderInfos returned, so that callers can discern which orders Mesh already knew about. ([#316](https://github.com/0xProject/0x-mesh/pull/316))
25+
26+
### Features ✅
27+
28+
- Added backup bootstrap nodes provided by the libp2p community
29+
- Improved log formatting and reduced verbosity in a few cases ([#314](https://github.com/0xProject/0x-mesh/pull/314), [#287](https://github.com/0xProject/0x-mesh/pull/287))
30+
- Reduced AdvertiseBootDelay for bootstrap nodes
31+
- Implemented a check that will alerts you when switching to a different Ethereum network ID. ([#301](https://github.com/0xProject/0x-mesh/pull/301)) -- special thanks to @hrharder!
32+
- Made environment variable parsing more generous by automatically removing quotes if needed ([#306](https://github.com/0xProject/0x-mesh/pull/306))
33+
- Improved tests by adding timeouts and closing resources where appropriate ([#310](https://github.com/0xProject/0x-mesh/pull/310), [#309](https://github.com/0xProject/0x-mesh/pull/309), [#308](https://github.com/0xProject/0x-mesh/pull/308))
34+
- Increased robustness by removing panics and failing more gracefully ([#312](https://github.com/0xProject/0x-mesh/pull/312))
35+
- RPC server is now started while block event backfilling is happening under the hood instead of waiting for it to complete ([#318](https://github.com/0xProject/0x-mesh/pull/318))
36+
- Added a `mesh_getStats` endpoint which returns a host of useful information about the state of the Mesh node (e.g., number of fillable order stored, number of peers, peerID, etc...) ([#322](https://github.com/0xProject/0x-mesh/pull/322))
37+
38+
### Bug fixes 🐞
39+
40+
- Log messages are no longer incorrectly fired when receiving orders which have already been seen ([#286](https://github.com/0xProject/0x-mesh/pull/286))
41+
- Fixed a bug where Mesh was still running after the database was closed ([#300](https://github.com/0xProject/0x-mesh/pull/300))
42+
- Handled Parity "unknown block" error gracefully like we do Geth's ([#285](https://github.com/0xProject/0x-mesh/pull/285))
43+
44+
## v1.0.6-beta
45+
46+
This release fixes several bugs:
47+
48+
- Uninitialized TxHashes map & accidental inclusion of null address txHash in order events ([#280](https://github.com/0xProject/0x-mesh/pull/280))
49+
- Concurrent read/write issue in OrderWatcher's EventDecoder ([#278](https://github.com/0xProject/0x-mesh/issues/278))
50+
- Non-unique logging keys causing Elastic Search indexing issues ([#275](https://github.com/0xProject/0x-mesh/pull/275))
51+
52+
It also includes a reduction in the delay before which bootstrap nodes advertise themselves as relays from 15mins to 30sec.
53+
54+
## v1.0.5-beta
55+
56+
This version introduces a temporary hack in order to help some Mesh nodes find their public IP address under certain circumstances.
57+
58+
## v1.0.4-beta
59+
60+
This release fixes a bug in how AutoNAT and AutoRelay services were discovered.
61+
62+
## v1.0.3-beta
63+
64+
This release fixes some networking related issues with our bootstrap nodes.
65+
66+
- Bootstrap nodes now advertise the correct public IP address.
67+
- Bootstrap nodes now also operate as a relay.
68+
69+
These fixes will help smooth out any issues with peer discovery.
70+
71+
## v1.0.2-beta
72+
73+
This release fixes a few minor bugs and includes additional documentation.
74+
75+
1. Set a custom protocol ID for our DHT in order to separate it from the default IPFS DHT.
76+
2. Fixed a bug in the getOrders JSON-RPC endpoint where fillableTakerAssetAmount was sometimes being encoded as numbers instead of strings.
77+
3. Converted addresses to all lowercase (non-checksummed) in the JSON-RPC API.
78+
4. Improved logging.
79+
5. Added a guide for running a Mesh node with telemetry-enabled.
80+
81+
82+
## v1.0.1-beta
83+
84+
This release adds AutoNAT support for our bootstrap nodes. This enables peers who are behind NATs to find each and connect to each other (in most cases).
85+
86+
In addition, this release includes some changes to default network timeouts and documentation improvements.
87+
88+
## v1.0.0-beta
89+
90+
This is the initial beta release for 0x Mesh!
91+
92+
This release supports the following features:
93+
94+
- Automatic peer discovery via a DHT.
95+
- A JSON-RPC endpoint for interacting with your Mesh node. It includes support for adding new orders and subscribing to order updates.
96+
- Efficient order validation and order watching under the hood. You will get notified quickly when orders are expired, canceled, or filled.
97+
- Basic limitations on the size and types of messages sent by peers. Peers that send malformed messages or messages that are too big will be dropped.
98+
99+
In addition to improving stability and scalability we plan to release many more important features in the near future. Check out https://github.com/0xProject/0x-mesh/issues for more information about what we are working on.

test-wasm/LICENSE GO_LICENSE

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
Note: this license covers code copied and/or modified from the Go source
2+
code. Such code is indicated by a comment at the top of the file.
3+
14
Copyright (c) 2009 The Go Authors. All rights reserved.
25

36
Redistribution and use in source and binary forms, with or without

Gopkg.lock

+40-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

+10-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252

5353
[[constraint]]
5454
name = "github.com/syndtr/goleveldb"
55-
branch = "minimum-wasm-support"
55+
branch = "full-wasm-support"
5656
source = "github.com/0xProject/goleveldb"
5757

5858
[[constraint]]
@@ -112,3 +112,12 @@
112112
[[constraint]]
113113
name = "github.com/hashicorp/golang-lru"
114114
version = "0.5.1"
115+
116+
[[constraint]]
117+
name = "github.com/ipfs/go-ds-leveldb"
118+
version = "0.0.2"
119+
120+
[[constraint]]
121+
branch = "support-arrays"
122+
name = "github.com/norunners/vert"
123+
source = "github.com/albrow/vert"

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
[![Version](https://img.shields.io/badge/version-2.0.0--beta-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
2-
[![Chat with us on Discord](https://img.shields.io/badge/chat-Discord-blueViolet.svg)](https://discord.gg/HF7fHwk)
1+
[![Version](https://img.shields.io/badge/version-3.0.0--beta-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
2+
[![Docs](https://img.shields.io/badge/docs-website-yellow.svg)](https://0x-org.gitbook.io/mesh)
33
[![GoDoc](https://godoc.org/github.com/0xProject/0x-mesh?status.svg)](https://godoc.org/github.com/0xProject/0x-mesh)
4+
[![Chat with us on Discord](https://img.shields.io/badge/chat-Discord-blueViolet.svg)](https://discord.gg/HF7fHwk)
45
[![Circle CI](https://img.shields.io/circleci/project/0xProject/0x-mesh/master.svg)](https://circleci.com/gh/0xProject/0x-mesh/tree/master)
56

67
# 0x Mesh

0 commit comments

Comments
 (0)