aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/contracts/deprecated/EtherToken.sol
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contracts/contracts/deprecated/EtherToken.sol')
-rw-r--r--packages/contracts/contracts/deprecated/EtherToken.sol56
1 files changed, 56 insertions, 0 deletions
diff --git a/packages/contracts/contracts/deprecated/EtherToken.sol b/packages/contracts/contracts/deprecated/EtherToken.sol
new file mode 100644
index 000000000..68148e095
--- /dev/null
+++ b/packages/contracts/contracts/deprecated/EtherToken.sol
@@ -0,0 +1,56 @@
+/*
+
+ 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.11;
+
+import "./UnlimitedAllowanceToken.sol";
+import "./../base/SafeMath.sol";
+
+contract EtherToken is UnlimitedAllowanceToken, SafeMath {
+
+ string constant public name = "Ether Token";
+ string constant public symbol = "WETH";
+ uint8 constant public decimals = 18;
+
+ /// @dev Fallback to calling deposit when ether is sent directly to contract.
+ function()
+ public
+ payable
+ {
+ deposit();
+ }
+
+ /// @dev Buys tokens with Ether, exchanging them 1:1.
+ function deposit()
+ public
+ payable
+ {
+ balances[msg.sender] = safeAdd(balances[msg.sender], msg.value);
+ totalSupply = safeAdd(totalSupply, msg.value);
+ }
+
+ /// @dev Sells tokens in exchange for Ether, exchanging them 1:1.
+ /// @param amount Number of tokens to sell.
+ function withdraw(uint amount)
+ public
+ {
+ balances[msg.sender] = safeSub(balances[msg.sender], amount);
+ totalSupply = safeSub(totalSupply, amount);
+ require(msg.sender.send(amount));
+ }
+}