Compare commits
6 Commits
developmen
...
@0x/migrat
Author | SHA1 | Date | |
---|---|---|---|
|
7bf710f153 | ||
|
e50fd77973 | ||
|
71cdc8a28f | ||
|
549f7bc6ee | ||
|
92ec1d6923 | ||
|
56529180e9 |
@@ -30,7 +30,8 @@
|
||||
"note": "Add Gas Token freeing to `DexForwarderBridge` contract.",
|
||||
"pr": 2536
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,16 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.3.0 - _June 24, 2020_
|
||||
|
||||
* Use `LibERC20Token.approveIfBelow()` in DEX bridges for for approvals. (#2512)
|
||||
* Emit `ERC20BridgeTransfer` events in bridges. (#2512)
|
||||
* Change names of `ERC20BridgeTransfer` args to be less ambiguous. (#2524)
|
||||
* Added `MixinGasToken` allowing Gas Tokens to be freed (#2523)
|
||||
* Add `DexForwaderBridge` bridge contract. (#2525)
|
||||
* Add `UniswapV2Bridge` bridge contract. (#2590)
|
||||
* Add Gas Token freeing to `DexForwarderBridge` contract. (#2536)
|
||||
|
||||
## v3.2.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
@@ -32,7 +42,7 @@ CHANGELOG
|
||||
* Fix broken tests. (#2462)
|
||||
* Remove dependency on `@0x/contracts-dev-utils` (#2462)
|
||||
* Add asset data decoding functions (#2462)
|
||||
* Add `setOperators()` to `IDydx` (#TODO)
|
||||
* Add `setOperators()` to `IDydx` (#2462)
|
||||
|
||||
## v3.1.3 - _February 6, 2020_
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-asset-proxy",
|
||||
"version": "3.2.5",
|
||||
"version": "3.3.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -51,13 +51,13 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contract-wrappers": "^13.6.3",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contract-wrappers": "^13.7.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
@@ -79,17 +79,17 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-erc1155": "^2.1.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-erc721": "^3.1.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-erc1155": "^2.1.6",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-erc721": "^3.1.6",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"lodash": "^4.17.11"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -6,7 +6,8 @@
|
||||
"note": "Fix broken tests.",
|
||||
"pr": 2591
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v1.1.5 - _June 24, 2020_
|
||||
|
||||
* Fix broken tests. (#2591)
|
||||
|
||||
## v1.1.4 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-broker",
|
||||
"version": "1.1.4",
|
||||
"version": "1.1.5",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -51,20 +51,20 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-erc721": "^3.1.5",
|
||||
"@0x/contracts-exchange": "^3.2.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-erc721": "^3.1.6",
|
||||
"@0x/contracts-exchange": "^3.2.6",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -84,11 +84,11 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"ethereum-types": "^3.1.0"
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"ethereum-types": "^3.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "3.1.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "3.1.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.1.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v3.1.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-coordinator",
|
||||
"version": "3.1.5",
|
||||
"version": "3.1.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -52,19 +52,19 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-dev-utils": "^1.3.3",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-exchange": "^3.2.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-dev-utils": "^1.3.4",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-exchange": "^3.2.6",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -84,15 +84,15 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contract-addresses": "^4.9.0",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contract-addresses": "^4.10.0",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"http-status-codes": "^1.3.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "1.3.4",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "1.3.3",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v1.3.4 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v1.3.3 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-dev-utils",
|
||||
"version": "1.3.3",
|
||||
"version": "1.3.4",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -41,19 +41,19 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/dev-utils/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@types/node": "*",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethers": "~4.0.4",
|
||||
"npm-run-all": "^4.1.2",
|
||||
"shx": "^0.2.2",
|
||||
@@ -64,7 +64,7 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1"
|
||||
"@0x/base-contract": "^6.2.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "2.1.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "2.1.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v2.1.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v2.1.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-erc1155",
|
||||
"version": "2.1.5",
|
||||
"version": "2.1.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -52,15 +52,15 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -68,7 +68,7 @@
|
||||
"chai-as-promised": "^7.1.0",
|
||||
"chai-bignumber": "^3.0.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"make-promises-safe": "^1.1.0",
|
||||
"mocha": "^6.2.0",
|
||||
"npm-run-all": "^4.1.2",
|
||||
@@ -80,10 +80,10 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"lodash": "^4.17.11"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -26,7 +26,8 @@
|
||||
"note": "Sample from MultiBridge",
|
||||
"pr": 2593
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v1.6.0 - _June 24, 2020_
|
||||
|
||||
* Pass in `DevUtils` address as a constructor parameter (#2531)
|
||||
* Sample `Curve` for buy amounts (#2551)
|
||||
* Added `sampleBuysFromKyberNetwork` (#2551)
|
||||
* Use `searchBestRate` in Kyber samples. Return 0 when Uniswap/Eth2Dai reserve (#2575)
|
||||
* Add UniswapV2 (#2595)
|
||||
* Sample from MultiBridge (#2593)
|
||||
|
||||
## v1.5.1 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-erc20-bridge-sampler",
|
||||
"version": "1.5.1",
|
||||
"version": "1.6.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -50,18 +50,18 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-exchange": "^3.2.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-exchange": "^3.2.6",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -79,11 +79,11 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"lodash": "^4.17.11"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -14,7 +14,8 @@
|
||||
"note": "Update `LibERC20TokenV06` comments.",
|
||||
"pr": 2597
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,12 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.2.0 - _June 24, 2020_
|
||||
|
||||
* Add `LibERC20Token.approveIfBelow()` (#2512)
|
||||
* Add solidity 0.6 contracts (#2545)
|
||||
* Update `LibERC20TokenV06` comments. (#2597)
|
||||
|
||||
## v3.1.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-erc20",
|
||||
"version": "3.1.5",
|
||||
"version": "3.2.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -51,18 +51,18 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -70,7 +70,7 @@
|
||||
"chai-as-promised": "^7.1.0",
|
||||
"chai-bignumber": "^3.0.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"lodash": "^4.17.11",
|
||||
"make-promises-safe": "^1.1.0",
|
||||
"mocha": "^6.2.0",
|
||||
@@ -82,7 +82,7 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1"
|
||||
"@0x/base-contract": "^6.2.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "3.1.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "3.1.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.1.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v3.1.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-erc721",
|
||||
"version": "3.1.5",
|
||||
"version": "3.1.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -52,18 +52,18 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -71,7 +71,7 @@
|
||||
"chai-as-promised": "^7.1.0",
|
||||
"chai-bignumber": "^3.0.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"lodash": "^4.17.11",
|
||||
"make-promises-safe": "^1.1.0",
|
||||
"mocha": "^6.2.0",
|
||||
@@ -84,7 +84,7 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1"
|
||||
"@0x/base-contract": "^6.2.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "4.2.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "4.2.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v4.2.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v4.2.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-exchange-forwarder",
|
||||
"version": "4.2.5",
|
||||
"version": "4.2.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -52,25 +52,25 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-dev-utils": "^1.3.3",
|
||||
"@0x/contracts-erc1155": "^2.1.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-erc721": "^3.1.5",
|
||||
"@0x/contracts-exchange": "^3.2.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-dev-utils": "^1.3.4",
|
||||
"@0x/contracts-erc1155": "^2.1.6",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-erc721": "^3.1.6",
|
||||
"@0x/contracts-exchange": "^3.2.6",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -90,9 +90,9 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"ethereum-types": "^3.1.0"
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"ethereum-types": "^3.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "4.3.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "4.3.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v4.3.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v4.3.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-exchange-libs",
|
||||
"version": "4.3.5",
|
||||
"version": "4.3.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -52,14 +52,14 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/libs/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -80,14 +80,14 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"ethereum-types": "^3.1.0"
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"ethereum-types": "^3.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "3.2.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "3.2.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.2.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v3.2.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-exchange",
|
||||
"version": "3.2.5",
|
||||
"version": "3.2.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -52,21 +52,21 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-multisig": "^4.1.5",
|
||||
"@0x/contracts-staking": "^2.0.12",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-multisig": "^4.1.6",
|
||||
"@0x/contracts-staking": "^2.0.13",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -74,7 +74,7 @@
|
||||
"chai-as-promised": "^7.1.0",
|
||||
"chai-bignumber": "^3.0.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethereumjs-util": "^5.1.1",
|
||||
"js-combinatorics": "^0.5.3",
|
||||
"make-promises-safe": "^1.1.0",
|
||||
@@ -88,13 +88,13 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-dev-utils": "^1.3.3",
|
||||
"@0x/contracts-erc1155": "^2.1.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-erc721": "^3.1.5",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-dev-utils": "^1.3.4",
|
||||
"@0x/contracts-erc1155": "^2.1.6",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-erc721": "^3.1.6",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"lodash": "^4.17.11"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -6,7 +6,8 @@
|
||||
"note": "Add MaximumGasPrice contract, tooling, and unit tests",
|
||||
"pr": 2511
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v6.2.0 - _June 24, 2020_
|
||||
|
||||
* Add MaximumGasPrice contract, tooling, and unit tests (#2511)
|
||||
|
||||
## v6.1.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-extensions",
|
||||
"version": "6.1.5",
|
||||
"version": "6.2.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -51,24 +51,24 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-dev-utils": "^1.3.3",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-erc721": "^3.1.5",
|
||||
"@0x/contracts-exchange": "^3.2.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-dev-utils": "^1.3.4",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-erc721": "^3.1.6",
|
||||
"@0x/contracts-exchange": "^3.2.6",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -90,9 +90,9 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"ethereum-types": "^3.1.0"
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"ethereum-types": "^3.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -6,7 +6,8 @@
|
||||
"note": "Update `ERC20BridgeSampler` tests",
|
||||
"pr": 2531
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v2.5.2 - _June 24, 2020_
|
||||
|
||||
* Update `ERC20BridgeSampler` tests (#2531)
|
||||
|
||||
## v2.5.1 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-integrations",
|
||||
"version": "2.5.1",
|
||||
"version": "2.5.2",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -51,25 +51,25 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contract-addresses": "^4.9.0",
|
||||
"@0x/contract-wrappers": "^13.6.3",
|
||||
"@0x/contracts-broker": "^1.1.4",
|
||||
"@0x/contracts-coordinator": "^3.1.5",
|
||||
"@0x/contracts-dev-utils": "^1.3.3",
|
||||
"@0x/contracts-erc20-bridge-sampler": "^1.5.1",
|
||||
"@0x/contracts-exchange-forwarder": "^4.2.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/contracts-extensions": "^6.1.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contract-addresses": "^4.10.0",
|
||||
"@0x/contract-wrappers": "^13.7.0",
|
||||
"@0x/contracts-broker": "^1.1.5",
|
||||
"@0x/contracts-coordinator": "^3.1.6",
|
||||
"@0x/contracts-dev-utils": "^1.3.4",
|
||||
"@0x/contracts-erc20-bridge-sampler": "^1.6.0",
|
||||
"@0x/contracts-exchange-forwarder": "^4.2.6",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/contracts-extensions": "^6.2.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/coordinator-server": "^1.0.5",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/migrations": "^6.2.4",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/migrations": "^6.3.0",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@azure/core-asynciterator-polyfill": "^1.0.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
@@ -92,20 +92,20 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/asset-swapper": "^4.4.0",
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-erc1155": "^2.1.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-erc721": "^3.1.5",
|
||||
"@0x/contracts-exchange": "^3.2.5",
|
||||
"@0x/contracts-multisig": "^4.1.5",
|
||||
"@0x/contracts-staking": "^2.0.12",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/asset-swapper": "^4.5.0",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-erc1155": "^2.1.6",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-erc721": "^3.1.6",
|
||||
"@0x/contracts-exchange": "^3.2.6",
|
||||
"@0x/contracts-multisig": "^4.1.6",
|
||||
"@0x/contracts-staking": "^2.0.13",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethereumjs-util": "^6.2.0",
|
||||
"lodash": "^4.17.11"
|
||||
},
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "4.1.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "4.1.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v4.1.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v4.1.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-multisig",
|
||||
"version": "4.1.5",
|
||||
"version": "4.1.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -49,18 +49,18 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/multisig/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -78,9 +78,9 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"ethereum-types": "^3.1.0"
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"ethereum-types": "^3.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "2.0.13",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "2.0.12",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v2.0.13 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v2.0.12 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-staking",
|
||||
"version": "2.0.12",
|
||||
"version": "2.0.13",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -53,20 +53,20 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-asset-proxy": "^3.2.5",
|
||||
"@0x/contracts-dev-utils": "^1.3.3",
|
||||
"@0x/contracts-erc20": "^3.1.5",
|
||||
"@0x/contracts-exchange-libs": "^4.3.5",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-utils": "^4.4.3",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-asset-proxy": "^3.3.0",
|
||||
"@0x/contracts-dev-utils": "^1.3.4",
|
||||
"@0x/contracts-erc20": "^3.2.0",
|
||||
"@0x/contracts-exchange-libs": "^4.3.6",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-utils": "^4.5.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/node": "*",
|
||||
"chai": "^4.0.1",
|
||||
@@ -87,11 +87,11 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethereumjs-util": "^5.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -6,7 +6,8 @@
|
||||
"note": "Add `msg` param to `assertIntegerRoughlyEquals`",
|
||||
"pr": 2576
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v5.3.3 - _June 24, 2020_
|
||||
|
||||
* Add `msg` param to `assertIntegerRoughlyEquals` (#2576)
|
||||
|
||||
## v5.3.2 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-test-utils",
|
||||
"version": "5.3.2",
|
||||
"version": "5.3.3",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -34,7 +34,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/test-utils/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"npm-run-all": "^4.1.2",
|
||||
"shx": "^0.2.2",
|
||||
@@ -42,20 +42,20 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contract-addresses": "^4.9.0",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-coverage": "^4.0.8",
|
||||
"@0x/sol-profiler": "^4.0.8",
|
||||
"@0x/sol-trace": "^3.0.8",
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contract-addresses": "^4.10.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-coverage": "^4.0.9",
|
||||
"@0x/sol-profiler": "^4.0.9",
|
||||
"@0x/sol-trace": "^3.0.9",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/bn.js": "^4.11.0",
|
||||
"@types/js-combinatorics": "^0.5.29",
|
||||
"@types/lodash": "4.14.104",
|
||||
@@ -67,7 +67,7 @@
|
||||
"chai-bignumber": "^3.0.0",
|
||||
"decimal.js": "^10.2.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethereumjs-util": "^5.1.1",
|
||||
"ethers": "~4.0.4",
|
||||
"js-combinatorics": "^0.5.3",
|
||||
|
@@ -26,7 +26,8 @@
|
||||
"note": "Update V06 contracts to get around 0.6.9 docstring errors",
|
||||
"pr": 2597
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v4.5.0 - _June 24, 2020_
|
||||
|
||||
* Added `GST_ADDRESS` and `GST_COLLECTOR_ADDRESS` (#2523)
|
||||
* Set GST Collector address in `DeploymentConstants` (#2530)
|
||||
* Add solidity 0.6 contracts (#2540)
|
||||
* Add more solidity 0.6 contracts (#2545)
|
||||
* Add UniswapV2 addresses to `DeploymentConstants` (#2595)
|
||||
* Update V06 contracts to get around 0.6.9 docstring errors (#2597)
|
||||
|
||||
## v4.4.3 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-utils",
|
||||
"version": "4.4.3",
|
||||
"version": "4.5.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -50,15 +50,15 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/utils/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/bn.js": "^4.11.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
@@ -79,11 +79,11 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"bn.js": "^4.11.8",
|
||||
"ethereum-types": "^3.1.0"
|
||||
"ethereum-types": "^3.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "0.1.1",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "0.1.0",
|
||||
"changes": [
|
||||
@@ -9,6 +18,10 @@
|
||||
{
|
||||
"note": "Introduce fill `TransformERC20` feature.",
|
||||
"pr": 2545
|
||||
},
|
||||
{
|
||||
"note": "Fill Bridges directly in `FillQuoteTransformer`.",
|
||||
"pr": 2608
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@@ -4,3 +4,13 @@ Edit the package's CHANGELOG.json file only.
|
||||
-->
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v0.1.1 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v0.1.0 - _Invalid date_
|
||||
|
||||
* Create this package (#2540)
|
||||
* Introduce fill `TransformERC20` feature. (#2545)
|
||||
* Fill Bridges directly in `FillQuoteTransformer`. (#2608)
|
||||
|
@@ -0,0 +1,436 @@
|
||||
/*
|
||||
|
||||
Copyright 2020 ZeroEx Intl.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
*/
|
||||
|
||||
pragma solidity ^0.6.5;
|
||||
pragma experimental ABIEncoderV2;
|
||||
|
||||
import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol";
|
||||
import "@0x/contracts-erc20/contracts/src/v06/IERC20TokenV06.sol";
|
||||
import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol";
|
||||
import "@0x/contracts-erc20/contracts/src/v06/LibERC20TokenV06.sol";
|
||||
import "@0x/contracts-utils/contracts/src/v06/LibSafeMathV06.sol";
|
||||
import "@0x/contracts-utils/contracts/src/v06/LibMathV06.sol";
|
||||
import "../errors/LibTransformERC20RichErrors.sol";
|
||||
import "../vendor/v3/IExchange.sol";
|
||||
import "./Transformer.sol";
|
||||
import "./LibERC20Transformer.sol";
|
||||
|
||||
|
||||
/// @dev A transformer that fills an ERC20 market sell/buy quote.
|
||||
contract FillOrdersTransformer is
|
||||
Transformer
|
||||
{
|
||||
using LibERC20TokenV06 for IERC20TokenV06;
|
||||
using LibERC20Transformer for IERC20TokenV06;
|
||||
using LibSafeMathV06 for uint256;
|
||||
using LibRichErrorsV06 for bytes;
|
||||
|
||||
/// @dev Whether we are performing a market sell or buy.
|
||||
enum Side {
|
||||
Sell,
|
||||
Buy
|
||||
}
|
||||
|
||||
/// @dev Transform data to ABI-encode and pass into `transform()`.
|
||||
struct TransformData {
|
||||
// Whether we aer performing a market sell or buy.
|
||||
Side side;
|
||||
// The token being sold.
|
||||
// This should be an actual token, not the ETH pseudo-token.
|
||||
IERC20TokenV06 sellToken;
|
||||
// The token being bought.
|
||||
// This should be an actual token, not the ETH pseudo-token.
|
||||
IERC20TokenV06 buyToken;
|
||||
// The orders to fill.
|
||||
IExchange.Order[] orders;
|
||||
// Signatures for each respective order in `orders`.
|
||||
bytes[] signatures;
|
||||
// Maximum fill amount for each order. This may be shorter than the
|
||||
// number of orders, where missing entries will be treated as `uint256(-1)`.
|
||||
// For sells, this will be the maximum sell amount (taker asset).
|
||||
// For buys, this will be the maximum buy amount (maker asset).
|
||||
uint256[] maxOrderFillAmounts;
|
||||
// Amount of `sellToken` to sell or `buyToken` to buy.
|
||||
// For sells, this may be `uint256(-1)` to sell the entire balance of
|
||||
// `sellToken`.
|
||||
uint256 fillAmount;
|
||||
}
|
||||
|
||||
/// @dev Results of a call to `_fillOrder()`.
|
||||
struct FillOrderResults {
|
||||
// The amount of taker tokens sold, according to balance checks.
|
||||
uint256 takerTokenSoldAmount;
|
||||
// The amount of maker tokens sold, according to balance checks.
|
||||
uint256 makerTokenBoughtAmount;
|
||||
// The amount of protocol fee paid.
|
||||
uint256 protocolFeePaid;
|
||||
}
|
||||
|
||||
/// @dev The Exchange ERC20Proxy ID.
|
||||
bytes4 private constant ERC20_ASSET_PROXY_ID = 0xf47261b0;
|
||||
/// @dev Maximum uint256 value.
|
||||
uint256 private constant MAX_UINT256 = uint256(-1);
|
||||
|
||||
/// @dev The Exchange contract.
|
||||
IExchange public immutable exchange;
|
||||
/// @dev The ERC20Proxy address.
|
||||
address public immutable erc20Proxy;
|
||||
|
||||
/// @dev Create this contract.
|
||||
/// @param exchange_ The Exchange V3 instance.
|
||||
constructor(IExchange exchange_)
|
||||
public
|
||||
Transformer()
|
||||
{
|
||||
exchange = exchange_;
|
||||
erc20Proxy = exchange_.getAssetProxy(ERC20_ASSET_PROXY_ID);
|
||||
}
|
||||
|
||||
/// @dev Sell this contract's entire balance of of `sellToken` in exchange
|
||||
/// for `buyToken` by filling `orders`. Protocol fees should be attached
|
||||
/// to this call. `buyToken` and excess ETH will be transferred back to the caller.
|
||||
/// @param data_ ABI-encoded `TransformData`.
|
||||
/// @return success The success bytes (`LibERC20Transformer.TRANSFORMER_SUCCESS`).
|
||||
function transform(
|
||||
bytes32, // callDataHash,
|
||||
address payable, // taker,
|
||||
bytes calldata data_
|
||||
)
|
||||
external
|
||||
override
|
||||
returns (bytes4 success)
|
||||
{
|
||||
TransformData memory data = abi.decode(data_, (TransformData));
|
||||
|
||||
// Validate data fields.
|
||||
if (data.sellToken.isTokenETH() || data.buyToken.isTokenETH()) {
|
||||
LibTransformERC20RichErrors.InvalidTransformDataError(
|
||||
LibTransformERC20RichErrors.InvalidTransformDataErrorCode.INVALID_TOKENS,
|
||||
data_
|
||||
).rrevert();
|
||||
}
|
||||
if (data.orders.length != data.signatures.length) {
|
||||
LibTransformERC20RichErrors.InvalidTransformDataError(
|
||||
LibTransformERC20RichErrors.InvalidTransformDataErrorCode.INVALID_ARRAY_LENGTH,
|
||||
data_
|
||||
).rrevert();
|
||||
}
|
||||
|
||||
if (data.side == Side.Sell && data.fillAmount == MAX_UINT256) {
|
||||
// If `sellAmount == -1 then we are selling
|
||||
// the entire balance of `sellToken`. This is useful in cases where
|
||||
// the exact sell amount is not exactly known in advance, like when
|
||||
// unwrapping Chai/cUSDC/cDAI.
|
||||
data.fillAmount = data.sellToken.getTokenBalanceOf(address(this));
|
||||
}
|
||||
|
||||
// Approve the ERC20 proxy to spend `sellToken`.
|
||||
data.sellToken.approveIfBelow(erc20Proxy, data.fillAmount);
|
||||
|
||||
// Fill the orders.
|
||||
uint256 singleProtocolFee = exchange.protocolFeeMultiplier().safeMul(tx.gasprice);
|
||||
uint256 ethRemaining = address(this).balance;
|
||||
uint256 boughtAmount = 0;
|
||||
uint256 soldAmount = 0;
|
||||
for (uint256 i = 0; i < data.orders.length; ++i) {
|
||||
// Check if we've hit our targets.
|
||||
if (data.side == Side.Sell) {
|
||||
// Market sell check.
|
||||
if (soldAmount >= data.fillAmount) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// Market buy check.
|
||||
if (boughtAmount >= data.fillAmount) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure we have enough ETH to cover the protocol fee.
|
||||
if (ethRemaining < singleProtocolFee) {
|
||||
LibTransformERC20RichErrors
|
||||
.InsufficientProtocolFeeError(ethRemaining, singleProtocolFee)
|
||||
.rrevert();
|
||||
}
|
||||
|
||||
// Fill the order.
|
||||
FillOrderResults memory results;
|
||||
if (data.side == Side.Sell) {
|
||||
// Market sell.
|
||||
results = _sellToOrder(
|
||||
data.buyToken,
|
||||
data.sellToken,
|
||||
data.orders[i],
|
||||
data.signatures[i],
|
||||
data.fillAmount.safeSub(soldAmount).min256(
|
||||
data.maxOrderFillAmounts.length > i
|
||||
? data.maxOrderFillAmounts[i]
|
||||
: MAX_UINT256
|
||||
),
|
||||
singleProtocolFee
|
||||
);
|
||||
} else {
|
||||
// Market buy.
|
||||
results = _buyFromOrder(
|
||||
data.buyToken,
|
||||
data.sellToken,
|
||||
data.orders[i],
|
||||
data.signatures[i],
|
||||
data.fillAmount.safeSub(boughtAmount).min256(
|
||||
data.maxOrderFillAmounts.length > i
|
||||
? data.maxOrderFillAmounts[i]
|
||||
: MAX_UINT256
|
||||
),
|
||||
singleProtocolFee
|
||||
);
|
||||
}
|
||||
|
||||
// Accumulate totals.
|
||||
soldAmount = soldAmount.safeAdd(results.takerTokenSoldAmount);
|
||||
boughtAmount = boughtAmount.safeAdd(results.makerTokenBoughtAmount);
|
||||
ethRemaining = ethRemaining.safeSub(results.protocolFeePaid);
|
||||
}
|
||||
|
||||
// Ensure we hit our targets.
|
||||
if (data.side == Side.Sell) {
|
||||
// Market sell check.
|
||||
if (soldAmount < data.fillAmount) {
|
||||
LibTransformERC20RichErrors
|
||||
.IncompleteFillSellQuoteError(
|
||||
address(data.sellToken),
|
||||
soldAmount,
|
||||
data.fillAmount
|
||||
).rrevert();
|
||||
}
|
||||
} else {
|
||||
// Market buy check.
|
||||
if (boughtAmount < data.fillAmount) {
|
||||
LibTransformERC20RichErrors
|
||||
.IncompleteFillBuyQuoteError(
|
||||
address(data.buyToken),
|
||||
boughtAmount,
|
||||
data.fillAmount
|
||||
).rrevert();
|
||||
}
|
||||
}
|
||||
return LibERC20Transformer.TRANSFORMER_SUCCESS;
|
||||
}
|
||||
|
||||
/// @dev Try to sell up to `sellAmount` from an order.
|
||||
/// @param makerToken The maker/buy token.
|
||||
/// @param takerToken The taker/sell token.
|
||||
/// @param order The order to fill.
|
||||
/// @param signature The signature for `order`.
|
||||
/// @param sellAmount Amount of taker token to sell.
|
||||
/// @param protocolFee The protocol fee needed to fill `order`.
|
||||
function _sellToOrder(
|
||||
IERC20TokenV06 makerToken,
|
||||
IERC20TokenV06 takerToken,
|
||||
IExchange.Order memory order,
|
||||
bytes memory signature,
|
||||
uint256 sellAmount,
|
||||
uint256 protocolFee
|
||||
)
|
||||
private
|
||||
returns (FillOrderResults memory results)
|
||||
{
|
||||
IERC20TokenV06 takerFeeToken =
|
||||
_getTokenFromERC20AssetData(order.takerFeeAssetData);
|
||||
|
||||
uint256 takerTokenFillAmount = sellAmount;
|
||||
|
||||
if (order.takerFee != 0) {
|
||||
if (takerFeeToken == makerToken) {
|
||||
// Taker fee is payable in the maker token, so we need to
|
||||
// approve the proxy to spend the maker token.
|
||||
// It isn't worth computing the actual taker fee
|
||||
// since `approveIfBelow()` will set the allowance to infinite. We
|
||||
// just need a reasonable upper bound to avoid unnecessarily re-approving.
|
||||
takerFeeToken.approveIfBelow(erc20Proxy, order.takerFee);
|
||||
} else if (takerFeeToken == takerToken){
|
||||
// Taker fee is payable in the taker token, so we need to
|
||||
// reduce the fill amount to cover the fee.
|
||||
// takerTokenFillAmount' =
|
||||
// (takerTokenFillAmount * order.takerAssetAmount) /
|
||||
// (order.takerAssetAmount + order.takerFee)
|
||||
takerTokenFillAmount = LibMathV06.getPartialAmountCeil(
|
||||
order.takerAssetAmount,
|
||||
order.takerAssetAmount.safeAdd(order.takerFee),
|
||||
sellAmount
|
||||
);
|
||||
} else {
|
||||
// Only support taker or maker asset denominated taker fees.
|
||||
LibTransformERC20RichErrors.InvalidTakerFeeTokenError(
|
||||
address(takerFeeToken)
|
||||
).rrevert();
|
||||
}
|
||||
}
|
||||
|
||||
// Clamp fill amount to order size.
|
||||
takerTokenFillAmount = LibSafeMathV06.min256(
|
||||
takerTokenFillAmount,
|
||||
order.takerAssetAmount
|
||||
);
|
||||
|
||||
// Perform the fill.
|
||||
return _fillOrder(
|
||||
order,
|
||||
signature,
|
||||
takerTokenFillAmount,
|
||||
protocolFee,
|
||||
makerToken,
|
||||
takerFeeToken == takerToken
|
||||
);
|
||||
}
|
||||
|
||||
/// @dev Try to buy up to `buyAmount` from an order.
|
||||
/// @param makerToken The maker/buy token.
|
||||
/// @param takerToken The taker/sell token.
|
||||
/// @param order The order to fill.
|
||||
/// @param signature The signature for `order`.
|
||||
/// @param buyAmount Amount of maker token to buy.
|
||||
/// @param protocolFee The protocol fee needed to fill `order`.
|
||||
function _buyFromOrder(
|
||||
IERC20TokenV06 makerToken,
|
||||
IERC20TokenV06 takerToken,
|
||||
IExchange.Order memory order,
|
||||
bytes memory signature,
|
||||
uint256 buyAmount,
|
||||
uint256 protocolFee
|
||||
)
|
||||
private
|
||||
returns (FillOrderResults memory results)
|
||||
{
|
||||
IERC20TokenV06 takerFeeToken =
|
||||
_getTokenFromERC20AssetData(order.takerFeeAssetData);
|
||||
// Compute the default taker token fill amount.
|
||||
uint256 takerTokenFillAmount = LibMathV06.getPartialAmountCeil(
|
||||
buyAmount,
|
||||
order.makerAssetAmount,
|
||||
order.takerAssetAmount
|
||||
);
|
||||
|
||||
if (order.takerFee != 0) {
|
||||
if (takerFeeToken == makerToken) {
|
||||
// Taker fee is payable in the maker token.
|
||||
// Adjust the taker token fill amount to account for maker
|
||||
// tokens being lost to the taker fee.
|
||||
// takerTokenFillAmount' =
|
||||
// (order.takerAssetAmount * buyAmount) /
|
||||
// (order.makerAssetAmount - order.takerFee)
|
||||
takerTokenFillAmount = LibMathV06.getPartialAmountCeil(
|
||||
buyAmount,
|
||||
order.makerAssetAmount.safeSub(order.takerFee),
|
||||
order.takerAssetAmount
|
||||
);
|
||||
// Approve the proxy to spend the maker token.
|
||||
// It isn't worth computing the actual taker fee
|
||||
// since `approveIfBelow()` will set the allowance to infinite. We
|
||||
// just need a reasonable upper bound to avoid unnecessarily re-approving.
|
||||
takerFeeToken.approveIfBelow(erc20Proxy, order.takerFee);
|
||||
} else if (takerFeeToken != takerToken) {
|
||||
// Only support taker or maker asset denominated taker fees.
|
||||
LibTransformERC20RichErrors.InvalidTakerFeeTokenError(
|
||||
address(takerFeeToken)
|
||||
).rrevert();
|
||||
}
|
||||
}
|
||||
|
||||
// Clamp to order size.
|
||||
takerTokenFillAmount = LibSafeMathV06.min256(
|
||||
order.takerAssetAmount,
|
||||
takerTokenFillAmount
|
||||
);
|
||||
|
||||
// Perform the fill.
|
||||
return _fillOrder(
|
||||
order,
|
||||
signature,
|
||||
takerTokenFillAmount,
|
||||
protocolFee,
|
||||
makerToken,
|
||||
takerFeeToken == takerToken
|
||||
);
|
||||
}
|
||||
|
||||
/// @dev Attempt to fill an order. If the fill reverts, the revert will be
|
||||
/// swallowed and `results` will be zeroed out.
|
||||
/// @param order The order to fill.
|
||||
/// @param signature The order signature.
|
||||
/// @param takerAssetFillAmount How much taker asset to fill.
|
||||
/// @param protocolFee The protocol fee needed to fill this order.
|
||||
/// @param makerToken The maker token.
|
||||
/// @param isTakerFeeInTakerToken Whether the taker fee token is the same as the
|
||||
/// taker token.
|
||||
function _fillOrder(
|
||||
IExchange.Order memory order,
|
||||
bytes memory signature,
|
||||
uint256 takerAssetFillAmount,
|
||||
uint256 protocolFee,
|
||||
IERC20TokenV06 makerToken,
|
||||
bool isTakerFeeInTakerToken
|
||||
)
|
||||
private
|
||||
returns (FillOrderResults memory results)
|
||||
{
|
||||
// Track changes in the maker token balance.
|
||||
uint256 initialMakerTokenBalance = makerToken.balanceOf(address(this));
|
||||
try
|
||||
exchange.fillOrder
|
||||
{value: protocolFee}
|
||||
(order, takerAssetFillAmount, signature)
|
||||
returns (IExchange.FillResults memory fillResults)
|
||||
{
|
||||
// Update maker quantity based on changes in token balances.
|
||||
results.makerTokenBoughtAmount = makerToken.balanceOf(address(this))
|
||||
.safeSub(initialMakerTokenBalance);
|
||||
// We can trust the other fill result quantities.
|
||||
results.protocolFeePaid = fillResults.protocolFeePaid;
|
||||
results.takerTokenSoldAmount = fillResults.takerAssetFilledAmount;
|
||||
// If the taker fee is payable in the taker asset, include the
|
||||
// taker fee in the total amount sold.
|
||||
if (isTakerFeeInTakerToken) {
|
||||
results.takerTokenSoldAmount =
|
||||
results.takerTokenSoldAmount.safeAdd(fillResults.takerFeePaid);
|
||||
}
|
||||
} catch (bytes memory) {
|
||||
// Swallow failures, leaving all results as zero.
|
||||
}
|
||||
}
|
||||
|
||||
/// @dev Extract the token from plain ERC20 asset data.
|
||||
/// If the asset-data is empty, a zero token address will be returned.
|
||||
/// @param assetData The order asset data.
|
||||
function _getTokenFromERC20AssetData(bytes memory assetData)
|
||||
private
|
||||
pure
|
||||
returns (IERC20TokenV06 token)
|
||||
{
|
||||
if (assetData.length == 0) {
|
||||
return IERC20TokenV06(address(0));
|
||||
}
|
||||
if (assetData.length != 36 ||
|
||||
LibBytesV06.readBytes4(assetData, 0) != ERC20_ASSET_PROXY_ID)
|
||||
{
|
||||
LibTransformERC20RichErrors
|
||||
.InvalidERC20AssetDataError(assetData)
|
||||
.rrevert();
|
||||
}
|
||||
return IERC20TokenV06(LibBytesV06.readAddress(assetData, 16));
|
||||
}
|
||||
}
|
@@ -27,11 +27,13 @@ import "@0x/contracts-utils/contracts/src/v06/LibSafeMathV06.sol";
|
||||
import "@0x/contracts-utils/contracts/src/v06/LibMathV06.sol";
|
||||
import "../errors/LibTransformERC20RichErrors.sol";
|
||||
import "../vendor/v3/IExchange.sol";
|
||||
import "../vendor/v3/IERC20Bridge.sol";
|
||||
import "./Transformer.sol";
|
||||
import "./LibERC20Transformer.sol";
|
||||
|
||||
|
||||
/// @dev A transformer that fills an ERC20 market sell/buy quote.
|
||||
/// This transformer shortcuts bridge orders and fills them directly
|
||||
contract FillQuoteTransformer is
|
||||
Transformer
|
||||
{
|
||||
@@ -39,6 +41,7 @@ contract FillQuoteTransformer is
|
||||
using LibERC20Transformer for IERC20TokenV06;
|
||||
using LibSafeMathV06 for uint256;
|
||||
using LibRichErrorsV06 for bytes;
|
||||
using LibBytesV06 for bytes;
|
||||
|
||||
/// @dev Whether we are performing a market sell or buy.
|
||||
enum Side {
|
||||
@@ -83,6 +86,8 @@ contract FillQuoteTransformer is
|
||||
|
||||
/// @dev The Exchange ERC20Proxy ID.
|
||||
bytes4 private constant ERC20_ASSET_PROXY_ID = 0xf47261b0;
|
||||
/// @dev The Exchange ERC20BridgeProxy ID.
|
||||
bytes4 private constant ERC20_BRIDGE_PROXY_ID = 0xdc1600f3;
|
||||
/// @dev Maximum uint256 value.
|
||||
uint256 private constant MAX_UINT256 = uint256(-1);
|
||||
|
||||
@@ -90,6 +95,8 @@ contract FillQuoteTransformer is
|
||||
IExchange public immutable exchange;
|
||||
/// @dev The ERC20Proxy address.
|
||||
address public immutable erc20Proxy;
|
||||
/// @dev The Transformer implementation (self) address.
|
||||
address public immutable implementation;
|
||||
|
||||
/// @dev Create this contract.
|
||||
/// @param exchange_ The Exchange V3 instance.
|
||||
@@ -99,6 +106,7 @@ contract FillQuoteTransformer is
|
||||
{
|
||||
exchange = exchange_;
|
||||
erc20Proxy = exchange_.getAssetProxy(ERC20_ASSET_PROXY_ID);
|
||||
implementation = address(this);
|
||||
}
|
||||
|
||||
/// @dev Sell this contract's entire balance of of `sellToken` in exchange
|
||||
@@ -144,7 +152,6 @@ contract FillQuoteTransformer is
|
||||
|
||||
// Fill the orders.
|
||||
uint256 singleProtocolFee = exchange.protocolFeeMultiplier().safeMul(tx.gasprice);
|
||||
uint256 ethRemaining = address(this).balance;
|
||||
uint256 boughtAmount = 0;
|
||||
uint256 soldAmount = 0;
|
||||
for (uint256 i = 0; i < data.orders.length; ++i) {
|
||||
@@ -161,13 +168,6 @@ contract FillQuoteTransformer is
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure we have enough ETH to cover the protocol fee.
|
||||
if (ethRemaining < singleProtocolFee) {
|
||||
LibTransformERC20RichErrors
|
||||
.InsufficientProtocolFeeError(ethRemaining, singleProtocolFee)
|
||||
.rrevert();
|
||||
}
|
||||
|
||||
// Fill the order.
|
||||
FillOrderResults memory results;
|
||||
if (data.side == Side.Sell) {
|
||||
@@ -203,7 +203,6 @@ contract FillQuoteTransformer is
|
||||
// Accumulate totals.
|
||||
soldAmount = soldAmount.safeAdd(results.takerTokenSoldAmount);
|
||||
boughtAmount = boughtAmount.safeAdd(results.makerTokenBoughtAmount);
|
||||
ethRemaining = ethRemaining.safeSub(results.protocolFeePaid);
|
||||
}
|
||||
|
||||
// Ensure we hit our targets.
|
||||
@@ -387,30 +386,107 @@ contract FillQuoteTransformer is
|
||||
)
|
||||
private
|
||||
returns (FillOrderResults memory results)
|
||||
{
|
||||
bytes4 makerAssetProxyId = order.makerAssetData.readBytes4(0);
|
||||
// If it is a Bridge order we fill this directly
|
||||
// rather than filling via 0x Exchange
|
||||
if (makerAssetProxyId == ERC20_BRIDGE_PROXY_ID) {
|
||||
uint256 outputTokenAmount = LibMathV06.getPartialAmountFloor(
|
||||
takerAssetFillAmount,
|
||||
order.takerAssetAmount,
|
||||
order.makerAssetAmount
|
||||
);
|
||||
(bool success, bytes memory data) = address(implementation).delegatecall(
|
||||
abi.encodeWithSelector(
|
||||
this.fillBridgeOrder.selector,
|
||||
order,
|
||||
takerAssetFillAmount,
|
||||
outputTokenAmount,
|
||||
makerToken
|
||||
)
|
||||
);
|
||||
if (success) {
|
||||
results = abi.decode(data, (FillOrderResults));
|
||||
}
|
||||
// Swallow failures, leaving all results as zero.
|
||||
} else {
|
||||
// Ensure we have enough ETH to cover the protocol fee.
|
||||
if (address(this).balance < protocolFee) {
|
||||
return results;
|
||||
}
|
||||
// Track changes in the maker token balance.
|
||||
uint256 initialMakerTokenBalance = makerToken.balanceOf(address(this));
|
||||
try
|
||||
exchange.fillOrder
|
||||
{value: protocolFee}
|
||||
(order, takerAssetFillAmount, signature)
|
||||
returns (IExchange.FillResults memory fillResults)
|
||||
{
|
||||
// Update maker quantity based on changes in token balances.
|
||||
results.makerTokenBoughtAmount = makerToken.balanceOf(address(this))
|
||||
.safeSub(initialMakerTokenBalance);
|
||||
// We can trust the other fill result quantities.
|
||||
results.protocolFeePaid = fillResults.protocolFeePaid;
|
||||
results.takerTokenSoldAmount = fillResults.takerAssetFilledAmount;
|
||||
// If the taker fee is payable in the taker asset, include the
|
||||
// taker fee in the total amount sold.
|
||||
if (isTakerFeeInTakerToken) {
|
||||
results.takerTokenSoldAmount =
|
||||
results.takerTokenSoldAmount.safeAdd(fillResults.takerFeePaid);
|
||||
}
|
||||
} catch (bytes memory) {
|
||||
// Swallow failures, leaving all results as zero.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// @dev Attempt to fill an ERC20 Bridge order. If the fill reverts,
|
||||
/// or the amount filled was not sufficient this reverts.
|
||||
/// @param order The bridge order to fill.
|
||||
/// @param inputTokenAmount How much taker asset to fill.
|
||||
/// @param outputTokenAmount How much maker asset to receive.
|
||||
/// @param makerToken The maker token.
|
||||
function fillBridgeOrder(
|
||||
IExchange.Order calldata order,
|
||||
uint256 inputTokenAmount,
|
||||
uint256 outputTokenAmount,
|
||||
IERC20TokenV06 makerToken
|
||||
)
|
||||
external
|
||||
returns (FillOrderResults memory results)
|
||||
{
|
||||
// Track changes in the maker token balance.
|
||||
uint256 initialMakerTokenBalance = makerToken.balanceOf(address(this));
|
||||
try
|
||||
exchange.fillOrder
|
||||
{value: protocolFee}
|
||||
(order, takerAssetFillAmount, signature)
|
||||
returns (IExchange.FillResults memory fillResults)
|
||||
{
|
||||
// Update maker quantity based on changes in token balances.
|
||||
results.makerTokenBoughtAmount = makerToken.balanceOf(address(this))
|
||||
.safeSub(initialMakerTokenBalance);
|
||||
// We can trust the other fill result quantities.
|
||||
results.protocolFeePaid = fillResults.protocolFeePaid;
|
||||
results.takerTokenSoldAmount = fillResults.takerAssetFilledAmount;
|
||||
// If the taker fee is payable in the taker asset, include the
|
||||
// taker fee in the total amount sold.
|
||||
if (isTakerFeeInTakerToken) {
|
||||
results.takerTokenSoldAmount =
|
||||
results.takerTokenSoldAmount.safeAdd(fillResults.takerFeePaid);
|
||||
}
|
||||
} catch (bytes memory) {
|
||||
// Swallow failures, leaving all results as zero.
|
||||
}
|
||||
(
|
||||
address tokenAddress,
|
||||
address bridgeAddress,
|
||||
bytes memory bridgeData
|
||||
) = abi.decode(
|
||||
order.makerAssetData.sliceDestructive(4, order.makerAssetData.length),
|
||||
(address, address, bytes)
|
||||
);
|
||||
require(bridgeAddress != address(this), "INVALID_BRIDGE_ADDRESS");
|
||||
// Transfer the tokens to the bridge to perform the work
|
||||
_getTokenFromERC20AssetData(order.takerAssetData).compatTransfer(
|
||||
bridgeAddress,
|
||||
inputTokenAmount
|
||||
);
|
||||
IERC20Bridge(bridgeAddress).bridgeTransferFrom(
|
||||
tokenAddress,
|
||||
order.makerAddress,
|
||||
address(this),
|
||||
outputTokenAmount, // amount to transfer back from the bridge
|
||||
bridgeData
|
||||
);
|
||||
uint256 afterMakerTokenBalance = makerToken.balanceOf(address(this));
|
||||
// Ensure that the maker token balance has increased by the expected amount
|
||||
require(
|
||||
afterMakerTokenBalance >= initialMakerTokenBalance.safeAdd(outputTokenAmount),
|
||||
"BRIDGE_UNDERPAY"
|
||||
);
|
||||
results.makerTokenBoughtAmount = afterMakerTokenBalance.safeSub(initialMakerTokenBalance);
|
||||
results.takerTokenSoldAmount = inputTokenAmount;
|
||||
// protocol fee paid remains 0
|
||||
}
|
||||
|
||||
/// @dev Extract the token from plain ERC20 asset data.
|
||||
|
55
contracts/zero-ex/contracts/src/vendor/v3/IERC20Bridge.sol
vendored
Normal file
55
contracts/zero-ex/contracts/src/vendor/v3/IERC20Bridge.sol
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
|
||||
Copyright 2020 ZeroEx Intl.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
*/
|
||||
|
||||
pragma solidity ^0.6.5;
|
||||
|
||||
interface IERC20Bridge {
|
||||
|
||||
/// @dev Emitted when a trade occurs.
|
||||
/// @param inputToken The token the bridge is converting from.
|
||||
/// @param outputToken The token the bridge is converting to.
|
||||
/// @param inputTokenAmount Amount of input token.
|
||||
/// @param outputTokenAmount Amount of output token.
|
||||
/// @param from The `from` address in `bridgeTransferFrom()`
|
||||
/// @param to The `to` address in `bridgeTransferFrom()`
|
||||
event ERC20BridgeTransfer(
|
||||
address inputToken,
|
||||
address outputToken,
|
||||
uint256 inputTokenAmount,
|
||||
uint256 outputTokenAmount,
|
||||
address from,
|
||||
address to
|
||||
);
|
||||
|
||||
/// @dev Transfers `amount` of the ERC20 `tokenAddress` from `from` to `to`.
|
||||
/// @param tokenAddress The address of the ERC20 token to transfer.
|
||||
/// @param from Address to transfer asset from.
|
||||
/// @param to Address to transfer asset to.
|
||||
/// @param amount Amount of asset to transfer.
|
||||
/// @param bridgeData Arbitrary asset data needed by the bridge contract.
|
||||
/// @return success The magic bytes `0xdc1600f3` if successful.
|
||||
function bridgeTransferFrom(
|
||||
address tokenAddress,
|
||||
address from,
|
||||
address to,
|
||||
uint256 amount,
|
||||
bytes calldata bridgeData
|
||||
)
|
||||
external
|
||||
returns (bytes4 success);
|
||||
}
|
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
|
||||
Copyright 2020 ZeroEx Intl.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
*/
|
||||
|
||||
pragma solidity ^0.6.5;
|
||||
pragma experimental ABIEncoderV2;
|
||||
|
||||
import "@0x/contracts-utils/contracts/src/v06/LibMathV06.sol";
|
||||
import "../src/vendor/v3/IERC20Bridge.sol";
|
||||
import "./TestMintableERC20Token.sol";
|
||||
|
||||
|
||||
contract TestFillQuoteTransformerBridge {
|
||||
|
||||
struct FillBehavior {
|
||||
// Scaling for maker assets minted, in 1e18.
|
||||
uint256 makerAssetMintRatio;
|
||||
}
|
||||
|
||||
bytes4 private constant ERC20_BRIDGE_PROXY_ID = 0xdc1600f3;
|
||||
|
||||
function bridgeTransferFrom(
|
||||
address tokenAddress,
|
||||
address from,
|
||||
address to,
|
||||
uint256 amount,
|
||||
bytes calldata bridgeData
|
||||
)
|
||||
external
|
||||
returns (bytes4 success)
|
||||
{
|
||||
FillBehavior memory behavior = abi.decode(bridgeData, (FillBehavior));
|
||||
TestMintableERC20Token(tokenAddress).mint(
|
||||
to,
|
||||
LibMathV06.getPartialAmountFloor(
|
||||
behavior.makerAssetMintRatio,
|
||||
1e18,
|
||||
amount
|
||||
)
|
||||
);
|
||||
return ERC20_BRIDGE_PROXY_ID;
|
||||
}
|
||||
|
||||
function encodeBehaviorData(FillBehavior calldata behavior)
|
||||
external
|
||||
pure
|
||||
returns (bytes memory encoded)
|
||||
{
|
||||
return abi.encode(behavior);
|
||||
}
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-zero-ex",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -35,12 +35,13 @@
|
||||
"lint-contracts": "#solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
|
||||
"compile:truffle": "truffle compile",
|
||||
"docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
|
||||
"docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
|
||||
"docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES",
|
||||
"publish:private": "yarn build && gitpkg publish"
|
||||
},
|
||||
"config": {
|
||||
"publicInterfaceContracts": "ZeroEx,FullMigration,InitialMigration,IFlashWallet,IAllowanceTarget,IERC20Transformer,IOwnable,ISimpleFunctionRegistry,ITokenSpender,ITransformERC20,FillQuoteTransformer,PayTakerTransformer,WethTransformer",
|
||||
"abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.",
|
||||
"abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AllowanceTarget|Bootstrap|FillQuoteTransformer|FixinCommon|FlashWallet|FullMigration|IAllowanceTarget|IBootstrap|IERC20Transformer|IExchange|IFeature|IFlashWallet|IOwnable|ISimpleFunctionRegistry|ITestSimpleFunctionRegistryFeature|ITokenSpender|ITransformERC20|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC20Transformer|LibMigrate|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibSpenderRichErrors|LibStorage|LibTokenSpenderStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|Ownable|PayTakerTransformer|SimpleFunctionRegistry|TestCallTarget|TestDelegateCaller|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFullMigration|TestInitialMigration|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC20Token|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestTokenSpender|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestWeth|TestWethTransformerHost|TestZeroExFeature|TokenSpender|TransformERC20|Transformer|TransformerDeployer|WethTransformer|ZeroEx).json"
|
||||
"abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AllowanceTarget|Bootstrap|FillOrdersTransformer|FillQuoteTransformer|FixinCommon|FlashWallet|FullMigration|IAllowanceTarget|IBootstrap|IERC20Bridge|IERC20Transformer|IExchange|IFeature|IFlashWallet|IOwnable|ISimpleFunctionRegistry|ITestSimpleFunctionRegistryFeature|ITokenSpender|ITransformERC20|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC20Transformer|LibMigrate|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibSpenderRichErrors|LibStorage|LibTokenSpenderStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|Ownable|PayTakerTransformer|SimpleFunctionRegistry|TestCallTarget|TestDelegateCaller|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFullMigration|TestInitialMigration|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC20Token|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestTokenSpender|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestWeth|TestWethTransformerHost|TestZeroExFeature|TokenSpender|TransformERC20|Transformer|TransformerDeployer|WethTransformer|ZeroEx).json"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -52,13 +53,13 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/zero-ex/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/abi-gen": "^5.2.2",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/abi-gen": "^5.3.0",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
@@ -74,12 +75,12 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethereumjs-util": "^5.1.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -8,12 +8,14 @@ import { ContractArtifact } from 'ethereum-types';
|
||||
import * as AffiliateFeeTransformer from '../test/generated-artifacts/AffiliateFeeTransformer.json';
|
||||
import * as AllowanceTarget from '../test/generated-artifacts/AllowanceTarget.json';
|
||||
import * as Bootstrap from '../test/generated-artifacts/Bootstrap.json';
|
||||
import * as FillOrdersTransformer from '../test/generated-artifacts/FillOrdersTransformer.json';
|
||||
import * as FillQuoteTransformer from '../test/generated-artifacts/FillQuoteTransformer.json';
|
||||
import * as FixinCommon from '../test/generated-artifacts/FixinCommon.json';
|
||||
import * as FlashWallet from '../test/generated-artifacts/FlashWallet.json';
|
||||
import * as FullMigration from '../test/generated-artifacts/FullMigration.json';
|
||||
import * as IAllowanceTarget from '../test/generated-artifacts/IAllowanceTarget.json';
|
||||
import * as IBootstrap from '../test/generated-artifacts/IBootstrap.json';
|
||||
import * as IERC20Bridge from '../test/generated-artifacts/IERC20Bridge.json';
|
||||
import * as IERC20Transformer from '../test/generated-artifacts/IERC20Transformer.json';
|
||||
import * as IExchange from '../test/generated-artifacts/IExchange.json';
|
||||
import * as IFeature from '../test/generated-artifacts/IFeature.json';
|
||||
@@ -45,6 +47,7 @@ import * as PayTakerTransformer from '../test/generated-artifacts/PayTakerTransf
|
||||
import * as SimpleFunctionRegistry from '../test/generated-artifacts/SimpleFunctionRegistry.json';
|
||||
import * as TestCallTarget from '../test/generated-artifacts/TestCallTarget.json';
|
||||
import * as TestDelegateCaller from '../test/generated-artifacts/TestDelegateCaller.json';
|
||||
import * as TestFillQuoteTransformerBridge from '../test/generated-artifacts/TestFillQuoteTransformerBridge.json';
|
||||
import * as TestFillQuoteTransformerExchange from '../test/generated-artifacts/TestFillQuoteTransformerExchange.json';
|
||||
import * as TestFillQuoteTransformerHost from '../test/generated-artifacts/TestFillQuoteTransformerHost.json';
|
||||
import * as TestFullMigration from '../test/generated-artifacts/TestFullMigration.json';
|
||||
@@ -106,16 +109,19 @@ export const artifacts = {
|
||||
LibTokenSpenderStorage: LibTokenSpenderStorage as ContractArtifact,
|
||||
LibTransformERC20Storage: LibTransformERC20Storage as ContractArtifact,
|
||||
AffiliateFeeTransformer: AffiliateFeeTransformer as ContractArtifact,
|
||||
FillOrdersTransformer: FillOrdersTransformer as ContractArtifact,
|
||||
FillQuoteTransformer: FillQuoteTransformer as ContractArtifact,
|
||||
IERC20Transformer: IERC20Transformer as ContractArtifact,
|
||||
LibERC20Transformer: LibERC20Transformer as ContractArtifact,
|
||||
PayTakerTransformer: PayTakerTransformer as ContractArtifact,
|
||||
Transformer: Transformer as ContractArtifact,
|
||||
WethTransformer: WethTransformer as ContractArtifact,
|
||||
IERC20Bridge: IERC20Bridge as ContractArtifact,
|
||||
IExchange: IExchange as ContractArtifact,
|
||||
ITestSimpleFunctionRegistryFeature: ITestSimpleFunctionRegistryFeature as ContractArtifact,
|
||||
TestCallTarget: TestCallTarget as ContractArtifact,
|
||||
TestDelegateCaller: TestDelegateCaller as ContractArtifact,
|
||||
TestFillQuoteTransformerBridge: TestFillQuoteTransformerBridge as ContractArtifact,
|
||||
TestFillQuoteTransformerExchange: TestFillQuoteTransformerExchange as ContractArtifact,
|
||||
TestFillQuoteTransformerHost: TestFillQuoteTransformerHost as ContractArtifact,
|
||||
TestFullMigration: TestFullMigration as ContractArtifact,
|
||||
|
@@ -18,6 +18,7 @@ import {
|
||||
FillQuoteTransformerSide,
|
||||
} from '../../src/transformer_data_encoders';
|
||||
import { artifacts } from '../artifacts';
|
||||
import { TestFillQuoteTransformerBridgeContract } from '../generated-wrappers/test_fill_quote_transformer_bridge';
|
||||
import {
|
||||
FillQuoteTransformerContract,
|
||||
TestFillQuoteTransformerExchangeContract,
|
||||
@@ -31,6 +32,7 @@ blockchainTests.resets('FillQuoteTransformer', env => {
|
||||
let maker: string;
|
||||
let feeRecipient: string;
|
||||
let exchange: TestFillQuoteTransformerExchangeContract;
|
||||
let bridge: TestFillQuoteTransformerBridgeContract;
|
||||
let transformer: FillQuoteTransformerContract;
|
||||
let host: TestFillQuoteTransformerHostContract;
|
||||
let makerToken: TestMintableERC20TokenContract;
|
||||
@@ -64,6 +66,12 @@ blockchainTests.resets('FillQuoteTransformer', env => {
|
||||
},
|
||||
artifacts,
|
||||
);
|
||||
bridge = await TestFillQuoteTransformerBridgeContract.deployFrom0xArtifactAsync(
|
||||
artifacts.TestFillQuoteTransformerBridge,
|
||||
env.provider,
|
||||
env.txDefaults,
|
||||
artifacts,
|
||||
);
|
||||
[makerToken, takerToken, takerFeeToken] = await Promise.all(
|
||||
_.times(3, async () =>
|
||||
TestMintableERC20TokenContract.deployFrom0xArtifactAsync(
|
||||
@@ -102,6 +110,19 @@ blockchainTests.resets('FillQuoteTransformer', env => {
|
||||
};
|
||||
}
|
||||
|
||||
function createBridgeOrder(fields: Partial<Order> = {}, bridgeData: string = encodeBridgeBehavior()): FilledOrder {
|
||||
const order = createOrder(fields);
|
||||
return {
|
||||
...order,
|
||||
makerAddress: bridge.address,
|
||||
makerAssetData: assetDataUtils.encodeERC20BridgeAssetData(makerToken.address, bridge.address, bridgeData),
|
||||
makerFeeAssetData: NULL_BYTES,
|
||||
takerFeeAssetData: NULL_BYTES,
|
||||
makerFee: ZERO_AMOUNT,
|
||||
takerFee: ZERO_AMOUNT,
|
||||
};
|
||||
}
|
||||
|
||||
interface QuoteFillResults {
|
||||
makerAssetBought: BigNumber;
|
||||
takerAssetSpent: BigNumber;
|
||||
@@ -244,6 +265,17 @@ blockchainTests.resets('FillQuoteTransformer', env => {
|
||||
);
|
||||
}
|
||||
|
||||
function encodeBridgeBehavior(makerAssetMintRatio: Numberish = 1.0): string {
|
||||
return hexUtils.slice(
|
||||
bridge
|
||||
.encodeBehaviorData({
|
||||
makerAssetMintRatio: new BigNumber(makerAssetMintRatio).times('1e18').integerValue(),
|
||||
})
|
||||
.getABIEncodedTransactionData(),
|
||||
4,
|
||||
);
|
||||
}
|
||||
|
||||
const ERC20_ASSET_PROXY_ID = '0xf47261b0';
|
||||
|
||||
describe('sell quotes', () => {
|
||||
@@ -420,7 +452,7 @@ blockchainTests.resets('FillQuoteTransformer', env => {
|
||||
);
|
||||
});
|
||||
|
||||
it('fails if not enough protocol fee provided', async () => {
|
||||
it.skip('fails if not enough protocol fee provided', async () => {
|
||||
const orders = _.times(3, () => createOrder());
|
||||
const signatures = orders.map(() => encodeExchangeBehavior());
|
||||
const qfr = getExpectedSellQuoteFillResults(orders);
|
||||
@@ -861,4 +893,133 @@ blockchainTests.resets('FillQuoteTransformer', env => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('bridge orders', () => {
|
||||
it('can fully sell to a single bridge order quote', async () => {
|
||||
const orders = _.times(1, () => createBridgeOrder());
|
||||
const signatures = orders.map(() => NULL_BYTES);
|
||||
const qfr = getExpectedSellQuoteFillResults(orders);
|
||||
await host
|
||||
.executeTransform(
|
||||
transformer.address,
|
||||
takerToken.address,
|
||||
qfr.takerAssetSpent,
|
||||
encodeTransformData({
|
||||
orders,
|
||||
signatures,
|
||||
}),
|
||||
)
|
||||
.awaitTransactionSuccessAsync({ value: ZERO_AMOUNT });
|
||||
assertBalances(await getBalancesAsync(host.address), {
|
||||
...ZERO_BALANCES,
|
||||
makerAssetBalance: qfr.makerAssetBought,
|
||||
});
|
||||
});
|
||||
|
||||
it('can sell to a mix of order quote', async () => {
|
||||
const nativeOrders = [createOrder()];
|
||||
const bridgeOrders = [createBridgeOrder()];
|
||||
const orders = [...nativeOrders, ...bridgeOrders];
|
||||
const signatures = [
|
||||
...nativeOrders.map(() => encodeExchangeBehavior()), // Valid Signatures
|
||||
...bridgeOrders.map(() => NULL_BYTES), // Valid Signatures
|
||||
];
|
||||
const qfr = getExpectedSellQuoteFillResults(orders);
|
||||
await host
|
||||
.executeTransform(
|
||||
transformer.address,
|
||||
takerToken.address,
|
||||
qfr.takerAssetSpent,
|
||||
encodeTransformData({
|
||||
orders,
|
||||
signatures,
|
||||
}),
|
||||
)
|
||||
.awaitTransactionSuccessAsync({ value: singleProtocolFee.times(nativeOrders.length) });
|
||||
assertBalances(await getBalancesAsync(host.address), {
|
||||
...ZERO_BALANCES,
|
||||
makerAssetBalance: qfr.makerAssetBought,
|
||||
});
|
||||
});
|
||||
|
||||
it('can attempt to sell to a mix of order quote handling reverts', async () => {
|
||||
const nativeOrders = _.times(3, () => createOrder());
|
||||
const bridgeOrders = [createBridgeOrder()];
|
||||
const orders = [...nativeOrders, ...bridgeOrders];
|
||||
const signatures = [
|
||||
...nativeOrders.map(() => NULL_BYTES), // Invalid Signatures
|
||||
...bridgeOrders.map(() => NULL_BYTES), // Valid Signatures
|
||||
];
|
||||
const qfr = getExpectedSellQuoteFillResults(bridgeOrders);
|
||||
await host
|
||||
.executeTransform(
|
||||
transformer.address,
|
||||
takerToken.address,
|
||||
qfr.takerAssetSpent,
|
||||
encodeTransformData({
|
||||
orders,
|
||||
signatures,
|
||||
}),
|
||||
)
|
||||
// Single protocol fee as all Native orders will fail
|
||||
.awaitTransactionSuccessAsync({ value: singleProtocolFee });
|
||||
assertBalances(await getBalancesAsync(host.address), {
|
||||
...ZERO_BALANCES,
|
||||
makerAssetBalance: qfr.makerAssetBought,
|
||||
protocolFeeBalance: singleProtocolFee,
|
||||
});
|
||||
});
|
||||
|
||||
it('can continue to the bridge order if the native order reverts', async () => {
|
||||
const nativeOrders = [createOrder()];
|
||||
const bridgeOrders = [createBridgeOrder()];
|
||||
const orders = [...nativeOrders, ...bridgeOrders];
|
||||
const signatures = [
|
||||
...nativeOrders.map(() => encodeExchangeBehavior()), // Valid Signatures
|
||||
...bridgeOrders.map(() => NULL_BYTES), // Valid Signatures
|
||||
];
|
||||
const qfr = getExpectedSellQuoteFillResults(bridgeOrders);
|
||||
await host
|
||||
.executeTransform(
|
||||
transformer.address,
|
||||
takerToken.address,
|
||||
qfr.takerAssetSpent,
|
||||
encodeTransformData({
|
||||
orders,
|
||||
signatures,
|
||||
}),
|
||||
)
|
||||
// Insufficient single protocol fee
|
||||
.awaitTransactionSuccessAsync({ value: singleProtocolFee.minus(1) });
|
||||
assertBalances(await getBalancesAsync(host.address), {
|
||||
...ZERO_BALANCES,
|
||||
makerAssetBalance: qfr.makerAssetBought,
|
||||
protocolFeeBalance: singleProtocolFee,
|
||||
});
|
||||
});
|
||||
|
||||
it('reverts when the bridge transfers less than expected', async () => {
|
||||
const orders = _.times(1, () => createBridgeOrder({}, encodeBridgeBehavior(0.99)));
|
||||
const signatures = orders.map(() => NULL_BYTES);
|
||||
const qfr = getExpectedSellQuoteFillResults(orders);
|
||||
const tx = host
|
||||
.executeTransform(
|
||||
transformer.address,
|
||||
takerToken.address,
|
||||
qfr.takerAssetSpent,
|
||||
encodeTransformData({
|
||||
orders,
|
||||
signatures,
|
||||
}),
|
||||
)
|
||||
.awaitTransactionSuccessAsync({ value: ZERO_AMOUNT });
|
||||
return expect(tx).to.revertWith(
|
||||
new ZeroExRevertErrors.TransformERC20.IncompleteFillSellQuoteError(
|
||||
takerToken.address,
|
||||
ZERO_AMOUNT,
|
||||
qfr.takerAssetSpent,
|
||||
),
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -6,12 +6,14 @@
|
||||
export * from '../test/generated-wrappers/affiliate_fee_transformer';
|
||||
export * from '../test/generated-wrappers/allowance_target';
|
||||
export * from '../test/generated-wrappers/bootstrap';
|
||||
export * from '../test/generated-wrappers/fill_orders_transformer';
|
||||
export * from '../test/generated-wrappers/fill_quote_transformer';
|
||||
export * from '../test/generated-wrappers/fixin_common';
|
||||
export * from '../test/generated-wrappers/flash_wallet';
|
||||
export * from '../test/generated-wrappers/full_migration';
|
||||
export * from '../test/generated-wrappers/i_allowance_target';
|
||||
export * from '../test/generated-wrappers/i_bootstrap';
|
||||
export * from '../test/generated-wrappers/i_erc20_bridge';
|
||||
export * from '../test/generated-wrappers/i_erc20_transformer';
|
||||
export * from '../test/generated-wrappers/i_exchange';
|
||||
export * from '../test/generated-wrappers/i_feature';
|
||||
@@ -43,6 +45,7 @@ export * from '../test/generated-wrappers/pay_taker_transformer';
|
||||
export * from '../test/generated-wrappers/simple_function_registry';
|
||||
export * from '../test/generated-wrappers/test_call_target';
|
||||
export * from '../test/generated-wrappers/test_delegate_caller';
|
||||
export * from '../test/generated-wrappers/test_fill_quote_transformer_bridge';
|
||||
export * from '../test/generated-wrappers/test_fill_quote_transformer_exchange';
|
||||
export * from '../test/generated-wrappers/test_fill_quote_transformer_host';
|
||||
export * from '../test/generated-wrappers/test_full_migration';
|
||||
|
@@ -19,12 +19,14 @@
|
||||
"test/generated-artifacts/AffiliateFeeTransformer.json",
|
||||
"test/generated-artifacts/AllowanceTarget.json",
|
||||
"test/generated-artifacts/Bootstrap.json",
|
||||
"test/generated-artifacts/FillOrdersTransformer.json",
|
||||
"test/generated-artifacts/FillQuoteTransformer.json",
|
||||
"test/generated-artifacts/FixinCommon.json",
|
||||
"test/generated-artifacts/FlashWallet.json",
|
||||
"test/generated-artifacts/FullMigration.json",
|
||||
"test/generated-artifacts/IAllowanceTarget.json",
|
||||
"test/generated-artifacts/IBootstrap.json",
|
||||
"test/generated-artifacts/IERC20Bridge.json",
|
||||
"test/generated-artifacts/IERC20Transformer.json",
|
||||
"test/generated-artifacts/IExchange.json",
|
||||
"test/generated-artifacts/IFeature.json",
|
||||
@@ -56,6 +58,7 @@
|
||||
"test/generated-artifacts/SimpleFunctionRegistry.json",
|
||||
"test/generated-artifacts/TestCallTarget.json",
|
||||
"test/generated-artifacts/TestDelegateCaller.json",
|
||||
"test/generated-artifacts/TestFillQuoteTransformerBridge.json",
|
||||
"test/generated-artifacts/TestFillQuoteTransformerExchange.json",
|
||||
"test/generated-artifacts/TestFillQuoteTransformerHost.json",
|
||||
"test/generated-artifacts/TestFullMigration.json",
|
||||
|
@@ -17,6 +17,7 @@
|
||||
"report_coverage": "lcov-result-merger './{packages/*/coverage/lcov.info,python-packages/*/.coverage}' | coveralls",
|
||||
"test:installation": "node ./packages/monorepo-scripts/lib/test_installation.js",
|
||||
"test:installation:local": "IS_LOCAL_PUBLISH=true node ./packages/monorepo-scripts/lib/test_installation.js",
|
||||
"test:publish:canary": "yarn npm-cli-login -u test -p test -e test@example.com -r http://localhost:4873 && IS_CANARY_PUBLISH=true run-s script:publish",
|
||||
"test:publish:circleci": "yarn npm-cli-login -u test -p test -e test@example.com -r http://localhost:4873 && IS_LOCAL_PUBLISH=true run-s script:publish test:installation:local",
|
||||
"run:publish": "run-s install:all build:monorepo_scripts script:prepublish_checks rebuild script:publish",
|
||||
"run:publish:local": "IS_LOCAL_PUBLISH=true yarn run:publish",
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "9.1.6",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
"version": "9.1.5",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v9.1.6 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v9.1.5 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "0x.js",
|
||||
"version": "9.1.5",
|
||||
"version": "9.1.6",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -46,9 +46,9 @@
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@0x/contract-addresses": "^4.9.0",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/migrations": "^6.2.4",
|
||||
"@0x/contract-addresses": "^4.10.0",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/migrations": "^6.3.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
@@ -78,18 +78,18 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/abi-gen-wrappers": "^5.4.0-beta.3",
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/asset-swapper": "^4.4.0",
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contract-wrappers": "^13.6.3",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/asset-swapper": "^4.5.0",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contract-wrappers": "^13.7.0",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/web3-provider-engine": "^14.0.0",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethers": "~4.0.4",
|
||||
"lodash": "^4.17.11",
|
||||
"web3-provider-engine": "14.0.6"
|
||||
|
@@ -6,7 +6,8 @@
|
||||
"note": "Allow identifiers with leading underscores in python wrappers",
|
||||
"pr": 2591
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"version": "5.2.2",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v5.3.0 - _June 24, 2020_
|
||||
|
||||
* Allow identifiers with leading underscores in python wrappers (#2591)
|
||||
|
||||
## v5.2.2 - _February 26, 2020_
|
||||
|
||||
* Include `bin` files
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/abi-gen",
|
||||
"version": "5.2.2",
|
||||
"version": "5.3.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -62,14 +62,14 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen/README.md",
|
||||
"dependencies": {
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@types/toposort": "^2.0.1",
|
||||
"chalk": "^2.3.0",
|
||||
"change-case": "^3.0.2",
|
||||
"cli-format": "^3.0.9",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"glob": "^7.1.2",
|
||||
"handlebars": "^4.1.2",
|
||||
"lodash": "^4.17.11",
|
||||
@@ -80,15 +80,15 @@
|
||||
"yargs": "^10.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-gen": "^2.0.8",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-gen": "^2.0.9",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/glob": "5.0.35",
|
||||
"@types/mkdirp": "^0.5.2",
|
||||
"@types/mocha": "^5.2.7",
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "3.0.8",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1582623685,
|
||||
"version": "3.0.7",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.0.8 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v3.0.7 - _February 25, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/assert",
|
||||
"version": "3.0.7",
|
||||
"version": "3.0.8",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -45,9 +45,9 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"lodash": "^4.17.11",
|
||||
"valid-url": "^1.0.9"
|
||||
},
|
||||
|
@@ -94,7 +94,8 @@
|
||||
"note": "Add exchange proxy support",
|
||||
"pr": 2591
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"version": "4.4.0",
|
||||
|
@@ -5,6 +5,32 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v4.5.0 - _June 24, 2020_
|
||||
|
||||
* Add support for private liquidity providers (#2505)
|
||||
* Big refactor of market operation utils (#2513)
|
||||
* Remove `dustFractionThreshold`, `noConflicts` options. (#2513)
|
||||
* Revamp fill optimization algorithm (#2513)
|
||||
* Add fallback orders to quotes via `allowFallback` option. (#2513)
|
||||
* Add `maxFallbackSlippage` option. (#2513)
|
||||
* Fix fee schedule not being scaled by gas price. (#2522)
|
||||
* Fix quote optimizer bug not properly accounting for fees. (#2526)
|
||||
* Fix `getBatchMarketBuyOrdersAsync` throwing NO_OPTIMAL_PATH (#2533)
|
||||
* Add DFB support + refactor swap quote calculator utils (#2536)
|
||||
* Add support for RFQ-T, querying maker-hosted endpoints for quotes to be submitted by the taker (#2541)
|
||||
* Add support for indicative (non-committal) quotes via RFQ-T (#2555)
|
||||
* Collapse `LiquidityProvider` into `DexForwarderBridge` (#2560)
|
||||
* Added Curve `sUSD` (#2563)
|
||||
* Fix sporadically failing quote simulation tests (#2564)
|
||||
* Apply Native order penalty inline with the target amount (#2565)
|
||||
* Remove Kyber exclusion when Uniswap/Eth2Dai is present (#2575)
|
||||
* Expose fills object in asset-swapper quote orders (#2583)
|
||||
* Increase timeout for tests (#2587)
|
||||
* Add support for Uniswap V2 (#2599)
|
||||
* Add support for MultiBridge (#2593)
|
||||
* Fix Uniswap V2 path ordering (#2601)
|
||||
* Add exchange proxy support (#2591)
|
||||
|
||||
## v4.4.0 - _March 3, 2020_
|
||||
|
||||
* Add support for ERC721 assets (#2491)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/asset-swapper",
|
||||
"version": "4.4.0",
|
||||
"version": "4.5.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -46,15 +46,15 @@
|
||||
"registry": "git@github.com:0xProject/gitpkg-registry.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/contract-addresses": "^4.9.0",
|
||||
"@0x/contract-wrappers": "^13.6.3",
|
||||
"@0x/contracts-zero-ex": "^0.1.0",
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/orderbook": "^2.2.5",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/contract-addresses": "^4.10.0",
|
||||
"@0x/contract-wrappers": "^13.7.0",
|
||||
"@0x/contracts-zero-ex": "^0.1.1",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/orderbook": "^2.2.6",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"axios": "^0.19.2",
|
||||
"axios-mock-adapter": "^1.18.1",
|
||||
"ethereumjs-util": "^5.1.1",
|
||||
@@ -62,16 +62,16 @@
|
||||
"lodash": "^4.17.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/mesh-rpc-client": "^7.0.4-beta-0xv3",
|
||||
"@0x/migrations": "^6.2.4",
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/migrations": "^6.3.0",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "*",
|
||||
@@ -79,7 +79,7 @@
|
||||
"chai-as-promised": "^7.1.0",
|
||||
"chai-bignumber": "^3.0.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"gitpkg": "https://github.com/0xProject/gitpkg.git",
|
||||
"make-promises-safe": "^1.1.0",
|
||||
"mocha": "^6.2.0",
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "6.2.2",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1582623685,
|
||||
"version": "6.2.1",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v6.2.2 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v6.2.1 - _February 25, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/base-contract",
|
||||
"version": "6.2.1",
|
||||
"version": "6.2.2",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -31,12 +31,12 @@
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/packages/base-contract/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@types/lodash": "4.14.104",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"chai": "^4.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"make-promises-safe": "^1.1.0",
|
||||
"mocha": "^6.2.0",
|
||||
"npm-run-all": "^4.1.2",
|
||||
@@ -45,10 +45,10 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"ethereumjs-account": "^3.0.0",
|
||||
"ethereumjs-blockstream": "^7.0.0",
|
||||
"ethereumjs-util": "^5.1.1",
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "6.0.8",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1582623685,
|
||||
"version": "6.0.7",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v6.0.8 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v6.0.7 - _February 25, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/connect",
|
||||
"version": "6.0.7",
|
||||
"version": "6.0.8",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -48,11 +48,11 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/packages/connect/README.md",
|
||||
"dependencies": {
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"lodash": "^4.17.11",
|
||||
"query-string": "^6.0.0",
|
||||
"sinon": "^4.0.0",
|
||||
|
@@ -70,7 +70,8 @@
|
||||
"note": "Add Exchange Proxy addresses",
|
||||
"pr": 2591
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"version": "4.9.0",
|
||||
|
@@ -5,6 +5,26 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v4.10.0 - _June 24, 2020_
|
||||
|
||||
* Updated Kovan's ERC20BridgeSampler address (#2519)
|
||||
* Added MaximumGasPrice addresses (#2511)
|
||||
* Redeploy `KyberBridge`, `UniswapBridge`, `Eth2DaiBridge`, `CurveBridge`, `DydxBridge` on mainnet and kovan (#2512)
|
||||
* Redeploy `KyberBridge`, `UniswapBridge`, `Eth2DaiBridge`, `CurveBridge`, `DydxBridge` on mainnet and kovan (#2529)
|
||||
* Redeploy `CurveBridge` with GST support (#2530)
|
||||
* Add `dexForwarderBridge` addresses (#2525)
|
||||
* Redeploy `Forwarder` on all networks (#2521)
|
||||
* Redeploy `DexForwarderBridge` on Mainnet with Gas Token freeing (#2536)
|
||||
* Revert to older Curve Bridge (without Gas Tokens) (#2536)
|
||||
* Updated Ganache's ERC20BridgeSampler address (#2541)
|
||||
* Updated Mainnet ERC20BridgeSampler address (#2551)
|
||||
* Updated Kovan ERC20BridgeSampler address (#2568)
|
||||
* Redeploy ERC20BridgeSampler on kovan (#2570)
|
||||
* Redeploy ERC20BridgeSampler on Mainnet using `Kyber.searchBestRate` (#2575)
|
||||
* Redeploy ERC20BridgeSampler on Mainnet and Kovan using UniswapV2 (#2599)
|
||||
* Add UniswapV2Bridge address on Mainnet (new field) (#2599)
|
||||
* Add Exchange Proxy addresses (#2591)
|
||||
|
||||
## v4.9.0 - _March 3, 2020_
|
||||
|
||||
* Redeploy `ERC20BridgeSampler` (#2503)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contract-addresses",
|
||||
"version": "4.9.0",
|
||||
"version": "4.10.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -28,9 +28,9 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-addresses/README.md",
|
||||
"devDependencies": {
|
||||
"gitpkg": "https://github.com/0xProject/gitpkg.git",
|
||||
"shx": "^0.2.2",
|
||||
"typescript": "3.0.1",
|
||||
"gitpkg": "https://github.com/0xProject/gitpkg.git"
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@@ -34,7 +34,8 @@
|
||||
"note": "Added `ITransformERC20`",
|
||||
"pr": 2591
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1582623685,
|
||||
|
@@ -5,6 +5,17 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.7.0 - _June 24, 2020_
|
||||
|
||||
* Added `MaximumGasPrice` artifact (#2511)
|
||||
* Added `Forwarder.marketSellAmountWithEth` (#2521)
|
||||
* Added `ERC20BridgeSampler.sampleBuysFromCurve` (#2551)
|
||||
* Added `ERC20BridgeSampler.sampleBuysFromKyberNetwork` (#2551)
|
||||
* Added `ERC20BridgeSampler.sampleBuysFromUniswapV2 (#2595)
|
||||
* Added `ERC20BridgeSampler.sampleSellsFromUniswapV2 (#2595)
|
||||
* Added `ERC20BridgeSampler.sampleSellsFromMultiBridge (#2593)
|
||||
* Added `ITransformERC20` (#2591)
|
||||
|
||||
## v3.6.1 - _February 25, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contract-artifacts",
|
||||
"version": "3.6.1",
|
||||
"version": "3.7.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-artifacts/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"chai": "^4.0.1",
|
||||
"lodash": "^4.17.11",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contract-wrappers-test",
|
||||
"version": "12.2.13",
|
||||
"version": "12.2.15",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -31,17 +31,17 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-wrappers-test/README.md",
|
||||
"devDependencies": {
|
||||
"@0x/contract-wrappers": "^13.6.3",
|
||||
"@0x/contracts-test-utils": "^5.3.2",
|
||||
"@0x/dev-utils": "^3.2.1",
|
||||
"@0x/migrations": "^6.2.4",
|
||||
"@0x/order-utils": "^10.2.4",
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/contract-wrappers": "^13.7.0",
|
||||
"@0x/contracts-test-utils": "^5.3.3",
|
||||
"@0x/dev-utils": "^3.2.2",
|
||||
"@0x/migrations": "^6.3.0",
|
||||
"@0x/order-utils": "^10.2.5",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/nock": "^10.0.3",
|
||||
"chai": "^4.0.1",
|
||||
"dirty-chai": "^2.0.1",
|
||||
|
@@ -38,7 +38,8 @@
|
||||
"note": "Add `ITransformERC20`",
|
||||
"pr": 2591
|
||||
}
|
||||
]
|
||||
],
|
||||
"timestamp": 1592969527
|
||||
},
|
||||
{
|
||||
"timestamp": 1583220306,
|
||||
|
@@ -5,6 +5,18 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v13.7.0 - _June 24, 2020_
|
||||
|
||||
* Regenerated wrappers for Broker and GodsUnchainedValidator (#2511)
|
||||
* Added wrapper for MaximumGasPrice (#2511)
|
||||
* Added `Forwarder.marketSellAmountWithEth` (#2521)
|
||||
* Added `ERC20BridgeSampler.sampleBuysFromCurve` (#2551)
|
||||
* Added `ERC20BridgeSampler.sampleBuysFromKyberNetwork` (#2551)
|
||||
* Added `ERC20BridgeSampler.sampleBuysFromUniswapV2 (#2595)
|
||||
* Added `ERC20BridgeSampler.sampleSellsFromUniswapV2 (#2595)
|
||||
* Added `ERC20BridgeSampler.sampleSellsFromMultiBridge (#2593)
|
||||
* Add `ITransformERC20` (#2591)
|
||||
|
||||
## v13.6.3 - _March 3, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contract-wrappers",
|
||||
"version": "13.6.3",
|
||||
"version": "13.7.0",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -49,20 +49,20 @@
|
||||
"devDependencies": {
|
||||
"@0x/ts-doc-gen": "^0.0.22",
|
||||
"@0x/tslint-config": "^4.0.0",
|
||||
"gitpkg": "https://github.com/0xProject/gitpkg.git",
|
||||
"tslint": "5.11.0",
|
||||
"typedoc": "^0.15.0",
|
||||
"typescript": "3.0.1",
|
||||
"gitpkg": "https://github.com/0xProject/gitpkg.git"
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/assert": "^3.0.7",
|
||||
"@0x/base-contract": "^6.2.1",
|
||||
"@0x/contract-addresses": "^4.9.0",
|
||||
"@0x/json-schemas": "^5.0.7",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/assert": "^3.0.8",
|
||||
"@0x/base-contract": "^6.2.2",
|
||||
"@0x/contract-addresses": "^4.10.0",
|
||||
"@0x/json-schemas": "^5.0.8",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"ethers": "~4.0.4"
|
||||
},
|
||||
"publishConfig": {
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "2.0.9",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1582623685,
|
||||
"version": "2.0.8",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v2.0.9 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v2.0.8 - _February 25, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/contracts-gen",
|
||||
"version": "2.0.8",
|
||||
"version": "2.0.9",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -27,12 +27,12 @@
|
||||
},
|
||||
"homepage": "https://github.com/0xProject/0x-monorepo/packages/contracts-gen/README.md",
|
||||
"dependencies": {
|
||||
"@0x/sol-compiler": "^4.0.8",
|
||||
"@0x/sol-resolver": "^3.0.3",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"@0x/sol-compiler": "^4.1.0",
|
||||
"@0x/sol-resolver": "^3.0.4",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"lodash": "^4.17.11",
|
||||
"mkdirp": "^0.5.1",
|
||||
"prettier": "^1.16.3",
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "3.2.2",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"timestamp": 1582623685,
|
||||
"version": "3.2.1",
|
||||
|
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.2.2 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v3.2.1 - _February 25, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@0x/dev-utils",
|
||||
"version": "3.2.1",
|
||||
"version": "3.2.2",
|
||||
"engines": {
|
||||
"node": ">=6.12"
|
||||
},
|
||||
@@ -46,17 +46,17 @@
|
||||
"typescript": "3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@0x/subproviders": "^6.0.8",
|
||||
"@0x/types": "^3.1.2",
|
||||
"@0x/typescript-typings": "^5.0.2",
|
||||
"@0x/utils": "^5.4.1",
|
||||
"@0x/web3-wrapper": "^7.0.7",
|
||||
"@0x/subproviders": "^6.1.0",
|
||||
"@0x/types": "^3.1.3",
|
||||
"@0x/typescript-typings": "^5.1.0",
|
||||
"@0x/utils": "^5.5.0",
|
||||
"@0x/web3-wrapper": "^7.1.0",
|
||||
"@types/web3-provider-engine": "^14.0.0",
|
||||
"chai": "^4.0.1",
|
||||
"chai-as-promised": "^7.1.0",
|
||||
"chai-bignumber": "^3.0.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"ethereum-types": "^3.1.0",
|
||||
"ethereum-types": "^3.1.1",
|
||||
"lodash": "^4.17.11",
|
||||
"web3-provider-engine": "14.0.6"
|
||||
},
|
||||
|
@@ -1,4 +1,13 @@
|
||||
[
|
||||
{
|
||||
"timestamp": 1592969527,
|
||||
"version": "3.1.1",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Dependencies updated"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"version": "3.1.0",
|
||||
"changes": [
|
||||
|
@@ -5,9 +5,14 @@ Edit the package's CHANGELOG.json file only.
|
||||
|
||||
CHANGELOG
|
||||
|
||||
## v3.1.1 - _June 24, 2020_
|
||||
|
||||
* Dependencies updated
|
||||
|
||||
## v3.1.0 - _February 8, 2020_
|
||||
|
||||
* Add `linkReferences` to `EvmBytecodeOutput` and `EvmBytecodeOutputLinkReferences` type (#2462)
|
||||
* Update `MethodAbi` definition for solidity 0.6 (#2540)
|
||||
|
||||
## v3.0.0 - _December 2, 2019_
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user