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

Commit a428703

Browse files
authored
Merge pull request #498 from 0xProject/release/6.0.0-beta
Release version 6.0.0-beta
2 parents 9e86d4d + 38afb27 commit a428703

File tree

80 files changed

+5122
-2004
lines changed

Some content is hidden

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

80 files changed

+5122
-2004
lines changed

.circleci/config.yml

+3-9
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ jobs:
88
- image: 0xorg/ganache-cli:latest
99
environment:
1010
VERSION: 4.3.3
11+
resource_class: large
1112
working_directory: /go/src/github.com/0xProject/0x-mesh
1213
steps:
1314
- checkout
@@ -34,8 +35,8 @@ jobs:
3435
name: Install Go linter
3536
command: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.16.0
3637
- run:
37-
name: Run Go linter
38-
command: golangci-lint run
38+
name: Run linters
39+
command: make lint
3940
- run:
4041
name: Run Go tests
4142
command: make test-go
@@ -51,12 +52,6 @@ jobs:
5152
- run:
5253
name: Test installing Mesh without CGO
5354
command: CGO_ENABLED=0 go install ./...
54-
- run:
55-
name: Install TS RPC client dependencies
56-
command: cd rpc/clients/typescript && yarn install
57-
- run:
58-
name: Run TS RPC client linter
59-
command: cd rpc/clients/typescript && yarn lint
6055
- run:
6156
name: Build TS RPC client
6257
command: cd rpc/clients/typescript && yarn build
@@ -66,4 +61,3 @@ jobs:
6661
- run:
6762
name: Run cut-release script to test it still works
6863
command: VERSION=100.0.0 make cut-release
69-

CHANGELOG.md

+25
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,31 @@
22

33
This changelog is a work in progress and may contain notes for versions which have not actually been released. Check the [Releases](https://github.com/0xProject/0x-mesh/releases) page to see full release notes and more information about the latest released versions.
44

5+
## v6.0.0-beta
6+
7+
### Breaking changes 🛠
8+
9+
*Note:* This release will require wiping your Mesh's DB before upgrading. The DB location defaults to `./0x_mesh/db`.
10+
11+
- Renamed env config from `ETHEREUM_NETWORK_ID` to `ETHEREUM_CHAIN_ID` since `network` is a misnomer here and what we actually care about is the `chainID`. Most chains have the same id for their p2p network and chain. From the ones we support, the only outlier is Ganache, for which you will now need to supply `1337` instead of `50` (Learn more: https://medium.com/@pedrouid/chainid-vs-networkid-how-do-they-differ-on-ethereum-eec2ed41635b) ([#485](https://github.com/0xProject/0x-mesh/pull/485))
12+
- Rejected order code `OrderForIncorrectNetwork` has been changed to `OrderForIncorrectChain` ([#485](https://github.com/0xProject/0x-mesh/pull/485))
13+
- Removed `RPC_PORT` environment variable. The new `RPC_ADDR` environment variable allows specifying both the interface and port ([487](https://github.com/0xProject/0x-mesh/pull/487)).
14+
- Changed the `EXPIRED` event such that it is emitted when an order is expired according to the latest block timestamp, not anymore based on UTC time. ([#490](https://github.com/0xProject/0x-mesh/pull/490))
15+
- Removed the `EXPIRATION_BUFFER_SECONDS` env config since we no longer compute order expiration using UTC time. ([#490](https://github.com/0xProject/0x-mesh/pull/490))
16+
17+
### Features ✅
18+
19+
- Implemented a new strategy for limiting the amount of database storage used by Mesh and removing orders when the database is full. This strategy involves a dynamically adjusting maximum expiration time. When the database is full, Mesh will enforce a maximum expiration time for all incoming orders and remove any existing orders with an expiration time too far in the future. If conditions change and there is enough space in the database again, the max expiration time will slowly increase. This is a short term solution which solves the immediate issue of finite storage capacities and does a decent job of protecting against spam. We expect to improve and possibly replace it in the future. See [#450](https://github.com/0xProject/0x-mesh/pull/450) for more details.
20+
- Added support for a new feature called "order pinning" ([#474](https://github.com/0xProject/0x-mesh/pull/474)). Pinned orders will not be affected by any DDoS prevention or incentive mechanisms (including the new dynamic max expiration time feature) and will always stay in storage until they are no longer fillable. By default, all orders which are submitted via either the JSON-RPC API or the `addOrdersAsync` function in the TypeScript bindings will be pinned.
21+
- Re-enabled bandwidth-based peer banning with a workaround to deal with erroneous spikes [#478](https://github.com/0xProject/0x-mesh/pull/478).
22+
- Added an `UNEXPIRED` order event kind which is emitted for orders that were previously considered expired but due to a block-reorg causing the latest block timestamp to be earlier than the previous latest block timestamp, are no longer expired. ([#490](https://github.com/0xProject/0x-mesh/pull/490))
23+
- Added support for decoding Axie Infinity `Transfer` and `Approve` ERC721 events which differ from the ERC721 standard. ([#494](https://github.com/0xProject/0x-mesh/pull/494))
24+
25+
### Bug fixes 🐞
26+
27+
- Improved the aggressiveness at which we permanently delete orders that have been flagged for removal. Previously we would wait for the cleanup job to handle this (once an hour), but that meant many removed orders would accumulate. We now prune them every 5 minutes. ([#471](https://github.com/0xProject/0x-mesh/pull/471))
28+
- Fixed a bug in the Go RPC client which resulted in errors when receving order events with at least one contract event ([#496](https://github.com/0xProject/0x-mesh/pull/496)).
29+
530
## v5.1.0-beta
631

732
### Features ✅

Gopkg.lock

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

Gopkg.toml

+18-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
[[constraint]]
2929
name = "github.com/ethereum/go-ethereum"
30-
branch = "wasm_signer_core_1"
30+
branch = "wasm_signer_core_2"
3131
source = "github.com/0xProject/go-ethereum"
3232

3333
[[constraint]]
@@ -50,6 +50,11 @@
5050
name = "github.com/karalabe/hid"
5151
unused-packages = false
5252

53+
[[prune.project]]
54+
name = "github.com/karalabe/usb"
55+
unused-packages = false
56+
non-go = true
57+
5358
[[constraint]]
5459
name = "github.com/syndtr/goleveldb"
5560
branch = "full-wasm-support"
@@ -125,3 +130,15 @@
125130
[[constraint]]
126131
name = "github.com/libp2p/go-maddr-filter"
127132
version = "0.0.5"
133+
134+
[[constraint]]
135+
name = "github.com/karlseguin/ccache"
136+
version = "2.0.3"
137+
138+
[[constraint]]
139+
branch = "master"
140+
name = "golang.org/x/time"
141+
142+
[[constraint]]
143+
branch = "master"
144+
name = "github.com/benbjohnson/clock"

0 commit comments

Comments
 (0)