Commit 5daaf60d by artiebits Committed by Matt Condon

Make contracts 4.24 compatible (#951)

* Make contracts 4.24 compatible
parent e1dc1411
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./payment/PullPayment.sol"; import "./payment/PullPayment.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
...@@ -69,8 +69,7 @@ library ECRecovery { ...@@ -69,8 +69,7 @@ library ECRecovery {
// 32 is the length in bytes of hash, // 32 is the length in bytes of hash,
// enforced by the type signature above // enforced by the type signature above
return keccak256( return keccak256(
"\x19Ethereum Signed Message:\n32", abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)
hash
); );
} }
} }
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/* /*
...@@ -30,10 +30,10 @@ library MerkleProof { ...@@ -30,10 +30,10 @@ library MerkleProof {
if (computedHash < proofElement) { if (computedHash < proofElement) {
// Hash(current computed hash + current element of the proof) // Hash(current computed hash + current element of the proof)
computedHash = keccak256(computedHash, proofElement); computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
} else { } else {
// Hash(current element of the proof + current computed hash) // Hash(current element of the proof + current computed hash)
computedHash = keccak256(proofElement, computedHash); computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
} }
} }
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ownership/Ownable.sol"; import "../ownership/Ownable.sol";
import "../ownership/rbac/RBAC.sol"; import "../ownership/rbac/RBAC.sol";
...@@ -16,7 +16,7 @@ import "../ECRecovery.sol"; ...@@ -16,7 +16,7 @@ import "../ECRecovery.sol";
* @dev * @dev
* @dev This technique is useful for whitelists and airdrops; instead of putting all * @dev This technique is useful for whitelists and airdrops; instead of putting all
* @dev valid addresses on-chain, simply sign a grant of the form * @dev valid addresses on-chain, simply sign a grant of the form
* @dev keccak256(`:contractAddress` + `:granteeAddress`) using a valid bouncer address. * @dev keccak256(abi.encodePacked(`:contractAddress` + `:granteeAddress`)) using a valid bouncer address.
* @dev Then restrict access to your crowdsale/whitelist/airdrop using the * @dev Then restrict access to your crowdsale/whitelist/airdrop using the
* @dev `onlyValidSignature` modifier (or implement your own using isValidSignature). * @dev `onlyValidSignature` modifier (or implement your own using isValidSignature).
* @dev * @dev
...@@ -99,7 +99,7 @@ contract SignatureBouncer is Ownable, RBAC { ...@@ -99,7 +99,7 @@ contract SignatureBouncer is Ownable, RBAC {
returns (bool) returns (bool)
{ {
return isValidDataHash( return isValidDataHash(
keccak256(address(this), _address), keccak256(abi.encodePacked(address(this), _address)),
_sig _sig
); );
} }
...@@ -118,7 +118,7 @@ contract SignatureBouncer is Ownable, RBAC { ...@@ -118,7 +118,7 @@ contract SignatureBouncer is Ownable, RBAC {
data[i] = msg.data[i]; data[i] = msg.data[i];
} }
return isValidDataHash( return isValidDataHash(
keccak256(address(this), _address, data), keccak256(abi.encodePacked(address(this), _address, data)),
_sig _sig
); );
} }
...@@ -139,7 +139,7 @@ contract SignatureBouncer is Ownable, RBAC { ...@@ -139,7 +139,7 @@ contract SignatureBouncer is Ownable, RBAC {
data[i] = msg.data[i]; data[i] = msg.data[i];
} }
return isValidDataHash( return isValidDataHash(
keccak256(address(this), _address, data), keccak256(abi.encodePacked(address(this), _address, data)),
_sig _sig
); );
} }
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ownership/Ownable.sol"; import "../ownership/Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../math/SafeMath.sol"; import "../math/SafeMath.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../math/SafeMath.sol"; import "../../math/SafeMath.sol";
import "../../ownership/Ownable.sol"; import "../../ownership/Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../validation/TimedCrowdsale.sol"; import "../validation/TimedCrowdsale.sol";
import "../../token/ERC20/ERC20.sol"; import "../../token/ERC20/ERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../math/SafeMath.sol"; import "../../math/SafeMath.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../../math/SafeMath.sol"; import "../../../math/SafeMath.sol";
import "../../../ownership/Ownable.sol"; import "../../../ownership/Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../Crowdsale.sol"; import "../Crowdsale.sol";
import "../../token/ERC20/ERC20.sol"; import "../../token/ERC20/ERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../Crowdsale.sol"; import "../Crowdsale.sol";
import "../../token/ERC20/MintableToken.sol"; import "../../token/ERC20/MintableToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../validation/TimedCrowdsale.sol"; import "../validation/TimedCrowdsale.sol";
import "../../math/SafeMath.sol"; import "../../math/SafeMath.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../math/SafeMath.sol"; import "../../math/SafeMath.sol";
import "../Crowdsale.sol"; import "../Crowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../math/SafeMath.sol"; import "../../math/SafeMath.sol";
import "../Crowdsale.sol"; import "../Crowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../math/SafeMath.sol"; import "../../math/SafeMath.sol";
import "../Crowdsale.sol"; import "../Crowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../Crowdsale.sol"; import "../Crowdsale.sol";
import "../../ownership/Ownable.sol"; import "../../ownership/Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ownership/rbac/RBAC.sol"; import "../ownership/rbac/RBAC.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../crowdsale/validation/CappedCrowdsale.sol"; import "../crowdsale/validation/CappedCrowdsale.sol";
import "../crowdsale/distribution/RefundableCrowdsale.sol"; import "../crowdsale/distribution/RefundableCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ownership/Heritable.sol"; import "../ownership/Heritable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/StandardToken.sol"; import "../token/ERC20/StandardToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC165.sol"; import "./ERC165.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ownership/Ownable.sol"; import "../ownership/Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ownership/Ownable.sol"; import "../ownership/Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ownership/Ownable.sol"; import "../ownership/Ownable.sol";
import "../token/ERC20/ERC20Basic.sol"; import "../token/ERC20/ERC20Basic.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../crowdsale/emission/AllowanceCrowdsale.sol"; import "../crowdsale/emission/AllowanceCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/BasicToken.sol"; import "../token/ERC20/BasicToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../access/SignatureBouncer.sol"; import "../access/SignatureBouncer.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/BurnableToken.sol"; import "../token/ERC20/BurnableToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/CappedCrowdsale.sol"; import "../crowdsale/validation/CappedCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/StandardToken.sol"; import "../token/ERC20/StandardToken.sol";
import "../token/ERC20/DetailedERC20.sol"; import "../token/ERC20/DetailedERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ECRecovery.sol"; import "../ECRecovery.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/BasicToken.sol"; import "../token/ERC20/BasicToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC721/ERC721BasicToken.sol"; import "../token/ERC721/ERC721BasicToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC721/ERC721Receiver.sol"; import "../token/ERC721/ERC721Receiver.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC721/ERC721Token.sol"; import "../token/ERC721/ERC721Token.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC827/ERC827Token.sol"; import "../token/ERC827/ERC827Token.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/MintableToken.sol"; import "../token/ERC20/MintableToken.sol";
import "../crowdsale/distribution/FinalizableCrowdsale.sol"; import "../crowdsale/distribution/FinalizableCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
// @title Force Ether into a contract. // @title Force Ether into a contract.
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../contracts/ownership/HasNoEther.sol"; import "../../contracts/ownership/HasNoEther.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../crowdsale/price/IncreasingPriceCrowdsale.sol"; import "../crowdsale/price/IncreasingPriceCrowdsale.sol";
import "../math/SafeMath.sol"; import "../math/SafeMath.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/IndividuallyCappedCrowdsale.sol"; import "../crowdsale/validation/IndividuallyCappedCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import {Bounty, Target} from "../../contracts/Bounty.sol"; import {Bounty, Target} from "../../contracts/Bounty.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../LimitBalance.sol"; import "../LimitBalance.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../contracts/math/Math.sol"; import "../../contracts/math/Math.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import { MerkleProof } from "../MerkleProof.sol"; import { MerkleProof } from "../MerkleProof.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
contract MessageHelper { contract MessageHelper {
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/MintableToken.sol"; import "../token/ERC20/MintableToken.sol";
import "../crowdsale/emission/MintedCrowdsale.sol"; import "../crowdsale/emission/MintedCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../lifecycle/Pausable.sol"; import "../lifecycle/Pausable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/PausableToken.sol"; import "../token/ERC20/PausableToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../crowdsale/distribution/PostDeliveryCrowdsale.sol"; import "../crowdsale/distribution/PostDeliveryCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../payment/PullPayment.sol"; import "../payment/PullPayment.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/RBACMintableToken.sol"; import "../token/ERC20/RBACMintableToken.sol";
import "../token/ERC20/CappedToken.sol"; import "../token/ERC20/CappedToken.sol";
contract RBACCappedTokenMock is CappedToken, RBACMintableToken { contract RBACCappedTokenMock is CappedToken, RBACMintableToken {
constructor( constructor(
uint256 _cap uint256 _cap
) )
CappedToken(_cap) CappedToken(_cap)
public public
{} {}
} }
\ No newline at end of file
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../examples/RBACWithAdmin.sol"; import "../examples/RBACWithAdmin.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
contract ReentrancyAttack { contract ReentrancyAttack {
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ReentrancyGuard.sol"; import "../ReentrancyGuard.sol";
import "./ReentrancyAttack.sol"; import "./ReentrancyAttack.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/MintableToken.sol"; import "../token/ERC20/MintableToken.sol";
import "../crowdsale/distribution/RefundableCrowdsale.sol"; import "../crowdsale/distribution/RefundableCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../token/ERC20/SafeERC20.sol"; import "../token/ERC20/SafeERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../math/SafeMath.sol"; import "../math/SafeMath.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import {Bounty, Target} from "../../contracts/Bounty.sol"; import {Bounty, Target} from "../../contracts/Bounty.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/StandardBurnableToken.sol"; import "../token/ERC20/StandardBurnableToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/StandardToken.sol"; import "../token/ERC20/StandardToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../introspection/SupportsInterfaceWithLookup.sol"; import "../introspection/SupportsInterfaceWithLookup.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/TimedCrowdsale.sol"; import "../crowdsale/validation/TimedCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../access/Whitelist.sol"; import "../access/Whitelist.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../token/ERC20/ERC20.sol"; import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/WhitelistedCrowdsale.sol"; import "../crowdsale/validation/WhitelistedCrowdsale.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Ownable.sol"; import "./Ownable.sol";
import "../token/ERC20/ERC20Basic.sol"; import "../token/ERC20/ERC20Basic.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Ownable.sol"; import "./Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Ownable.sol"; import "./Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Claimable.sol"; import "./Claimable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Ownable.sol"; import "./Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Ownable.sol"; import "./Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./CanReclaimToken.sol"; import "./CanReclaimToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Ownable.sol"; import "./Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./HasNoEther.sol"; import "./HasNoEther.sol";
import "./HasNoTokens.sol"; import "./HasNoTokens.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Ownable.sol"; import "./Ownable.sol";
...@@ -7,9 +7,9 @@ import "./rbac/RBAC.sol"; ...@@ -7,9 +7,9 @@ import "./rbac/RBAC.sol";
/** /**
* @title Superuser * @title Superuser
* @dev The Superuser contract defines a single superuser who can transfer the ownership * @dev The Superuser contract defines a single superuser who can transfer the ownership
* @dev of a contract to a new address, even if he is not the owner. * @dev of a contract to a new address, even if he is not the owner.
* @dev A superuser can transfer his role to a new address. * @dev A superuser can transfer his role to a new address.
*/ */
contract Superuser is Ownable, RBAC { contract Superuser is Ownable, RBAC {
string public constant ROLE_SUPERUSER = "superuser"; string public constant ROLE_SUPERUSER = "superuser";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./Roles.sol"; import "./Roles.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../math/SafeMath.sol"; import "../math/SafeMath.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../math/SafeMath.sol"; import "../math/SafeMath.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC20Basic.sol"; import "./ERC20Basic.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./BasicToken.sol"; import "./BasicToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./MintableToken.sol"; import "./MintableToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC20.sol"; import "./ERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC20Basic.sol"; import "./ERC20Basic.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./StandardToken.sol"; import "./StandardToken.sol";
import "../../ownership/Ownable.sol"; import "../../ownership/Ownable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./StandardToken.sol"; import "./StandardToken.sol";
import "../../lifecycle/Pausable.sol"; import "../../lifecycle/Pausable.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./MintableToken.sol"; import "./MintableToken.sol";
import "../../ownership/rbac/RBAC.sol"; import "../../ownership/rbac/RBAC.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC20Basic.sol"; import "./ERC20Basic.sol";
import "./ERC20.sol"; import "./ERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./BurnableToken.sol"; import "./BurnableToken.sol";
import "./StandardToken.sol"; import "./StandardToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./BasicToken.sol"; import "./BasicToken.sol";
import "./ERC20.sol"; import "./ERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./SafeERC20.sol"; import "./SafeERC20.sol";
......
/* solium-disable security/no-block-members */ /* solium-disable security/no-block-members */
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC20Basic.sol"; import "./ERC20Basic.sol";
import "./SafeERC20.sol"; import "./SafeERC20.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC721.sol"; import "./ERC721.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC721Basic.sol"; import "./ERC721Basic.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../../introspection/ERC165.sol"; import "../../introspection/ERC165.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC721Basic.sol"; import "./ERC721Basic.sol";
import "./ERC721Receiver.sol"; import "./ERC721Receiver.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC721Receiver.sol"; import "./ERC721Receiver.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
/** /**
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC721.sol"; import "./ERC721.sol";
import "./ERC721BasicToken.sol"; import "./ERC721BasicToken.sol";
......
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "../ERC20/ERC20.sol"; import "../ERC20/ERC20.sol";
......
/* solium-disable security/no-low-level-calls */ /* solium-disable security/no-low-level-calls */
pragma solidity ^0.4.23; pragma solidity ^0.4.24;
import "./ERC827.sol"; import "./ERC827.sol";
import "../ERC20/StandardToken.sol"; import "../ERC20/StandardToken.sol";
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
"ganache-cli": "6.1.0", "ganache-cli": "6.1.0",
"solidity-coverage": "^0.5.0", "solidity-coverage": "^0.5.0",
"solium": "^1.1.7", "solium": "^1.1.7",
"truffle": "^4.1.8", "truffle": "^4.1.11",
"truffle-hdwallet-provider": "0.0.3", "truffle-hdwallet-provider": "0.0.3",
"web3-utils": "^1.0.0-beta.34" "web3-utils": "^1.0.0-beta.34"
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment