Contract Overview
Balance:
0 Ether
EtherValue:
$0
Transactions:
3 txns
TxHash | Block | Age | From | To | Value | [TxFee] | |
---|---|---|---|---|---|---|---|
0x7ae9d5c8a1f0d2ec7bab882eee635ac1b262bc1632e1deb15acd79fc972af97f | 6087836 | 196 days 13 hrs ago | 0xba21d01125d6932ce8abf3625977899fd2c7fa30 | IN | 0x93fc1a2360c97a3083e091346f8105972cd1534c | 0.01 Ether | 0.00055965 |
0xaa975148f54aed1c29ff18a1c56448bd382c7341780a6bacd5c24360d20d9d3c | 6087794 | 196 days 13 hrs ago | 0xba21d01125d6932ce8abf3625977899fd2c7fa30 | IN | 0x93fc1a2360c97a3083e091346f8105972cd1534c | 0.01 Ether | 0.0001052 |
0x9531c86c1276abeeed25e429f43bc4e3541853456a0531644425baeb152c6b7d | 6081166 | 197 days 15 hrs ago | 0x7e474fe5cfb720804860215f407111183cbc2f85 | IN | Contract Creation | 0 Ether | 0.002916595 |
[ Download CSV Export ]
Latest 25 Internal Transaction, Click here to view more Internal Transactions as a result of Contract Execution
[ Download CSV Export ]
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) Solidity Compiler Bugs.
Contract Source Code Verified (Exact Match)
Contract Source Code Verified (Exact Match)
Contract Name: | Kujira |
Compiler Version: | v0.4.24+commit.e67f0147 |
Optimization Enabled: | Yes |
Runs (Optimizer): | 200 |
Contract Source Code
pragma solidity ^0.4.21; /* This contract is the Proof of Community whale contract that will buy and sell tokens to share dividends to token holders. This contract can also handle multiple games to donate ETH to it, which will be needed for future game developement. Kenny - Solidity developer Bungalogic - website developer, concept and design, graphics. 该合同是社区鲸鱼合同的证明,它将购买和出售代币以向代币持有者分享股息。 该合同还可以处理多个游戏以向其捐赠ETH,这将是未来游戏开发所需要的。 Kenny - Solidity开发人员 Bungalogic - 网站开发人员,概念和设计,图形。 */ contract Kujira { /* Modifiers 修饰符 */ // Only the people that published this contract // 只有发布此合同的人才 modifier onlyOwner() { require(msg.sender == owner || msg.sender == owner2); _; } // Only PoC token contract // 只有PoC令牌合同 modifier notPoC(address aContract) { require(aContract != address(pocContract)); _; } /* Events 活动 */ event Deposit(uint256 amount, address depositer); event Purchase(uint256 amountSpent, uint256 tokensReceived); event Sell(); event Payout(uint256 amount, address creditor); event Transfer(uint256 amount, address paidTo); /** Global Variables 全局变量 */ address owner; address owner2; PoC pocContract; uint256 tokenBalance; /* Constructor 施工人 */ constructor(address owner2Address) public { owner = msg.sender; owner2 = owner2Address; pocContract = PoC(address(0x1739e311ddBf1efdFbc39b74526Fd8b600755ADa)); tokenBalance = 0; } function() payable public { } /* Only way to give contract ETH and have it immediately use it, is by using donate function 给合同ETH并让它立即使用的唯一方法是使用捐赠功能 */ function donate() public payable { //You have to send more than 1000000 wei //你必须发送超过1000000 wei require(msg.value > 1000000 wei); uint256 ethToTransfer = address(this).balance; uint256 PoCEthInContract = address(pocContract).balance; // if PoC contract balance is less than 5 ETH, PoC is dead and there is no reason to pump it // 如果PoC合同余额低于5 ETH,PoC已经死亡,没有理由将其泵出 if(PoCEthInContract < 5 ether) { pocContract.exit(); tokenBalance = 0; ethToTransfer = address(this).balance; owner.transfer(ethToTransfer); emit Transfer(ethToTransfer, address(owner)); } // let's buy and sell tokens to give dividends to PoC tokenholders // 让我们买卖代币给PoC代币持有人分红 else { tokenBalance = myTokens(); // if token balance is greater than 0, sell and rebuy // 如果令牌余额大于0,则出售并重新购买 if(tokenBalance > 0) { pocContract.exit(); tokenBalance = 0; ethToTransfer = address(this).balance; if(ethToTransfer > 0) { pocContract.buy.value(ethToTransfer)(0x0); } else { pocContract.buy.value(msg.value)(0x0); } } else { // we have no tokens, let's buy some if we have ETH balance // 我们没有代币,如果我们有ETH余额,我们就买一些 if(ethToTransfer > 0) { pocContract.buy.value(ethToTransfer)(0x0); tokenBalance = myTokens(); emit Deposit(msg.value, msg.sender); } } } } /** Number of tokens the contract owns. 合同拥有的代币数量。 */ function myTokens() public view returns(uint256) { return pocContract.myTokens(); } /** Number of dividends owed to the contract. 欠合同的股息数量。 */ function myDividends() public view returns(uint256) { return pocContract.myDividends(true); } /** ETH balance of contract 合约的ETH余额 */ function ethBalance() public view returns (uint256) { return address(this).balance; } /** If someone sends tokens other than PoC tokens, the owner can return them. 如果有人发送除PoC令牌以外的令牌,则所有者可以退回它们。 */ function transferAnyERC20Token(address tokenAddress, address tokenOwner, uint tokens) public onlyOwner() notPoC(tokenAddress) returns (bool success) { return ERC20Interface(tokenAddress).transfer(tokenOwner, tokens); } } // Define the PoC token for the contract // 为合同定义PoC令牌 contract PoC { function buy(address) public payable returns(uint256); function exit() public; function myTokens() public view returns(uint256); function myDividends(bool) public view returns(uint256); function totalEthereumBalance() public view returns(uint); } // Define ERC20Interface.transfer, so contract can transfer tokens accidently sent to it. // 定义ERC20 Interface.transfer,因此合同可以转移意外发送给它的令牌。 contract ERC20Interface { function transfer(address to, uint256 tokens) public returns (bool success); }
Contract ABI
[{"constant":true,"inputs":[],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokenOwner","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"donate","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[{"name":"owner2Address","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"depositer","type":"address"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amountSpent","type":"uint256"},{"indexed":false,"name":"tokensReceived","type":"uint256"}],"name":"Purchase","type":"event"},{"anonymous":false,"inputs":[],"name":"Sell","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"creditor","type":"address"}],"name":"Payout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"paidTo","type":"address"}],"name":"Transfer","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051602080610755833981016040525160008054600160a060020a03199081163317825560018054600160a060020a039094169382169390931790925560028054909216731739e311ddbf1efdfbc39b74526fd8b600755ada179091556003556106d4806100816000396000f3006080604052600436106100535763ffffffff60e060020a6000350416633151ecfc81146100555780634e6630b01461007c578063949e8acd14610091578063d493b9ac146100a6578063ed88c68e146100e4575b005b34801561006157600080fd5b5061006a6100ec565b60408051918252519081900360200190f35b34801561008857600080fd5b5061006a610183565b34801561009d57600080fd5b5061006a610188565b3480156100b257600080fd5b506100d0600160a060020a03600435811690602435166044356101e7565b604080519115158252519081900360200190f35b6100536102cb565b600254604080517f688abbf7000000000000000000000000000000000000000000000000000000008152600160048201529051600092600160a060020a03169163688abbf791602480830192602092919082900301818787803b15801561015257600080fd5b505af1158015610166573d6000803e3d6000fd5b505050506040513d602081101561017c57600080fd5b5051905090565b303190565b600254604080517f949e8acd0000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163949e8acd91600480830192602092919082900301818787803b15801561015257600080fd5b60008054600160a060020a031633148061020b5750600154600160a060020a031633145b151561021657600080fd5b6002548490600160a060020a038083169116141561023357600080fd5b84600160a060020a031663a9059cbb85856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561029657600080fd5b505af11580156102aa573d6000803e3d6000fd5b505050506040513d60208110156102c057600080fd5b505195945050505050565b600080620f424034116102dd57600080fd5b5050600254303190600160a060020a031631674563918244f400008110156103f857600260009054906101000a9004600160a060020a0316600160a060020a031663e9fad8ee6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b505060006003819055805460405130319650600160a060020a0390911693506108fc86150292508591818181858888f193505050501580156103ac573d6000803e3d6000fd5b5060005460408051848152600160a060020a03909216602083015280517fabe1dcf9fcb8e5fb309db76bcab112a217aa5754d0f038921282bfe7907aa5169281900390910190a16106a4565b610400610188565b6003819055600010156105c057600260009054906101000a9004600160a060020a0316600160a060020a031663e9fad8ee6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561046057600080fd5b505af1158015610474573d6000803e3d6000fd5b505060006003819055303194508411159150610526905057600254604080517ff088d547000000000000000000000000000000000000000000000000000000008152600060048201529051600160a060020a039092169163f088d547918591602480830192602092919082900301818588803b1580156104f357600080fd5b505af1158015610507573d6000803e3d6000fd5b50505050506040513d602081101561051e57600080fd5b506105bb9050565b600254604080517ff088d547000000000000000000000000000000000000000000000000000000008152600060048201529051600160a060020a039092169163f088d547913491602480830192602092919082900301818588803b15801561058d57600080fd5b505af11580156105a1573d6000803e3d6000fd5b50505050506040513d60208110156105b857600080fd5b50505b6106a4565b60008211156106a457600254604080517ff088d547000000000000000000000000000000000000000000000000000000008152600060048201529051600160a060020a039092169163f088d547918591602480830192602092919082900301818588803b15801561063057600080fd5b505af1158015610644573d6000803e3d6000fd5b50505050506040513d602081101561065b57600080fd5b506106669050610188565b6003556040805134815233602082015281517f4bcc17093cdf51079c755de089be5a85e70fa374ec656c194480fbdcda224a53929181900390910190a15b50505600a165627a7a723058204c45542f919fef7dfea212651c8b97cee288171e7a291d69be65ecd8c8f8d9800029000000000000000000000000ba21d01125d6932ce8abf3625977899fd2c7fa30
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ba21d01125d6932ce8abf3625977899fd2c7fa30
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ba21d01125d6932ce8abf3625977899fd2c7fa30
Swarm Source:
bzzr://4c45542f919fef7dfea212651c8b97cee288171e7a291d69be65ecd8c8f8d980
Block | Age | transaction | Difficulty | GasUsed | Reward |
---|
Block | Age | Uncle Number | Difficulty | GasUsed | Reward |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.