Fix build
This commit is contained in:
		@@ -19,6 +19,7 @@
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "contracts": [
 | 
			
		||||
        "AssetProxyOwner",
 | 
			
		||||
        "DummyERC20Token",
 | 
			
		||||
        "DummyERC721Token",
 | 
			
		||||
        "ERC20Proxy",
 | 
			
		||||
@@ -27,7 +28,6 @@
 | 
			
		||||
        "MixinAuthorizable",
 | 
			
		||||
        "MultiSigWallet",
 | 
			
		||||
        "MultiSigWalletWithTimeLock",
 | 
			
		||||
        "MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress",
 | 
			
		||||
        "TestAssetProxyDispatcher",
 | 
			
		||||
        "TestLibBytes",
 | 
			
		||||
        "TestLibs",
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,8 @@
 | 
			
		||||
        "run_mocha": "mocha 'lib/test/**/*.js' --timeout 100000 --bail --exit",
 | 
			
		||||
        "compile": "sol-compiler",
 | 
			
		||||
        "clean": "shx rm -rf lib src/contract_wrappers/generated",
 | 
			
		||||
        "generate_contract_wrappers": "abi-gen --abis  ${npm_package_config_abis} --template ../contract_templates/contract.handlebars --partials '../contract_templates/partials/**/*.handlebars' --output src/contract_wrappers/generated --backend ethers && prettier --write 'src/contract_wrappers/generated/**.ts'",
 | 
			
		||||
        "generate_contract_wrappers":
 | 
			
		||||
            "abi-gen --abis  ${npm_package_config_abis} --template ../contract_templates/contract.handlebars --partials '../contract_templates/partials/**/*.handlebars' --output src/contract_wrappers/generated --backend ethers && prettier --write 'src/contract_wrappers/generated/**.ts'",
 | 
			
		||||
        "lint": "tslint --project .",
 | 
			
		||||
        "coverage:report:text": "istanbul report text",
 | 
			
		||||
        "coverage:report:html": "istanbul report html && open coverage/index.html",
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,82 @@
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
  Copyright 2017 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.4.10;
 | 
			
		||||
 | 
			
		||||
import "../../current/multisig/MultiSigWalletWithTimeLock/MultiSigWalletWithTimeLock.sol";
 | 
			
		||||
 | 
			
		||||
contract MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress is MultiSigWalletWithTimeLock {
 | 
			
		||||
 | 
			
		||||
    address public TOKEN_TRANSFER_PROXY_CONTRACT;
 | 
			
		||||
 | 
			
		||||
    modifier validRemoveAuthorizedAddressTx(uint transactionId) {
 | 
			
		||||
        Transaction storage tx = transactions[transactionId];
 | 
			
		||||
        require(tx.destination == TOKEN_TRANSFER_PROXY_CONTRACT);
 | 
			
		||||
        require(isFunctionRemoveAuthorizedAddress(tx.data));
 | 
			
		||||
        _;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// @dev Contract constructor sets initial owners, required number of confirmations, time lock, and tokenTransferProxy address.
 | 
			
		||||
    /// @param _owners List of initial owners.
 | 
			
		||||
    /// @param _required Number of required confirmations.
 | 
			
		||||
    /// @param _secondsTimeLocked Duration needed after a transaction is confirmed and before it becomes executable, in seconds.
 | 
			
		||||
    /// @param _tokenTransferProxy Address of TokenTransferProxy contract.
 | 
			
		||||
    function MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress(
 | 
			
		||||
        address[] _owners,
 | 
			
		||||
        uint _required,
 | 
			
		||||
        uint _secondsTimeLocked,
 | 
			
		||||
        address _tokenTransferProxy)
 | 
			
		||||
        public
 | 
			
		||||
        MultiSigWalletWithTimeLock(_owners, _required, _secondsTimeLocked)
 | 
			
		||||
    {
 | 
			
		||||
        TOKEN_TRANSFER_PROXY_CONTRACT = _tokenTransferProxy;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// @dev Allows execution of removeAuthorizedAddress without time lock.
 | 
			
		||||
    /// @param transactionId Transaction ID.
 | 
			
		||||
    function executeRemoveAuthorizedAddress(uint transactionId)
 | 
			
		||||
        public
 | 
			
		||||
        notExecuted(transactionId)
 | 
			
		||||
        fullyConfirmed(transactionId)
 | 
			
		||||
        validRemoveAuthorizedAddressTx(transactionId)
 | 
			
		||||
    {
 | 
			
		||||
        Transaction storage tx = transactions[transactionId];
 | 
			
		||||
        tx.executed = true;
 | 
			
		||||
        if (tx.destination.call.value(tx.value)(tx.data))
 | 
			
		||||
            Execution(transactionId);
 | 
			
		||||
        else {
 | 
			
		||||
            ExecutionFailure(transactionId);
 | 
			
		||||
            tx.executed = false;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// @dev Compares first 4 bytes of byte array to removeAuthorizedAddress function signature.
 | 
			
		||||
    /// @param data Transaction data.
 | 
			
		||||
    /// @return Successful if data is a call to removeAuthorizedAddress.
 | 
			
		||||
    function isFunctionRemoveAuthorizedAddress(bytes data)
 | 
			
		||||
        public
 | 
			
		||||
        constant
 | 
			
		||||
        returns (bool)
 | 
			
		||||
    {
 | 
			
		||||
        bytes4 removeAuthorizedAddressSignature = bytes4(sha3("removeAuthorizedAddress(address)"));
 | 
			
		||||
        for (uint i = 0; i < 4; i++) {
 | 
			
		||||
            require(data[i] == removeAuthorizedAddressSignature[i]);
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -40,7 +40,11 @@ describe('AssetProxyOwner', () => {
 | 
			
		||||
        const accounts = await web3Wrapper.getAvailableAddressesAsync();
 | 
			
		||||
        owners = [accounts[0], accounts[1]];
 | 
			
		||||
        const initialOwner = (authorized = accounts[0]);
 | 
			
		||||
        erc20Proxy = await MixinAuthorizableContract.deployFrom0xArtifactAsync(artifacts.MixinAuthorizable, provider, txDefaults);
 | 
			
		||||
        erc20Proxy = await MixinAuthorizableContract.deployFrom0xArtifactAsync(
 | 
			
		||||
            artifacts.MixinAuthorizable,
 | 
			
		||||
            provider,
 | 
			
		||||
            txDefaults,
 | 
			
		||||
        );
 | 
			
		||||
        erc721Proxy = await MixinAuthorizableContract.deployFrom0xArtifactAsync(
 | 
			
		||||
            artifacts.MixinAuthorizable,
 | 
			
		||||
            provider,
 | 
			
		||||
@@ -55,7 +59,7 @@ describe('AssetProxyOwner', () => {
 | 
			
		||||
            requiredApprovals,
 | 
			
		||||
            SECONDS_TIME_LOCKED,
 | 
			
		||||
            defaultAssetProxyContractAddresses,
 | 
			
		||||
        ]);
 | 
			
		||||
        );
 | 
			
		||||
        multiSigWrapper = new MultiSigWrapper(multiSig, zeroEx);
 | 
			
		||||
        await erc20Proxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: initialOwner });
 | 
			
		||||
        await erc721Proxy.transferOwnership.sendTransactionAsync(multiSig.address, { from: initialOwner });
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										782
									
								
								packages/migrations/artifacts/2.0.0/AssetProxyOwner.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										782
									
								
								packages/migrations/artifacts/2.0.0/AssetProxyOwner.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user