diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-10-17 02:15:17 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-10-17 02:15:17 +0800 |
commit | dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc (patch) | |
tree | a93d0d6864c3e0f37c2663a6ba9ae0d3e7813fe9 /packages/contracts/src/1.0.0/TokenTransferProxy/TokenTransferProxy_v1.sol | |
parent | d268e19124f086128aa293c5fe847f81891f7121 (diff) | |
parent | 72f5719b3412da7840a7b85e4dce512ecbaece4d (diff) | |
download | dexon-sol-tools-dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc.tar dexon-sol-tools-dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc.tar.gz dexon-sol-tools-dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc.tar.bz2 dexon-sol-tools-dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc.tar.lz dexon-sol-tools-dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc.tar.xz dexon-sol-tools-dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc.tar.zst dexon-sol-tools-dbf5be6c217b49c4b768a9ea9969d44d70fb3dcc.zip |
Merge branch 'development' of https://github.com/0xProject/0x-monorepo into feature/instant/move-features-over-from-zrx-buyer
Diffstat (limited to 'packages/contracts/src/1.0.0/TokenTransferProxy/TokenTransferProxy_v1.sol')
-rw-r--r-- | packages/contracts/src/1.0.0/TokenTransferProxy/TokenTransferProxy_v1.sol | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/packages/contracts/src/1.0.0/TokenTransferProxy/TokenTransferProxy_v1.sol b/packages/contracts/src/1.0.0/TokenTransferProxy/TokenTransferProxy_v1.sol deleted file mode 100644 index e3659d8ba..000000000 --- a/packages/contracts/src/1.0.0/TokenTransferProxy/TokenTransferProxy_v1.sol +++ /dev/null @@ -1,115 +0,0 @@ -/* - - Copyright 2018 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.11; - -import { Token_v1 as Token } from "../Token/Token_v1.sol"; -import { Ownable_v1 as Ownable } from "../Ownable/Ownable_v1.sol"; - -/// @title TokenTransferProxy - Transfers tokens on behalf of contracts that have been approved via decentralized governance. -/// @author Amir Bandeali - <amir@0xProject.com>, Will Warren - <will@0xProject.com> -contract TokenTransferProxy_v1 is Ownable { - - /// @dev Only authorized addresses can invoke functions with this modifier. - modifier onlyAuthorized { - require(authorized[msg.sender]); - _; - } - - modifier targetAuthorized(address target) { - require(authorized[target]); - _; - } - - modifier targetNotAuthorized(address target) { - require(!authorized[target]); - _; - } - - mapping (address => bool) public authorized; - address[] public authorities; - - event LogAuthorizedAddressAdded(address indexed target, address indexed caller); - event LogAuthorizedAddressRemoved(address indexed target, address indexed caller); - - /* - * Public functions - */ - - /// @dev Authorizes an address. - /// @param target Address to authorize. - function addAuthorizedAddress(address target) - public - onlyOwner - targetNotAuthorized(target) - { - authorized[target] = true; - authorities.push(target); - LogAuthorizedAddressAdded(target, msg.sender); - } - - /// @dev Removes authorizion of an address. - /// @param target Address to remove authorization from. - function removeAuthorizedAddress(address target) - public - onlyOwner - targetAuthorized(target) - { - delete authorized[target]; - for (uint i = 0; i < authorities.length; i++) { - if (authorities[i] == target) { - authorities[i] = authorities[authorities.length - 1]; - authorities.length -= 1; - break; - } - } - LogAuthorizedAddressRemoved(target, msg.sender); - } - - /// @dev Calls into ERC20 Token contract, invoking transferFrom. - /// @param token Address of token to transfer. - /// @param from Address to transfer token from. - /// @param to Address to transfer token to. - /// @param value Amount of token to transfer. - /// @return Success of transfer. - function transferFrom( - address token, - address from, - address to, - uint value) - public - onlyAuthorized - returns (bool) - { - return Token(token).transferFrom(from, to, value); - } - - /* - * Public constant functions - */ - - /// @dev Gets all authorized addresses. - /// @return Array of authorized addresses. - function getAuthorizedAddresses() - public - constant - returns (address[]) - { - return authorities; - } -} |