From 8f7ae67e66aa3d85f754db85f9d85a9975841bb2 Mon Sep 17 00:00:00 2001 From: Yo Sub Kwon Date: Sun, 6 Aug 2017 14:39:11 -0700 Subject: [PATCH 1/2] Made the default functionality 'buy' for ease of use to investors --- smart_token/PIXTokenCrowdsale_audited.sol | 6 +++--- smart_token/PIXTokenCrowdsale_audited.sol.gpg | Bin 5379 -> 5375 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/smart_token/PIXTokenCrowdsale_audited.sol b/smart_token/PIXTokenCrowdsale_audited.sol index 4bad9c5..7be7c59 100644 --- a/smart_token/PIXTokenCrowdsale_audited.sol +++ b/smart_token/PIXTokenCrowdsale_audited.sol @@ -39,7 +39,7 @@ contract SafeMath { * * https://github.com/ethereum/EIPs/issues/20 */ -interface Token { +contract Token { /// @return total amount of tokens function totalSupply() constant returns (uint256 supply); @@ -450,8 +450,8 @@ contract PIXToken is StandardToken, SafeMath { return super.transferFrom(_from, _to, _value); } - function() { - revert(); + function() payable { + buyRecipient(msg.sender); } } diff --git a/smart_token/PIXTokenCrowdsale_audited.sol.gpg b/smart_token/PIXTokenCrowdsale_audited.sol.gpg index f2ac16091954d192f9ae9686c5d496aa09b1b7b2..82c65fe5f88e69f0e5e78ef1c952f8cad3d026d2 100644 GIT binary patch literal 5375 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 literal 5379 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 From 0c0fc257ab8d1264a52b544311850c65aefce206 Mon Sep 17 00:00:00 2001 From: Yo Sub Kwon Date: Sun, 6 Aug 2017 15:37:57 -0700 Subject: [PATCH 2/2] Fixed bug with totalSupply needing to be removed from interface because it's being redefined as a variable in the inherited contract --- smart_token/PIXTokenCrowdsale_audited.sol | 5 +---- smart_token/PIXTokenCrowdsale_audited.sol.gpg | Bin 5375 -> 5363 bytes 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/smart_token/PIXTokenCrowdsale_audited.sol b/smart_token/PIXTokenCrowdsale_audited.sol index 7be7c59..6bd0d27 100644 --- a/smart_token/PIXTokenCrowdsale_audited.sol +++ b/smart_token/PIXTokenCrowdsale_audited.sol @@ -39,10 +39,7 @@ contract SafeMath { * * https://github.com/ethereum/EIPs/issues/20 */ -contract Token { - - /// @return total amount of tokens - function totalSupply() constant returns (uint256 supply); +interface Token { /// @param _owner The address from which the balance will be retrieved /// @return The balance diff --git a/smart_token/PIXTokenCrowdsale_audited.sol.gpg b/smart_token/PIXTokenCrowdsale_audited.sol.gpg index 82c65fe5f88e69f0e5e78ef1c952f8cad3d026d2..f702a0328baf3207b9de5dd0ab8970e6fb5dfff2 100644 GIT binary patch literal 5363 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 R_44Jf<^SN5dgkws{y%2rZw3GW literal 5375 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