diff --git a/contracts/staking/contracts/src/fees/MixinExchangeFees.sol b/contracts/staking/contracts/src/fees/MixinExchangeFees.sol index 0ab5634346..37dc7159f6 100644 --- a/contracts/staking/contracts/src/fees/MixinExchangeFees.sol +++ b/contracts/staking/contracts/src/fees/MixinExchangeFees.sol @@ -56,11 +56,13 @@ contract MixinExchangeFees is // Transfer the protocol fee to this address if it should be paid in // WETH. if (msg.value == 0) { - getWethAssetProxy().transferFrom( - getWethAssetData(), - payerAddress, - address(this), - protocolFeePaid + require( + getWethContract().transferFrom( + payerAddress, + address(this), + protocolFeePaid + ), + "WETH_TRANSFER_FAILED" ); } diff --git a/contracts/staking/contracts/src/immutable/MixinDeploymentConstants.sol b/contracts/staking/contracts/src/immutable/MixinDeploymentConstants.sol index 0d763f69d9..6aa23444b3 100644 --- a/contracts/staking/contracts/src/immutable/MixinDeploymentConstants.sol +++ b/contracts/staking/contracts/src/immutable/MixinDeploymentConstants.sol @@ -18,7 +18,6 @@ pragma solidity ^0.5.9; -import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetProxy.sol"; import "@0x/contracts-erc20/contracts/src/interfaces/IEtherToken.sol"; import "../interfaces/IZrxVault.sol"; @@ -37,17 +36,7 @@ contract MixinDeploymentConstants { // Ropsten & Rinkeby WETH9 Address // address constant private WETH_ADDRESS = address(0xc778417e063141139fce010982780140aa0cd5ab); - // Mainnet Weth Asset Data - bytes constant private WETH_ASSET_DATA = hex"f47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"; - - // Kovan Weth Asset Data - // bytes constant private WETH_ASSET_DATA = hex"f47261b0000000000000000000000000d0a1e359811322d97991e03f863a0c30c2cf029c"; - - // Ropsten & Rinkeby Weth Asset Data - // bytes constant private WETH_ASSET_DATA = hex"f47261b0000000000000000000000000c778417e063141139fce010982780140aa0cd5ab"; - // @TODO SET THESE VALUES FOR DEPLOYMENT - address constant private WETH_ASSET_PROXY_ADDRESS = address(1); address constant private ZRX_VAULT_ADDRESS = address(1); /// @dev An overridable way to access the deployed WETH contract. @@ -62,30 +51,6 @@ contract MixinDeploymentConstants { return wethContract; } - /// @dev An overridable way to access the deployed WETH assetData. - /// Must be view to allow overrides to access state. - /// @return wethAssetData The assetData of the configured WETH contract. - function getWethAssetData() - public - view - returns (bytes memory wethAssetData) - { - wethAssetData = WETH_ASSET_DATA; - return wethAssetData; - } - - /// @dev An overridable way to access the deployed WETH assetProxy. - /// Must be view to allow overrides to access state. - /// @return wethAssetProxy The assetProxy used to transfer WETH. - function getWethAssetProxy() - public - view - returns (IAssetProxy wethAssetProxy) - { - wethAssetProxy = IAssetProxy(WETH_ASSET_PROXY_ADDRESS); - return wethAssetProxy; - } - /// @dev An overridable way to access the deployed zrxVault. /// Must be view to allow overrides to access state. /// @return zrxVault The zrxVault contract. diff --git a/contracts/staking/contracts/src/immutable/MixinStorage.sol b/contracts/staking/contracts/src/immutable/MixinStorage.sol index be87751506..761ab0364a 100644 --- a/contracts/staking/contracts/src/immutable/MixinStorage.sol +++ b/contracts/staking/contracts/src/immutable/MixinStorage.sol @@ -19,7 +19,6 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; -import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetProxy.sol"; import "@0x/contracts-utils/contracts/src/LibRichErrors.sol"; import "@0x/contracts-utils/contracts/src/Authorizable.sol"; import "./MixinConstants.sol"; diff --git a/contracts/staking/contracts/src/interfaces/IStorage.sol b/contracts/staking/contracts/src/interfaces/IStorage.sol index 08f06e912e..300a8bfb18 100644 --- a/contracts/staking/contracts/src/interfaces/IStorage.sol +++ b/contracts/staking/contracts/src/interfaces/IStorage.sol @@ -19,7 +19,6 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; -import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetProxy.sol"; import "../interfaces/IZrxVault.sol"; import "../interfaces/IStructs.sol"; diff --git a/contracts/staking/contracts/test/TestCumulativeRewardTracking.sol b/contracts/staking/contracts/test/TestCumulativeRewardTracking.sol index 8e74842989..bad0b3d143 100644 --- a/contracts/staking/contracts/test/TestCumulativeRewardTracking.sol +++ b/contracts/staking/contracts/test/TestCumulativeRewardTracking.sol @@ -37,7 +37,6 @@ contract TestCumulativeRewardTracking is public TestStaking( wethAddress, - address(0), zrxVaultAddress ) {} diff --git a/contracts/staking/contracts/test/TestProtocolFees.sol b/contracts/staking/contracts/test/TestProtocolFees.sol index ac63184feb..71c2993c97 100644 --- a/contracts/staking/contracts/test/TestProtocolFees.sol +++ b/contracts/staking/contracts/test/TestProtocolFees.sol @@ -19,7 +19,6 @@ pragma solidity ^0.5.9; pragma experimental ABIEncoderV2; -import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetProxy.sol"; import "../src/interfaces/IStructs.sol"; import "./TestStakingNoWETH.sol"; @@ -34,7 +33,6 @@ contract TestProtocolFees is } event ERC20ProxyTransferFrom( - bytes assetData, address from, address to, uint256 amount @@ -81,14 +79,15 @@ contract TestProtocolFees is /// @dev The ERC20Proxy `transferFrom()` function. function transferFrom( - bytes calldata assetData, address from, address to, uint256 amount ) external + returns (bool) { - emit ERC20ProxyTransferFrom(assetData, from, to, amount); + emit ERC20ProxyTransferFrom(from, to, amount); + return true; } /// @dev Overridden to use test pools. @@ -127,12 +126,11 @@ contract TestProtocolFees is }); } - function getWethAssetProxy() + function getWethContract() public view - returns (IAssetProxy wethAssetProxy) + returns (IEtherToken wethContract) { - wethAssetProxy = IAssetProxy(address(this)); - return wethAssetProxy; + return IEtherToken(address(this)); } } diff --git a/contracts/staking/contracts/test/TestStaking.sol b/contracts/staking/contracts/test/TestStaking.sol index 06772438d9..1d57d1e8f0 100644 --- a/contracts/staking/contracts/test/TestStaking.sol +++ b/contracts/staking/contracts/test/TestStaking.sol @@ -28,18 +28,15 @@ contract TestStaking is Staking { address public testWethAddress; - address public testWethAssetProxyAddress; address public testZrxVaultAddress; constructor( address wethAddress, - address wethAssetProxyAddress, address zrxVaultAddress ) public { testWethAddress = wethAddress; - testWethAssetProxyAddress = wethAssetProxyAddress; testZrxVaultAddress = zrxVaultAddress; } @@ -56,28 +53,6 @@ contract TestStaking is return IEtherToken(wethAddress); } - function getWethAssetData() - public - view - returns (bytes memory) - { - address wethAddress = TestStaking(address(uint160(stakingContract))).testWethAddress(); - return abi.encodeWithSelector( - IAssetData(address(0)).ERC20Token.selector, - wethAddress - ); - } - - function getWethAssetProxy() - public - view - returns (IAssetProxy wethAssetProxy) - { - address wethAssetProxyAddress = TestStaking(address(uint160(stakingContract))).testWethAssetProxyAddress(); - wethAssetProxy = IAssetProxy(wethAssetProxyAddress); - return wethAssetProxy; - } - function getZrxVault() public view diff --git a/contracts/staking/contracts/test/TestStorageLayoutAndConstants.sol b/contracts/staking/contracts/test/TestStorageLayoutAndConstants.sol index 2d55fc5e21..21a577bc7d 100644 --- a/contracts/staking/contracts/test/TestStorageLayoutAndConstants.sol +++ b/contracts/staking/contracts/test/TestStorageLayoutAndConstants.sol @@ -43,16 +43,8 @@ contract TestStorageLayoutAndConstants is view { require( - getWethAssetData().equals(abi.encodeWithSelector( - IAssetData(address(0)).ERC20Token.selector, - getWethContract() - )), - "INVALID_WETH_ASSET_DATA" - ); - - require( - address(getWethAssetProxy()) != address(0), - "WETH_ASSET_PROXY_MUST_BE_SET" + address(getWethContract()) != address(0), + "WETH_MUST_BE_SET" ); require( diff --git a/contracts/staking/test/unit_tests/protocol_fees_test.ts b/contracts/staking/test/unit_tests/protocol_fees_test.ts index a89a0f4d74..de2f8bf29b 100644 --- a/contracts/staking/test/unit_tests/protocol_fees_test.ts +++ b/contracts/staking/test/unit_tests/protocol_fees_test.ts @@ -28,7 +28,6 @@ blockchainTests('Protocol Fees unit tests', env => { let exchangeAddress: string; let notExchangeAddress: string; let testContract: TestProtocolFeesContract; - let wethAssetData: string; let minimumStake: BigNumber; before(async () => { @@ -46,7 +45,6 @@ blockchainTests('Protocol Fees unit tests', env => { exchangeAddress, ); - wethAssetData = await testContract.getWethAssetData.callAsync(); minimumStake = (await testContract.getParams.callAsync())[2]; }); @@ -230,7 +228,6 @@ blockchainTests('Protocol Fees unit tests', env => { ); expect(logsArgs.length).to.eq(1); for (const args of logsArgs) { - expect(args.assetData).to.eq(wethAssetData); expect(args.from).to.eq(fromAddress); expect(args.to).to.eq(testContract.address); expect(args.amount).to.bignumber.eq(amount); diff --git a/contracts/staking/test/utils/api_wrapper.ts b/contracts/staking/test/utils/api_wrapper.ts index 6105715684..9c84859697 100644 --- a/contracts/staking/test/utils/api_wrapper.ts +++ b/contracts/staking/test/utils/api_wrapper.ts @@ -243,7 +243,6 @@ export async function deployAndConfigureContractsAsync( env.txDefaults, artifacts, wethContract.address, - erc20ProxyContract.address, zrxVaultContract.address, );