Compare commits

..

8 Commits

Author SHA1 Message Date
Github Actions
b1f856e7a4 Publish
- @0x/contracts-erc20@3.3.50
 - @0x/contracts-test-utils@5.4.40
 - @0x/contracts-treasury@1.4.33
 - @0x/contracts-utils@4.8.31
 - @0x/contracts-zero-ex@0.37.10
 - @0x/asset-swapper@16.66.17
 - @0x/contract-addresses@7.2.0
 - @0x/contract-wrappers@13.22.9
 - @0x/protocol-utils@11.16.17
2022-11-02 22:16:58 +00:00
Github Actions
9d42018fc6 Updated CHANGELOGS & MD docs 2022-11-02 22:16:54 +00:00
Noah Khamliche
624cbebe27 added new RFQTV2 compliant fqt (#611)
* added new RFQTV2 compliant fqt

* update changelog
2022-11-02 14:58:36 -07:00
Kyu
4ace7c8c43 fix: Migrate transformers to smart contract compatible unsafeTransformerTransfer [TKR-587] (#594)
* Use `call` instead of `transfer` in `LibERC20Transformer`

* Since `transfer` only forwards 2300 gas it can cause an `out of gas`
revert when the receipient is a smart contract.

* Add `unsafeTransformerTransfer` and migrate `transformers` to use
`unsafeTransformerTransfer` instead of `transformerTransfer`

* Update .prettierignore
2022-10-28 11:39:22 -07:00
Github Actions
66846c8aec Publish
- @0x/contracts-erc20@3.3.49
 - @0x/contracts-test-utils@5.4.39
 - @0x/contracts-treasury@1.4.32
 - @0x/contracts-utils@4.8.30
 - @0x/contracts-zero-ex@0.37.9
 - @0x/asset-swapper@16.66.16
 - @0x/contract-addresses@7.1.0
 - @0x/contract-wrappers@13.22.8
 - @0x/protocol-utils@11.16.16
2022-10-24 20:57:19 +00:00
Github Actions
33e38fd0a1 Updated CHANGELOGS & MD docs 2022-10-24 20:57:15 +00:00
Kyu
5a6df5a39a Add BalancerV2Batch support in Fantom FillQuoteTransformer (#607) 2022-10-24 13:39:06 -07:00
Savarn Dontamsetti (Sav)
592e7d34c9 adding BalancerV2 Batch support for Fantom Bridge Adapter (#606) 2022-10-24 14:15:11 -04:00
33 changed files with 279 additions and 36 deletions

View File

@@ -60,6 +60,7 @@ lib
/contracts/dev-utils/test/generated-wrappers
/contracts/dev-utils/generated-artifacts
/contracts/dev-utils/test/generated-artifacts
/contracts/zero-ex/foundry-artifacts
/contracts/zero-ex/generated-wrappers
/contracts/zero-ex/test/generated-wrappers
/contracts/zero-ex/generated-artifacts

View File

@@ -1,4 +1,22 @@
[
{
"timestamp": 1667427402,
"version": "3.3.50",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666645023,
"version": "3.3.49",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666381417,
"version": "3.3.48",

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v3.3.50 - _November 2, 2022_
* Dependencies updated
## v3.3.49 - _October 24, 2022_
* Dependencies updated
## v3.3.48 - _October 21, 2022_
* Dependencies updated

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contracts-erc20",
"version": "3.3.48",
"version": "3.3.50",
"engines": {
"node": ">=6.12"
},
@@ -52,8 +52,8 @@
"devDependencies": {
"@0x/abi-gen": "^5.8.1",
"@0x/contracts-gen": "^2.0.48",
"@0x/contracts-test-utils": "^5.4.38",
"@0x/contracts-utils": "^4.8.29",
"@0x/contracts-test-utils": "^5.4.40",
"@0x/contracts-utils": "^4.8.31",
"@0x/dev-utils": "^5.0.0",
"@0x/sol-compiler": "^4.8.2",
"@0x/ts-doc-gen": "^0.0.28",

View File

@@ -1,4 +1,22 @@
[
{
"timestamp": 1667427402,
"version": "5.4.40",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666645023,
"version": "5.4.39",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666381417,
"version": "5.4.38",

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v5.4.40 - _November 2, 2022_
* Dependencies updated
## v5.4.39 - _October 24, 2022_
* Dependencies updated
## v5.4.38 - _October 21, 2022_
* Dependencies updated

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contracts-test-utils",
"version": "5.4.38",
"version": "5.4.40",
"engines": {
"node": ">=6.12"
},
@@ -46,7 +46,7 @@
"dependencies": {
"@0x/assert": "^3.0.35",
"@0x/base-contract": "^7.0.0",
"@0x/contract-addresses": "^7.0.0",
"@0x/contract-addresses": "^7.2.0",
"@0x/dev-utils": "^5.0.0",
"@0x/json-schemas": "^6.4.4",
"@0x/order-utils": "^10.4.28",

View File

@@ -1,4 +1,22 @@
[
{
"timestamp": 1667427402,
"version": "1.4.33",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666645023,
"version": "1.4.32",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666381417,
"version": "1.4.31",

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v1.4.33 - _November 2, 2022_
* Dependencies updated
## v1.4.32 - _October 24, 2022_
* Dependencies updated
## v1.4.31 - _October 21, 2022_
* Dependencies updated

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contracts-treasury",
"version": "1.4.31",
"version": "1.4.33",
"engines": {
"node": ">=6.12"
},
@@ -46,12 +46,12 @@
"homepage": "https://github.com/0xProject/protocol/tree/main/contracts/treasury",
"devDependencies": {
"@0x/abi-gen": "^5.8.1",
"@0x/contract-addresses": "^7.0.0",
"@0x/contract-addresses": "^7.2.0",
"@0x/contracts-asset-proxy": "^3.7.19",
"@0x/contracts-erc20": "^3.3.48",
"@0x/contracts-erc20": "^3.3.50",
"@0x/contracts-gen": "^2.0.48",
"@0x/contracts-staking": "^2.0.45",
"@0x/contracts-test-utils": "^5.4.38",
"@0x/contracts-test-utils": "^5.4.40",
"@0x/sol-compiler": "^4.8.2",
"@0x/ts-doc-gen": "^0.0.28",
"@types/isomorphic-fetch": "^0.0.35",
@@ -73,7 +73,7 @@
},
"dependencies": {
"@0x/base-contract": "^7.0.0",
"@0x/protocol-utils": "^11.16.15",
"@0x/protocol-utils": "^11.16.17",
"@0x/subproviders": "^7.0.0",
"@0x/types": "^3.3.6",
"@0x/typescript-typings": "^5.3.1",

View File

@@ -1,4 +1,22 @@
[
{
"timestamp": 1667427402,
"version": "4.8.31",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666645023,
"version": "4.8.30",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666381417,
"version": "4.8.29",

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v4.8.31 - _November 2, 2022_
* Dependencies updated
## v4.8.30 - _October 24, 2022_
* Dependencies updated
## v4.8.29 - _October 21, 2022_
* Dependencies updated

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contracts-utils",
"version": "4.8.29",
"version": "4.8.31",
"engines": {
"node": ">=6.12"
},
@@ -51,7 +51,7 @@
"devDependencies": {
"@0x/abi-gen": "^5.8.1",
"@0x/contracts-gen": "^2.0.48",
"@0x/contracts-test-utils": "^5.4.38",
"@0x/contracts-test-utils": "^5.4.40",
"@0x/dev-utils": "^5.0.0",
"@0x/order-utils": "^10.4.28",
"@0x/sol-compiler": "^4.8.2",

View File

@@ -1,4 +1,22 @@
[
{
"timestamp": 1667427402,
"version": "0.37.10",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666645023,
"version": "0.37.9",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666381417,
"version": "0.37.8",

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v0.37.10 - _November 2, 2022_
* Dependencies updated
## v0.37.9 - _October 24, 2022_
* Dependencies updated
## v0.37.8 - _October 21, 2022_
* Dependencies updated

View File

@@ -61,7 +61,7 @@ contract AffiliateFeeTransformer is Transformer {
amount = LibERC20Transformer.getTokenBalanceOf(fees[i].token, address(this));
}
if (amount != 0) {
fees[i].token.transformerTransfer(fees[i].recipient, amount);
fees[i].token.unsafeTransformerTransfer(fees[i].recipient, amount);
}
}

View File

@@ -34,7 +34,9 @@ library LibERC20Transformer {
/// This is just `keccak256('TRANSFORMER_SUCCESS')`.
bytes4 internal constant TRANSFORMER_SUCCESS = 0x13c9929e;
/// @dev Transfer ERC20 tokens and ETH.
/// @dev Transfer ERC20 tokens and ETH. Since it relies on `transfer` it may run out of gas when
/// the `recipient` is a smart contract wallet. See `unsafeTransformerTransfer` for smart contract
/// compatible transfer.
/// @param token An ERC20 or the ETH pseudo-token address (`ETH_TOKEN_ADDRESS`).
/// @param to The recipient.
/// @param amount The transfer amount.
@@ -50,6 +52,24 @@ library LibERC20Transformer {
}
}
/// @dev Transfer ERC20 tokens and ETH. For ETH transfer. It's not safe from re-entrancy attacks and the
/// caller is responsible for gurading against a potential re-entrancy attack.
/// @param token An ERC20 or the ETH pseudo-token address (`ETH_TOKEN_ADDRESS`).
/// @param to The recipient.
/// @param amount The transfer amount.
function unsafeTransformerTransfer(
IERC20TokenV06 token,
address payable to,
uint256 amount
) internal {
if (isTokenETH(token)) {
(bool sent, ) = to.call{value: amount}("");
require(sent, "LibERC20Transformer/FAILED_TO_SEND_ETHER");
} else {
token.compatTransfer(to, amount);
}
}
/// @dev Check if a token is the ETH pseudo-token.
/// @param token The token to check.
/// @return isETH `true` if the token is the ETH pseudo-token.

View File

@@ -65,7 +65,7 @@ contract PayTakerTransformer is Transformer {
amount = data.tokens[i].getTokenBalanceOf(address(this));
}
if (amount != 0) {
data.tokens[i].transformerTransfer(context.recipient, amount);
data.tokens[i].unsafeTransformerTransfer(context.recipient, amount);
}
}
return LibERC20Transformer.TRANSFORMER_SUCCESS;

View File

@@ -53,7 +53,7 @@ contract PositiveSlippageFeeTransformer is Transformer {
uint256 transformerAmount = LibERC20Transformer.getTokenBalanceOf(fee.token, address(this));
if (transformerAmount > fee.bestCaseAmount) {
uint256 positiveSlippageAmount = transformerAmount - fee.bestCaseAmount;
fee.token.transformerTransfer(fee.recipient, positiveSlippageAmount);
fee.token.unsafeTransformerTransfer(fee.recipient, positiveSlippageAmount);
}
return LibERC20Transformer.TRANSFORMER_SUCCESS;

View File

@@ -24,6 +24,7 @@ import "./AbstractBridgeAdapter.sol";
import "./BridgeProtocols.sol";
import "./mixins/MixinAaveV2.sol";
import "./mixins/MixinBalancerV2.sol";
import "./mixins/MixinBalancerV2Batch.sol";
import "./mixins/MixinCurve.sol";
import "./mixins/MixinCurveV2.sol";
import "./mixins/MixinNerve.sol";
@@ -35,6 +36,7 @@ contract FantomBridgeAdapter is
AbstractBridgeAdapter(250, "Fantom"),
MixinAaveV2,
MixinBalancerV2,
MixinBalancerV2Batch,
MixinCurve,
MixinCurveV2,
MixinNerve,
@@ -72,6 +74,11 @@ contract FantomBridgeAdapter is
return (0, true);
}
boughtAmount = _tradeBalancerV2(sellToken, buyToken, sellAmount, order.bridgeData);
} else if (protocolId == BridgeProtocols.BALANCERV2BATCH) {
if (dryRun) {
return (0, true);
}
boughtAmount = _tradeBalancerV2Batch(sellAmount, order.bridgeData);
} else if (protocolId == BridgeProtocols.NERVE) {
if (dryRun) {
return (0, true);

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contracts-zero-ex",
"version": "0.37.8",
"version": "0.37.10",
"engines": {
"node": ">=6.12"
},
@@ -56,10 +56,10 @@
"homepage": "https://github.com/0xProject/protocol/tree/main/contracts/zero-ex",
"devDependencies": {
"@0x/abi-gen": "^5.8.1",
"@0x/contract-addresses": "^7.0.0",
"@0x/contracts-erc20": "^3.3.48",
"@0x/contract-addresses": "^7.2.0",
"@0x/contracts-erc20": "^3.3.50",
"@0x/contracts-gen": "^2.0.48",
"@0x/contracts-test-utils": "^5.4.38",
"@0x/contracts-test-utils": "^5.4.40",
"@0x/dev-utils": "^5.0.0",
"@0x/order-utils": "^10.4.28",
"@0x/sol-compiler": "^4.8.2",
@@ -86,7 +86,7 @@
},
"dependencies": {
"@0x/base-contract": "^7.0.0",
"@0x/protocol-utils": "^11.16.15",
"@0x/protocol-utils": "^11.16.17",
"@0x/subproviders": "^7.0.0",
"@0x/types": "^3.3.6",
"@0x/typescript-typings": "^5.3.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/asset-swapper",
"version": "16.66.15",
"version": "16.66.17",
"private": true,
"engines": {
"node": ">=6.12"
@@ -33,15 +33,15 @@
"dependencies": {
"@0x/assert": "^3.0.35",
"@0x/base-contract": "^7.0.0",
"@0x/contract-addresses": "^7.0.0",
"@0x/contract-wrappers": "^13.22.7",
"@0x/contracts-erc20": "^3.3.48",
"@0x/contracts-zero-ex": "^0.37.8",
"@0x/contract-addresses": "^7.2.0",
"@0x/contract-wrappers": "^13.22.9",
"@0x/contracts-erc20": "^3.3.50",
"@0x/contracts-zero-ex": "^0.37.10",
"@0x/dev-utils": "^5.0.0",
"@0x/fast-abi": "^0.0.5",
"@0x/json-schemas": "^6.4.4",
"@0x/neon-router": "^0.3.5",
"@0x/protocol-utils": "^11.16.15",
"@0x/protocol-utils": "^11.16.17",
"@0x/quote-server": "^8.0.0",
"@0x/types": "^3.3.6",
"@0x/utils": "^7.0.0",
@@ -66,7 +66,7 @@
"devDependencies": {
"@0x/abi-gen": "^5.8.1",
"@0x/contracts-gen": "^2.0.47",
"@0x/contracts-test-utils": "^5.4.38",
"@0x/contracts-test-utils": "^5.4.40",
"@0x/sol-compiler": "^4.8.2",
"@0x/subproviders": "^7.0.0",
"@0x/ts-doc-gen": "^0.0.28",

View File

@@ -1,4 +1,24 @@
[
{
"version": "7.2.0",
"changes": [
{
"note": "Add RFQTV2 to Mumbai",
"pr": 611
}
],
"timestamp": 1667427402
},
{
"version": "7.1.0",
"changes": [
{
"note": "Add `BalancerV2Batch` support in `FantomBridgeAdapter`",
"pr": 607
}
],
"timestamp": 1666645023
},
{
"version": "7.0.0",
"changes": [

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v7.2.0 - _November 2, 2022_
* Add RFQTV2 to Mumbai (#611)
## v7.1.0 - _October 24, 2022_
* Add `BalancerV2Batch` support in `FantomBridgeAdapter` (#607)
## v7.0.0 - _October 21, 2022_
* Updated Ethereum FQT to enable RFQT V2 (#604)

View File

@@ -156,7 +156,7 @@
"wethTransformer": "0x445af2e5791cc9a72f81c49a3dc90cf3b03d2a62",
"payTakerTransformer": "0xe3e8652fb306873f9dc87222423ffd51b967f014",
"affiliateFeeTransformer": "0xbd901aff2ce18355537594a17ebb0a38ca44d8b6",
"fillQuoteTransformer": "0xbfac39aea3c0a6222266cef674ec39c3b5387852",
"fillQuoteTransformer": "0xa2885e15b7f8236a94c686ec5a6a908623e1e6ba",
"positiveSlippageFeeTransformer": "0x33ab86b46d84d30538a9b35c7ece4d5673caa778"
}
},
@@ -202,7 +202,7 @@
"wethTransformer": "0x9b6aa8f26a92108e7d1f66373d757bb955112703",
"payTakerTransformer": "0x32df54951d33d7460e15fa59b1fcc262183ce4c2",
"affiliateFeeTransformer": "0x67efa679a4b56c38713d478e649c88247f4f8e88",
"fillQuoteTransformer": "0xe40f81ef6e9c95ba04c659b8d032eab73152aafd",
"fillQuoteTransformer": "0x3a1e9825c9966daab30db241a7ee51a8dd7ad74f",
"positiveSlippageFeeTransformer": "0xe87d69b285005cc82b53b844322652c49ed64600"
}
},

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contract-addresses",
"version": "7.0.0",
"version": "7.2.0",
"engines": {
"node": ">=6.12"
},

View File

@@ -1,4 +1,22 @@
[
{
"timestamp": 1667427402,
"version": "13.22.9",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666645023,
"version": "13.22.8",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666381417,
"version": "13.22.7",

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v13.22.9 - _November 2, 2022_
* Dependencies updated
## v13.22.8 - _October 24, 2022_
* Dependencies updated
## v13.22.7 - _October 21, 2022_
* Dependencies updated

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/contract-wrappers",
"version": "13.22.7",
"version": "13.22.9",
"engines": {
"node": ">=6.12"
},
@@ -59,7 +59,7 @@
"dependencies": {
"@0x/assert": "^3.0.35",
"@0x/base-contract": "^7.0.0",
"@0x/contract-addresses": "^7.0.0",
"@0x/contract-addresses": "^7.2.0",
"@0x/json-schemas": "^6.4.4",
"@0x/types": "^3.3.6",
"@0x/utils": "^7.0.0",

View File

@@ -1,4 +1,22 @@
[
{
"timestamp": 1667427402,
"version": "11.16.17",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666645023,
"version": "11.16.16",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1666381417,
"version": "11.16.15",

View File

@@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
## v11.16.17 - _November 2, 2022_
* Dependencies updated
## v11.16.16 - _October 24, 2022_
* Dependencies updated
## v11.16.15 - _October 21, 2022_
* Dependencies updated

View File

@@ -1,6 +1,6 @@
{
"name": "@0x/protocol-utils",
"version": "11.16.15",
"version": "11.16.17",
"engines": {
"node": ">=6.12"
},
@@ -65,8 +65,8 @@
},
"dependencies": {
"@0x/assert": "^3.0.35",
"@0x/contract-addresses": "^7.0.0",
"@0x/contract-wrappers": "^13.22.7",
"@0x/contract-addresses": "^7.2.0",
"@0x/contract-wrappers": "^13.22.9",
"@0x/json-schemas": "^6.4.4",
"@0x/subproviders": "^7.0.0",
"@0x/utils": "^7.0.0",

View File

@@ -773,6 +773,11 @@
js-sha3 "^0.7.0"
uuid "^3.3.2"
"@0x/contract-addresses@^6.12.1", "@0x/contract-addresses@^6.6.0":
version "6.25.0"
resolved "https://registry.yarnpkg.com/@0x/contract-addresses/-/contract-addresses-6.25.0.tgz#bb0d138d40924244482336153317f0e8a5d42b0a"
integrity sha512-0Kr2sMupS2wNqWLvWg8fnBdOHWwLKjhsIlazUBkDpQWyNOO/eI/bwoxwMOmxf0hVSmSL5/Vn1bulltLBdKIWww==
"@0x/contracts-asset-proxy@^3.7.19":
version "3.7.19"
resolved "https://registry.yarnpkg.com/@0x/contracts-asset-proxy/-/contracts-asset-proxy-3.7.19.tgz#ee621a233f4d77b439c74c5b8d70db2e1ed001c4"