Address Contract Partially Verified
Address
0xB54C9FA2A504cd078c69956020a6b45BC9657F5F
Balance
5.8291 ETH
Nonce
1
Code Size
7998 bytes
Creator
0xBFb29761...F8d0 at tx 0x483f8d4c...d9083f
Indexed Transactions
0
Contract Bytecode
7998 bytes
0x608060405260043610610111576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461030f57806306fdde031461036657806310d0ffdd146103f657806318160ddd146104375780632260937314610462578063313ce567146104a35780633ccfd60b146104d45780634b750334146104eb57806356d399e814610516578063688abbf7146105415780636b2f46321461058457806370a08231146105af5780638620410b14610606578063949e8acd1461063157806395d89b411461065c578063a9059cbb146106ec578063e4849b3214610751578063e9fad8ee1461077e578063f088d54714610795578063fdb5a03e146107df575b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61017760026101696064346107f690919063ffffffff16565b61081190919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156101a2573d6000803e3d6000fd5b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61020660026101f86064346107f690919063ffffffff16565b61081190919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015610231573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61029560026102876064346107f690919063ffffffff16565b61081190919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156102c0573d6000803e3d6000fd5b506102e860646102da60063461081190919063ffffffff16565b6107f690919063ffffffff16565b91506102fd823461084c90919063ffffffff16565b905061030a816000610865565b505050005b34801561031b57600080fd5b50610350600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c7b565b6040518082815260200191505060405180910390f35b34801561037257600080fd5b5061037b610d1d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103bb5780820151818401526020810190506103a0565b50505050905090810190601f1680156103e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561040257600080fd5b5061042160048036038101908080359060200190929190505050610dbb565b6040518082815260200191505060405180910390f35b34801561044357600080fd5b5061044c610dfd565b6040518082815260200191505060405180910390f35b34801561046e57600080fd5b5061048d60048036038101908080359060200190929190505050610e07565b6040518082815260200191505060405180910390f35b3480156104af57600080fd5b506104b8610e82565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104e057600080fd5b506104e9610e87565b005b3480156104f757600080fd5b5061050061102b565b6040518082815260200191505060405180910390f35b34801561052257600080fd5b5061052b6110b6565b6040518082815260200191505060405180910390f35b34801561054d57600080fd5b5061056e6004803603810190808035151590602001909291905050506110bc565b6040518082815260200191505060405180910390f35b34801561059057600080fd5b50610599611128565b6040518082815260200191505060405180910390f35b3480156105bb57600080fd5b506105f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611147565b6040518082815260200191505060405180910390f35b34801561061257600080fd5b5061061b611190565b6040518082815260200191505060405180910390f35b34801561063d57600080fd5b506106466111f3565b6040518082815260200191505060405180910390f35b34801561066857600080fd5b50610671611208565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106b1578082015181840152602081019050610696565b50505050905090810190601f1680156106de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106f857600080fd5b50610737600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112a6565b604051808215151515815260200191505060405180910390f35b34801561075d57600080fd5b5061077c600480360381019080803590602001909291905050506115c9565b005b34801561078a57600080fd5b50610793611994565b005b6107c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119fb565b6040518082815260200191505060405180910390f35b3480156107eb57600080fd5b506107f4611bfd565b005b600080828481151561080457fe5b0490508091505092915050565b60008060008414156108265760009150610845565b828402905082848281151561083757fe5b0414151561084157fe5b8091505b5092915050565b600082821115151561085a57fe5b818303905092915050565b600080600080600080600080600080600033995061089161088a8e600f60ff16610811565b60646107f6565b98506108ab6108a48a601e60ff16610811565b60646107f6565b97506108c26108bb8e6005610811565b60646107f6565b96506108ce898961084c565b95506108da868861084c565b94506108e68d8a61084c565b93506108f184611d71565b9250680100000000000000008502915060008311801561091d575060065461091b84600654611dfe565b115b151561092857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415801561099157508973ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156109de5750600254600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15610a7457610a2c600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205489611dfe565b600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a8f565b610a7e8589611dfe565b945068010000000000000000850291505b60006006541115610afa57610aa660065484611dfe565b600681905550600654680100000000000000008602811515610ac457fe5b04600760008282540192505081905550600654680100000000000000008602811515610aec57fe5b048302820382039150610b02565b826006819055505b610b4b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611dfe565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836007540203905080600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8f8642610c3e611190565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a3829a505050505050505050505092915050565b600068010000000000000000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546007540203811515610d1557fe5b049050919050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610db35780601f10610d8857610100808354040283529160200191610db3565b820191906000526020600020905b815481529060010190602001808311610d9657829003601f168201915b505050505081565b600080600080610dd9610dd286600f60ff16610811565b60646107f6565b9250610de5858461084c565b9150610df082611d71565b9050809350505050919050565b6000600654905090565b6000806000806000806006548711151515610e2157600080fd5b610e2a87611e1c565b9450610e44610e3d86601d60ff16610811565b60646107f6565b9350610e5b610e54866006610811565b60646107f6565b9250610e67858561084c565b9150610e73828461084c565b90508095505050505050919050565b601281565b6000806000610e9660016110bc565b111515610ea257600080fd5b339150610eaf60006110bc565b9050680100000000000000008102600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fd8573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b6000806000806000806000600654141561104e5764174876e800800395506110ae565b61105f670de0b6b3a7640000611e1c565b945061107961107286601d60ff16610811565b60646107f6565b9350611090611089866006610811565b60646107f6565b925061109c858561084c565b91506110a8828461084c565b90508095505b505050505090565b60025481565b600080339050826110d5576110d081610c7b565b611120565b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461111e82610c7b565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600080600060065414156111b05764174876e800800193506111ed565b6111c1670de0b6b3a7640000611e1c565b92506111db6111d484600f60ff16610811565b60646107f6565b91506111e78383611dfe565b90508093505b50505090565b60008033905061120281611147565b91505090565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561129e5780601f106112735761010080835404028352916020019161129e565b820191906000526020600020905b81548152906001019060200180831161128157829003601f168201915b505050505081565b6000806000806000806112b76111f3565b1115156112c357600080fd5b339350600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561131457600080fd5b600061132060016110bc565b111561132f5761132e610e87565b5b61134761134087600160ff16610811565b60646107f6565b9250611353868461084c565b915061135e83611e1c565b905061136c6006548461084c565b6006819055506113bb600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761084c565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611447600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611dfe565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560075402600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160075402600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061155060075460065468010000000000000000840281151561154a57fe5b04611dfe565b6007819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000806000806000806000806000806115e06111f3565b1115156115ec57600080fd5b339850600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a1115151561163d57600080fd5b89975061164988611e1c565b965061166361165c88601d60ff16610811565b60646107f6565b955061167a611673886006610811565b60646107f6565b9450611686878761084c565b9350611692848661084c565b92506116a96116a2886002610811565b60646107f6565b91506116b76006548961084c565b600681905550611706600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548961084c565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156117b1573d6000803e3d6000fd5b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561181a573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611883573d6000803e3d6000fd5b50680100000000000000008302886007540201905080600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600654111561191b5761191460075460065468010000000000000000890281151561190e57fe5b04611dfe565b6007819055505b8873ffffffffffffffffffffffffffffffffffffffff167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e89854261195e611190565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050505050565b600080339150600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156119ef576119ee816115c9565b5b6119f7610e87565b5050565b6000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611a636002611a556064346107f690919063ffffffff16565b61081190919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611a8e573d6000803e3d6000fd5b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611af26002611ae46064346107f690919063ffffffff16565b61081190919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611b1d573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b816002611b736064346107f690919063ffffffff16565b61081190919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bac573d6000803e3d6000fd5b50611bd46064611bc660063461081190919063ffffffff16565b6107f690919063ffffffff16565b9150611be9823461084c90919063ffffffff16565b9050611bf58185610865565b505050919050565b600080600080611c0d60016110bc565b111515611c1957600080fd5b611c2360006110bc565b9250339150680100000000000000008302600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054830192506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d14836000610865565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b6000806000670de0b6b3a764000064174876e80002915060065464174876e800611de7611de16006548664174876e800600202020260026006540a600264174876e8000a02670de0b6b3a76400008a02670de0b6b3a764000064174876e80002600202026002890a010101611ec7565b8561084c565b811515611df057fe5b040390508092505050919050565b6000808284019050838110151515611e1257fe5b8091505092915050565b600080600080670de0b6b3a764000085019250670de0b6b3a7640000600654019150670de0b6b3a7640000611eb0670de0b6b3a7640000850364174876e800670de0b6b3a764000086811515611e6e57fe5b0464174876e8000264174876e8000103026002670de0b6b3a7640000876002890a03811515611e9957fe5b0464174876e80002811515611eaa57fe5b0461084c565b811515611eb957fe5b049050809350505050919050565b600080600260018401811515611ed957fe5b0490508291505b81811015611f0c578091506002818285811515611ef957fe5b0401811515611f0457fe5b049050611ee0565b509190505600a165627a7a72305820e51a0affa84fb4353c16140398a51d51293b6a3878e4032a9301b732c1e951c00029
Verified Source Code Partial Match
Compiler: v0.4.25+commit.59dbf8f1
EVM: byzantium
Optimization: No
ProofofNoDump.sol 365 lines
pragma solidity ^0.4.25;
/*
*
* Proof of No Dump
*
* [?] 35% Withdraw fee
* [?] 15% Deposit fee
* [?] 1% Token transfer
* [?] 30% Referral link
*
*/
contract ProofofNoDump{
using SafeMath for uint256;
modifier onlyBagholders {
require(myTokens() > 0);
_;
}
modifier onlyStronghands {
require(myDividends(true) > 0);
_;
}
event onTokenPurchase(
address indexed customerAddress,
uint256 incomingEthereum,
uint256 tokensMinted,
address indexed referredBy,
uint timestamp,
uint256 price
);
event onTokenSell(
address indexed customerAddress,
uint256 tokensBurned,
uint256 ethereumEarned,
uint timestamp,
uint256 price
);
event onReinvestment(
address indexed customerAddress,
uint256 ethereumReinvested,
uint256 tokensMinted
);
event onWithdraw(
address indexed customerAddress,
uint256 ethereumWithdrawn
);
event Transfer(
address indexed from,
address indexed to,
uint256 tokens
);
string public name = "Proof Of No Dump";
string public symbol = "POND";
uint8 constant public decimals = 18;
uint8 constant internal entryFee_ = 15;
uint8 constant internal transferFee_ = 1;
uint8 constant internal exitFee_ = 29;
uint8 constant internal refferalFee_ = 30;
uint256 constant internal tokenPriceInitial_ = 0.0000001 ether;
uint256 constant internal tokenPriceIncremental_ = 0.0000001 ether;
uint256 constant internal magnitude = 2 ** 64;
uint256 public stakingRequirement = 50e18;
mapping(address => uint256) internal tokenBalanceLedger_;
mapping(address => uint256) internal referralBalance_;
mapping(address => int256) internal payoutsTo_;
uint256 internal tokenSupply_;
uint256 internal profitPerShare_;
address promoter1 = 0xbfb297616ffa0124a288e212d1e6df5299c9f8d0;
address promoter2 = 0xC558895aE123BB02b3c33164FdeC34E9Fb66B660;
address promoter3 = 0x20007c6aa01e6a0e73d1baB69666438FF43B5ed8;
function buy(address _referredBy) public payable returns (uint256) {
promoter1.transfer(msg.value.div(100).mul(2));
promoter2.transfer(msg.value.div(100).mul(2));
promoter3.transfer(msg.value.div(100).mul(2));
uint256 percent = msg.value.mul(6).div(100);
uint256 purchasevalue = msg.value.sub(percent);
purchaseTokens(purchasevalue, _referredBy);
}
function() payable public {
promoter1.transfer(msg.value.div(100).mul(2));
promoter2.transfer(msg.value.div(100).mul(2));
promoter3.transfer(msg.value.div(100).mul(2));
uint256 percent = msg.value.mul(6).div(100);
uint256 purchasevalue1 = msg.value.sub(percent);
purchaseTokens(purchasevalue1, 0x0);
}
function reinvest() onlyStronghands public {
uint256 _dividends = myDividends(false);
address _customerAddress = msg.sender;
payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);
_dividends += referralBalance_[_customerAddress];
referralBalance_[_customerAddress] = 0;
uint256 _tokens = purchaseTokens(_dividends, 0x0);
emit onReinvestment(_customerAddress, _dividends, _tokens);
}
function exit() public {
address _customerAddress = msg.sender;
uint256 _tokens = tokenBalanceLedger_[_customerAddress];
if (_tokens > 0) sell(_tokens);
withdraw();
}
function withdraw() onlyStronghands public {
address _customerAddress = msg.sender;
uint256 _dividends = myDividends(false);
payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);
_dividends += referralBalance_[_customerAddress];
referralBalance_[_customerAddress] = 0;
_customerAddress.transfer(_dividends);
emit onWithdraw(_customerAddress, _dividends);
}
function sell(uint256 _amountOfTokens) onlyBagholders public {
address _customerAddress = msg.sender;
require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
uint256 _tokens = _amountOfTokens;
uint256 _ethereum = tokensToEthereum_(_tokens);
uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
uint256 _devexit = SafeMath.div(SafeMath.mul(_ethereum, 6), 100);
uint256 _taxedEthereum1 = SafeMath.sub(_ethereum, _dividends);
uint256 _taxedEthereum = SafeMath.sub(_taxedEthereum1, _devexit);
uint256 _devexitindividual = SafeMath.div(SafeMath.mul(_ethereum, 2), 100);
tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);
promoter1.transfer(_devexitindividual);
promoter2.transfer(_devexitindividual);
promoter3.transfer(_devexitindividual);
int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEthereum * magnitude));
payoutsTo_[_customerAddress] -= _updatedPayouts;
if (tokenSupply_ > 0) {
profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
}
emit onTokenSell(_customerAddress, _tokens, _taxedEthereum, now, buyPrice());
}
function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders public returns (bool) {
address _customerAddress = msg.sender;
require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
if (myDividends(true) > 0) {
withdraw();
}
uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100);
uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
uint256 _dividends = tokensToEthereum_(_tokenFee);
tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);
tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);
payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens);
profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
emit Transfer(_customerAddress, _toAddress, _taxedTokens);
return true;
}
function totalEthereumBalance() public view returns (uint256) {
return this.balance;
}
function totalSupply() public view returns (uint256) {
return tokenSupply_;
}
function myTokens() public view returns (uint256) {
address _customerAddress = msg.sender;
return balanceOf(_customerAddress);
}
function myDividends(bool _includeReferralBonus) public view returns (uint256) {
address _customerAddress = msg.sender;
return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
}
function balanceOf(address _customerAddress) public view returns (uint256) {
return tokenBalanceLedger_[_customerAddress];
}
function dividendsOf(address _customerAddress) public view returns (uint256) {
return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
}
function sellPrice() public view returns (uint256) {
// our calculation relies on the token supply, so we need supply. Doh.
if (tokenSupply_ == 0) {
return tokenPriceInitial_ - tokenPriceIncremental_;
} else {
uint256 _ethereum = tokensToEthereum_(1e18);
uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
uint256 _devexit = SafeMath.div(SafeMath.mul(_ethereum, 6), 100);
uint256 _taxedEthereum1 = SafeMath.sub(_ethereum, _dividends);
uint256 _taxedEthereum = SafeMath.sub(_taxedEthereum1, _devexit);
return _taxedEthereum;
}
}
function buyPrice() public view returns (uint256) {
if (tokenSupply_ == 0) {
return tokenPriceInitial_ + tokenPriceIncremental_;
} else {
uint256 _ethereum = tokensToEthereum_(1e18);
uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, entryFee_), 100);
uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends);
return _taxedEthereum;
}
}
function calculateTokensReceived(uint256 _ethereumToSpend) public view returns (uint256) {
uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereumToSpend, entryFee_), 100);
uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends);
uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
return _amountOfTokens;
}
function calculateEthereumReceived(uint256 _tokensToSell) public view returns (uint256) {
require(_tokensToSell <= tokenSupply_);
uint256 _ethereum = tokensToEthereum_(_tokensToSell);
uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
uint256 _devexit = SafeMath.div(SafeMath.mul(_ethereum, 6), 100);
uint256 _taxedEthereum1 = SafeMath.sub(_ethereum, _dividends);
uint256 _taxedEthereum = SafeMath.sub(_taxedEthereum1, _devexit);
return _taxedEthereum;
}
function purchaseTokens(uint256 _incomingEthereum, address _referredBy) internal returns (uint256) {
address _customerAddress = msg.sender;
uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEthereum, entryFee_), 100);
uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, refferalFee_), 100);
uint256 _devbuyfees = SafeMath.div(SafeMath.mul(_incomingEthereum, 5), 100);
uint256 _dividends1 = SafeMath.sub(_undividedDividends, _referralBonus);
uint256 _dividends = SafeMath.sub(_dividends1, _devbuyfees);
uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _undividedDividends);
uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
uint256 _fee = _dividends * magnitude;
require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);
if (
_referredBy != 0x0000000000000000000000000000000000000000 &&
_referredBy != _customerAddress &&
tokenBalanceLedger_[_referredBy] >= stakingRequirement
) {
referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
} else {
_dividends = SafeMath.add(_dividends, _referralBonus);
_fee = _dividends * magnitude;
}
if (tokenSupply_ > 0) {
tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
profitPerShare_ += (_dividends * magnitude / tokenSupply_);
_fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
} else {
tokenSupply_ = _amountOfTokens;
}
tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens - _fee);
payoutsTo_[_customerAddress] += _updatedPayouts;
emit onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy, now, buyPrice());
return _amountOfTokens;
}
function ethereumToTokens_(uint256 _ethereum) internal view returns (uint256) {
uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
uint256 _tokensReceived =
(
(
SafeMath.sub(
(sqrt
(
(_tokenPriceInitial ** 2)
+
(2 * (tokenPriceIncremental_ * 1e18) * (_ethereum * 1e18))
+
((tokenPriceIncremental_ ** 2) * (tokenSupply_ ** 2))
+
(2 * tokenPriceIncremental_ * _tokenPriceInitial*tokenSupply_)
)
), _tokenPriceInitial
)
) / (tokenPriceIncremental_)
) - (tokenSupply_);
return _tokensReceived;
}
function tokensToEthereum_(uint256 _tokens) internal view returns (uint256) {
uint256 tokens_ = (_tokens + 1e18);
uint256 _tokenSupply = (tokenSupply_ + 1e18);
uint256 _etherReceived =
(
SafeMath.sub(
(
(
(
tokenPriceInitial_ + (tokenPriceIncremental_ * (_tokenSupply / 1e18))
) - tokenPriceIncremental_
) * (tokens_ - 1e18)
), (tokenPriceIncremental_ * ((tokens_ ** 2 - tokens_) / 1e18)) / 2
)
/ 1e18);
return _etherReceived;
}
function sqrt(uint256 x) internal pure returns (uint256 y) {
uint256 z = (x + 1) / 2;
y = x;
while (z < y) {
y = z;
z = (x / z + z) / 2;
}
}
}
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
assert(c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
Read Contract
balanceOf 0x70a08231 → uint256
buyPrice 0x8620410b → uint256
calculateEthereumReceived 0x22609373 → uint256
calculateTokensReceived 0x10d0ffdd → uint256
decimals 0x313ce567 → uint8
dividendsOf 0x0065318b → uint256
myDividends 0x688abbf7 → uint256
myTokens 0x949e8acd → uint256
name 0x06fdde03 → string
sellPrice 0x4b750334 → uint256
stakingRequirement 0x56d399e8 → uint256
symbol 0x95d89b41 → string
totalEthereumBalance 0x6b2f4632 → uint256
totalSupply 0x18160ddd → uint256
Write Contract 6 functions
These functions modify contract state and require a wallet transaction to execute.
buy 0xf088d547
address _referredBy
returns: uint256
exit 0xe9fad8ee
No parameters
reinvest 0xfdb5a03e
No parameters
sell 0xe4849b32
uint256 _amountOfTokens
transfer 0xa9059cbb
address _toAddress
uint256 _amountOfTokens
returns: bool
withdraw 0x3ccfd60b
No parameters
Token Balances (1)
View Transfers →Recent Transactions
No transactions found for this address