Remove zrxAssetData param to ensure that it is always in sync with zrxToken
This commit is contained in:
@@ -25,7 +25,7 @@ contract MixinConstants is
|
||||
MixinDeploymentConstants
|
||||
{
|
||||
// TODO: Reevaluate this variable
|
||||
uint96 constant internal PERCENTAGE_DENOMINATOR = 100; // 10**18
|
||||
uint8 constant internal PERCENTAGE_DENOMINATOR = 100;
|
||||
|
||||
// The upper 16 bytes represent the pool id, so this would be pool id 1. See MixinStakinPool for more information.
|
||||
bytes32 constant internal INITIAL_POOL_ID = 0x0000000000000000000000000000000100000000000000000000000000000000;
|
||||
|
||||
@@ -54,12 +54,6 @@ interface IZrxVault {
|
||||
address erc20ProxyAddress
|
||||
);
|
||||
|
||||
/// @dev Emitted when the Zrx Asset Data is changed.
|
||||
/// @param zrxAssetData New Zrx Asset Data.
|
||||
event ZrxAssetDataChanged(
|
||||
bytes zrxAssetData
|
||||
);
|
||||
|
||||
/// @dev Sets the ERC20 proxy.
|
||||
/// Note that only the contract owner can call this.
|
||||
/// Note that this can only be called when *not* in Catastrophic Failure mode.
|
||||
@@ -67,13 +61,6 @@ interface IZrxVault {
|
||||
function setErc20Proxy(address erc20ProxyAddress)
|
||||
external;
|
||||
|
||||
/// @dev Sets the Zrx Asset Data.
|
||||
/// Note that only the contract owner can call this.
|
||||
/// Note that this can only be called when *not* in Catastrophic Failure mode.
|
||||
/// @param _zrxAssetData Zrx asset data for the ERC20 Proxy.
|
||||
function setZrxAssetData(bytes calldata _zrxAssetData)
|
||||
external;
|
||||
|
||||
/// @dev Deposit an `amount` of Zrx Tokens from `owner` into the vault.
|
||||
/// Note that only the Staking contract can call this.
|
||||
/// Note that this can only be called when *not* in Catastrophic Failure mode.
|
||||
@@ -90,7 +77,7 @@ interface IZrxVault {
|
||||
function withdrawFrom(address owner, uint256 amount)
|
||||
external;
|
||||
|
||||
/// @dev Withdraw ALL Zrx Tokens to `owner` from the vault.
|
||||
/// @dev Withdraw all of sender's ZRX from vault from the vault.
|
||||
/// Note that this can only be called when *in* Catastrophic Failure mode.
|
||||
/// @param owner of Zrx Tokens.
|
||||
function withdrawAllFrom(address owner)
|
||||
|
||||
@@ -21,6 +21,7 @@ pragma solidity ^0.5.9;
|
||||
import "../interfaces/IZrxVault.sol";
|
||||
import "@0x/contracts-utils/contracts/src/LibSafeMath.sol";
|
||||
import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetProxy.sol";
|
||||
import "@0x/contracts-asset-proxy/contracts/src/interfaces/IAssetData.sol";
|
||||
import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol";
|
||||
import "./MixinVaultCore.sol";
|
||||
|
||||
@@ -37,7 +38,6 @@ contract ZrxVault is
|
||||
IZrxVault,
|
||||
MixinVaultCore
|
||||
{
|
||||
|
||||
using LibSafeMath for uint256;
|
||||
|
||||
// mapping from Owner to ZRX balance
|
||||
@@ -55,17 +55,18 @@ contract ZrxVault is
|
||||
/// @dev Constructor.
|
||||
/// @param erc20ProxyAddress Address of the 0x ERC20 Proxy.
|
||||
/// @param zrxTokenAddress Address of the Zrx Token.
|
||||
/// @param _zrxAssetData Zrx asset data for the ERC20 Proxy.
|
||||
constructor(
|
||||
address erc20ProxyAddress,
|
||||
address zrxTokenAddress,
|
||||
bytes memory _zrxAssetData
|
||||
address zrxTokenAddress
|
||||
)
|
||||
public
|
||||
{
|
||||
erc20Proxy = IAssetProxy(erc20ProxyAddress);
|
||||
zrxToken = IERC20Token(zrxTokenAddress);
|
||||
zrxAssetData = _zrxAssetData;
|
||||
zrxAssetData = abi.encodeWithSelector(
|
||||
IAssetData(address(0)).ERC20Token.selector,
|
||||
zrxTokenAddress
|
||||
);
|
||||
}
|
||||
|
||||
/// @dev Sets the ERC20 proxy.
|
||||
@@ -81,19 +82,6 @@ contract ZrxVault is
|
||||
emit Erc20ProxyChanged(erc20ProxyAddress);
|
||||
}
|
||||
|
||||
/// @dev Sets the Zrx Asset Data.
|
||||
/// Note that only the contract owner can call this.
|
||||
/// Note that this can only be called when *not* in Catastrophic Failure mode.
|
||||
/// @param _zrxAssetData Zrx asset data for the ERC20 Proxy.
|
||||
function setZrxAssetData(bytes calldata _zrxAssetData)
|
||||
external
|
||||
onlyOwner
|
||||
onlyNotInCatastrophicFailure
|
||||
{
|
||||
zrxAssetData = _zrxAssetData;
|
||||
emit ZrxAssetDataChanged(_zrxAssetData);
|
||||
}
|
||||
|
||||
/// @dev Deposit an `amount` of Zrx Tokens from `owner` into the vault.
|
||||
/// Note that only the Staking contract can call this.
|
||||
/// Note that this can only be called when *not* in Catastrophic Failure mode.
|
||||
@@ -132,7 +120,7 @@ contract ZrxVault is
|
||||
_withdrawFrom(owner, amount);
|
||||
}
|
||||
|
||||
/// @dev Withdraw ALL Zrx Tokens to `owner` from the vault.
|
||||
/// @dev Withdraw all of sender's ZRX from vault from the vault.
|
||||
/// Note that this can only be called when *in* Catastrophic Failure mode.
|
||||
/// @param owner of Zrx Tokens.
|
||||
function withdrawAllFrom(address owner)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { ERC20ProxyContract } from '@0x/contracts-asset-proxy';
|
||||
import { artifacts as erc20Artifacts, DummyERC20TokenContract } from '@0x/contracts-erc20';
|
||||
import { constants as testUtilsConstants, LogDecoder, txDefaults } from '@0x/contracts-test-utils';
|
||||
import { assetDataUtils } from '@0x/order-utils';
|
||||
import { SignatureType } from '@0x/types';
|
||||
import { BigNumber, logUtils } from '@0x/utils';
|
||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||
@@ -100,7 +99,6 @@ export class StakingWrapper {
|
||||
}
|
||||
public async deployAndConfigureContractsAsync(): Promise<void> {
|
||||
// deploy zrx vault
|
||||
const zrxAssetData = assetDataUtils.encodeERC20AssetData(this._zrxTokenContract.address);
|
||||
this._zrxVaultContractIfExists = await ZrxVaultContract.deployFrom0xArtifactAsync(
|
||||
artifacts.ZrxVault,
|
||||
this._provider,
|
||||
@@ -108,7 +106,6 @@ export class StakingWrapper {
|
||||
artifacts,
|
||||
this._erc20ProxyContract.address,
|
||||
this._zrxTokenContract.address,
|
||||
zrxAssetData,
|
||||
);
|
||||
// deploy reward vault
|
||||
this._rewardVaultContractIfExists = await StakingPoolRewardVaultContract.deployFrom0xArtifactAsync(
|
||||
|
||||
Reference in New Issue
Block a user