diff options
author | chriseth <chris@ethereum.org> | 2017-07-12 21:03:29 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-12 21:03:29 +0800 |
commit | 106acd9cbb827a39cd9bfd67866dafe0eeeb31de (patch) | |
tree | d51cec3ba7cad7ccad440312ae2e19a7a62d2509 /test/compilationTests/zeppelin/LimitBalance.sol | |
parent | fca8d781b4490026dce657fd344a1fe36c9179f2 (diff) | |
parent | ac84b36144f746662e5ddb984d283e053c7d06ba (diff) | |
download | dexon-solidity-106acd9cbb827a39cd9bfd67866dafe0eeeb31de.tar.gz dexon-solidity-106acd9cbb827a39cd9bfd67866dafe0eeeb31de.tar.zst dexon-solidity-106acd9cbb827a39cd9bfd67866dafe0eeeb31de.zip |
Merge pull request #2522 from ethereum/testCode
Added various contracts for testing.
Diffstat (limited to 'test/compilationTests/zeppelin/LimitBalance.sol')
-rw-r--r-- | test/compilationTests/zeppelin/LimitBalance.sol | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/compilationTests/zeppelin/LimitBalance.sol b/test/compilationTests/zeppelin/LimitBalance.sol new file mode 100644 index 00000000..57477c74 --- /dev/null +++ b/test/compilationTests/zeppelin/LimitBalance.sol @@ -0,0 +1,33 @@ +pragma solidity ^0.4.11; + + +/** + * @title LimitBalance + * @dev Simple contract to limit the balance of child contract. + * @dev Note this doesn't prevent other contracts to send funds by using selfdestruct(address); + * @dev See: https://github.com/ConsenSys/smart-contract-best-practices#remember-that-ether-can-be-forcibly-sent-to-an-account + */ +contract LimitBalance { + + uint256 public limit; + + /** + * @dev Constructor that sets the passed value as a limit. + * @param _limit uint256 to represent the limit. + */ + function LimitBalance(uint256 _limit) { + limit = _limit; + } + + /** + * @dev Checks if limit was reached. Case true, it throws. + */ + modifier limitedPayable() { + if (this.balance > limit) { + throw; + } + _; + + } + +} |