Contract Overview | FunFair
|
|
|---|---|
| Balance: | 0 Ether |
| Ether Value: | $0 |
| Transactions: | 289611 txns |
| Token Tracker: |
|
| Misc: |
|
|
| Address Watch: | Add To Watch List | |
| Contract Creator: | 0x50b26685bc788e164d940f0a73770f4b9196b052at txn 0x711afa25391d27cb51e1929126f16b76226c395f3a504c8f96528fec5afafa46 | |
| Token Balance: | ||
| ParentTxHash | Block | Age | From | To | Value |
|---|
| Contract Name: | Token |
| Compiler Text: | v0.4.11+commit.68ef5810 |
| Optimization Enabled: | Yes |
| Runs (Optimiser): | 200 |
pragma solidity >=0.4.4;
//from Zeppelin
contract SafeMath {
function safeMul(uint a, uint b) internal returns (uint) {
uint c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function safeSub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
}
function safeAdd(uint a, uint b) internal returns (uint) {
uint c = a + b;
assert(c>=a && c>=b);
return c;
}
function assert(bool assertion) internal {
if (!assertion) throw;
}
}
contract Owned {
address public owner;
function Owned() {
owner = msg.sender;
}
modifier onlyOwner() {
if (msg.sender != owner) throw;
_;
}
address newOwner;
function changeOwner(address _newOwner) onlyOwner {
newOwner = _newOwner;
}
function acceptOwnership() {
if (msg.sender == newOwner) {
owner = newOwner;
}
}
}
contract Finalizable is Owned {
bool public finalized;
function finalize() onlyOwner {
finalized = true;
}
modifier notFinalized() {
if (finalized) throw;
_;
}
}
contract IToken {
function transfer(address _to, uint _value) returns (bool);
function balanceOf(address owner) returns(uint);
}
contract TokenReceivable is Owned {
event logTokenTransfer(address token, address to, uint amount);
function claimTokens(address _token, address _to) onlyOwner returns (bool) {
IToken token = IToken(_token);
uint balance = token.balanceOf(this);
if (token.transfer(_to, balance)) {
logTokenTransfer(_token, _to, balance);
return true;
}
return false;
}
}
contract EventDefinitions {
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
contract Token is Finalizable, TokenReceivable, SafeMath, EventDefinitions {
string public name = "FunFair";
uint8 public decimals = 8;
string public symbol = "FUN";
Controller controller;
address owner;
modifier onlyController() {
assert(msg.sender == address(controller));
_;
}
function setController(address _c) onlyOwner notFinalized {
controller = Controller(_c);
}
function balanceOf(address a) constant returns (uint) {
return controller.balanceOf(a);
}
function totalSupply() constant returns (uint) {
return controller.totalSupply();
}
function allowance(address _owner, address _spender) constant returns (uint) {
return controller.allowance(_owner, _spender);
}
function transfer(address _to, uint _value)
onlyPayloadSize(2)
returns (bool success) {
success = controller.transfer(msg.sender, _to, _value);
if (success) {
Transfer(msg.sender, _to, _value);
}
}
function transferFrom(address _from, address _to, uint _value)
onlyPayloadSize(3)
returns (bool success) {
success = controller.transferFrom(msg.sender, _from, _to, _value);
if (success) {
Transfer(_from, _to, _value);
}
}
function approve(address _spender, uint _value)
onlyPayloadSize(2)
returns (bool success) {
//promote safe user behavior
if (controller.allowance(msg.sender, _spender) > 0) throw;
success = controller.approve(msg.sender, _spender, _value);
if (success) {
Approval(msg.sender, _spender, _value);
}
}
function increaseApproval (address _spender, uint _addedValue)
onlyPayloadSize(2)
returns (bool success) {
success = controller.increaseApproval(msg.sender, _spender, _addedValue);
if (success) {
uint newval = controller.allowance(msg.sender, _spender);
Approval(msg.sender, _spender, newval);
}
}
function decreaseApproval (address _spender, uint _subtractedValue)
onlyPayloadSize(2)
returns (bool success) {
success = controller.decreaseApproval(msg.sender, _spender, _subtractedValue);
if (success) {
uint newval = controller.allowance(msg.sender, _spender);
Approval(msg.sender, _spender, newval);
}
}
modifier onlyPayloadSize(uint numwords) {
assert(msg.data.length >= numwords * 32 + 4);
_;
}
function burn(uint _amount) {
controller.burn(msg.sender, _amount);
Transfer(msg.sender, 0x0, _amount);
}
function controllerTransfer(address _from, address _to, uint _value)
onlyController {
Transfer(_from, _to, _value);
}
function controllerApprove(address _owner, address _spender, uint _value)
onlyController {
Approval(_owner, _spender, _value);
}
// multi-approve, multi-transfer
bool public multilocked;
modifier notMultilocked {
assert(!multilocked);
_;
}
//do we want lock permanent? I think so.
function lockMultis() onlyOwner {
multilocked = true;
}
// multi functions just issue events, to fix initial event history
function multiTransfer(uint[] bits) onlyOwner notMultilocked {
if (bits.length % 3 != 0) throw;
for (uint i=0; i<bits.length; i += 3) {
address from = address(bits[i]);
address to = address(bits[i+1]);
uint amount = bits[i+2];
Transfer(from, to, amount);
}
}
function multiApprove(uint[] bits) onlyOwner notMultilocked {
if (bits.length % 3 != 0) throw;
for (uint i=0; i<bits.length; i += 3) {
address owner = address(bits[i]);
address spender = address(bits[i+1]);
uint amount = bits[i+2];
Approval(owner, spender, amount);
}
}
string public motd;
event Motd(string message);
function setMotd(string _m) onlyOwner {
motd = _m;
Motd(_m);
}
}
contract Controller is Owned, Finalizable {
Ledger public ledger;
address public token;
function setToken(address _token) onlyOwner {
token = _token;
}
function setLedger(address _ledger) onlyOwner {
ledger = Ledger(_ledger);
}
modifier onlyToken() {
if (msg.sender != token) throw;
_;
}
function totalSupply() constant returns (uint) {
return ledger.totalSupply();
}
function balanceOf(address _a) onlyToken constant returns (uint) {
return Ledger(ledger).balanceOf(_a);
}
function allowance(address _owner, address _spender)
onlyToken constant returns (uint) {
return ledger.allowance(_owner, _spender);
}
function transfer(address _from, address _to, uint _value)
onlyToken
returns (bool success) {
return ledger.transfer(_from, _to, _value);
}
function transferFrom(address _spender, address _from, address _to, uint _value)
onlyToken
returns (bool success) {
return ledger.transferFrom(_spender, _from, _to, _value);
}
function approve(address _owner, address _spender, uint _value)
onlyToken
returns (bool success) {
return ledger.approve(_owner, _spender, _value);
}
function increaseApproval (address _owner, address _spender, uint _addedValue)
onlyToken
returns (bool success) {
return ledger.increaseApproval(_owner, _spender, _addedValue);
}
function decreaseApproval (address _owner, address _spender, uint _subtractedValue)
onlyToken
returns (bool success) {
return ledger.decreaseApproval(_owner, _spender, _subtractedValue);
}
function burn(address _owner, uint _amount) onlyToken {
ledger.burn(_owner, _amount);
}
}
contract Ledger is Owned, SafeMath, Finalizable {
address public controller;
mapping(address => uint) public balanceOf;
mapping (address => mapping (address => uint)) public allowance;
uint public totalSupply;
function setController(address _controller) onlyOwner notFinalized {
controller = _controller;
}
modifier onlyController() {
if (msg.sender != controller) throw;
_;
}
function transfer(address _from, address _to, uint _value)
onlyController
returns (bool success) {
if (balanceOf[_from] < _value) return false;
balanceOf[_from] = safeSub(balanceOf[_from], _value);
balanceOf[_to] = safeAdd(balanceOf[_to], _value);
return true;
}
function transferFrom(address _spender, address _from, address _to, uint _value)
onlyController
returns (bool success) {
if (balanceOf[_from] < _value) return false;
var allowed = allowance[_from][_spender];
if (allowed < _value) return false;
balanceOf[_to] = safeAdd(balanceOf[_to], _value);
balanceOf[_from] = safeSub(balanceOf[_from], _value);
allowance[_from][_spender] = safeSub(allowed, _value);
return true;
}
function approve(address _owner, address _spender, uint _value)
onlyController
returns (bool success) {
//require user to set to zero before resetting to nonzero
if ((_value != 0) && (allowance[_owner][_spender] != 0)) {
return false;
}
allowance[_owner][_spender] = _value;
return true;
}
function increaseApproval (address _owner, address _spender, uint _addedValue)
onlyController
returns (bool success) {
uint oldValue = allowance[_owner][_spender];
allowance[_owner][_spender] = safeAdd(oldValue, _addedValue);
return true;
}
function decreaseApproval (address _owner, address _spender, uint _subtractedValue)
onlyController
returns (bool success) {
uint oldValue = allowance[_owner][_spender];
if (_subtractedValue > oldValue) {
allowance[_owner][_spender] = 0;
} else {
allowance[_owner][_spender] = safeSub(oldValue, _subtractedValue);
}
return true;
}
event LogMint(address indexed owner, uint amount);
event LogMintingStopped();
function mint(address _a, uint _amount) onlyOwner mintingActive {
balanceOf[_a] += _amount;
totalSupply += _amount;
LogMint(_a, _amount);
}
bool public mintingStopped;
function stopMinting() onlyOwner {
mintingStopped = true;
LogMintingStopped();
}
modifier mintingActive() {
if (mintingStopped) throw;
_;
}
function burn(address _owner, uint _amount) onlyController {
balanceOf[_owner] = safeSub(balanceOf[_owner], _amount);
totalSupply = safeSub(totalSupply, _amount);
}
}[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"multilocked","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"bits","type":"uint256[]"}],"name":"multiApprove","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"motd","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_m","type":"string"}],"name":"setMotd","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"}],"name":"claimTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"a","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"lockMultis","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"controllerApprove","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_c","type":"address"}],"name":"setController","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"controllerTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"bits","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"message","type":"string"}],"name":"Motd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"token","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"logTokenTransfer","type":"event"}]60a0604052600760608190527f46756e46616972000000000000000000000000000000000000000000000000006080908152620000409160029190620000b7565b506003805460ff19166008178155604080518082019091528181527f46554e00000000000000000000000000000000000000000000000000000000006020909101908152620000939160049190620000b7565b505b60008054600160a060020a03191633600160a060020a03161790555b62000161565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000fa57805160ff19168380011785556200012a565b828001600101855582156200012a579182015b828111156200012a5782518255916020019190600101906200010d565b5b50620001399291506200013d565b5090565b6200015e91905b8082111562000139576000815560010162000144565b5090565b90565b6118dd80620001716000396000f300606060405236156101435763ffffffff60e060020a60003504166306fdde038114610145578063095ea7b3146101d5578063138875921461020857806318160ddd1461022c57806323b872dd1461024e578063313ce5671461028757806342966c68146102ad5780634bb278f3146102c25780635a53fe20146102d45780635aab4ac8146103295780635fe59b9d146103b9578063661884631461041157806369ffa08a1461044457806370a082311461047a57806379ba5097146104a8578063870bfc75146104ba5780638da5cb5b146104cc5780638e339b66146104f857806392eefe9b1461051f57806395d89b411461053d5780639b504387146105cd578063a6f9dae1146105f4578063a9059cbb14610612578063b33fcc7a14610645578063b3f05b971461069a578063d73dd623146106be578063dd62ed3e146106f1575bfe5b341561014d57fe5b610155610725565b60408051602080825283518183015283519192839290830191850190808383821561019b575b80518252602083111561019b57601f19909201916020918201910161017b565b505050905090810190601f1680156101c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101dd57fe5b6101f4600160a060020a03600435166024356107b0565b604080519115158252519081900360200190f35b341561021057fe5b6101f4610922565b604080519115158252519081900360200190f35b341561023457fe5b61023c610932565b60408051918252519081900360200190f35b341561025657fe5b6101f4600160a060020a03600435811690602435166044356109b0565b604080519115158252519081900360200190f35b341561028f57fe5b610297610aa7565b6040805160ff9092168252519081900360200190f35b34156102b557fe5b6102c0600435610ab0565b005b34156102ca57fe5b6102c0610b60565b005b34156102dc57fe5b6102c0600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610ba495505050505050565b005b341561033157fe5b610155610ca1565b60408051602080825283518183015283519192839290830191850190808383821561019b575b80518252602083111561019b57601f19909201916020918201910161017b565b505050905090810190601f1680156101c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103c157fe5b6102c0600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843750949650610d2f95505050505050565b005b341561041957fe5b6101f4600160a060020a0360043516602435610e0a565b604080519115158252519081900360200190f35b341561044c57fe5b6101f4600160a060020a0360043581169060243516610f5c565b604080519115158252519081900360200190f35b341561048257fe5b61023c600160a060020a03600435166110de565b60408051918252519081900360200190f35b34156104b057fe5b6102c0611169565b005b34156104c257fe5b6102c06111b3565b005b34156104d457fe5b6104dc6111f7565b60408051600160a060020a039092168252519081900360200190f35b341561050057fe5b6102c0600160a060020a0360043581169060243516604435611206565b005b341561052757fe5b6102c0600160a060020a0360043516611261565b005b341561054557fe5b6101556112c3565b60408051602080825283518183015283519192839290830191850190808383821561019b575b80518252602083111561019b57601f19909201916020918201910161017b565b505050905090810190601f1680156101c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105d557fe5b6102c0600160a060020a0360043581169060243516604435611351565b005b34156105fc57fe5b6102c0600160a060020a03600435166113ac565b005b341561061a57fe5b6101f4600160a060020a03600435166024356113f5565b604080519115158252519081900360200190f35b341561064d57fe5b6102c06004808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506114e395505050505050565b005b34156106a257fe5b6101f46115e0565b604080519115158252519081900360200190f35b34156106c657fe5b6101f4600160a060020a03600435166024356115f0565b604080519115158252519081900360200190f35b34156106f957fe5b61023c600160a060020a0360043581169060243516611742565b60408051918252519081900360200190f35b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107a85780601f1061077d576101008083540402835291602001916107a8565b820191906000526020600020905b81548152906001019060200180831161078b57829003601f168201915b505050505081565b600060026107c160443610156117c0565b6005546040805160006020918201819052825160e160020a636eb1769f028152600160a060020a033381166004830152898116602483015293519194939093169263dd62ed3e92604480830193919282900301818787803b151561082157fe5b6102c65a03f1151561082f57fe5b5050506040518051905011156108455760006000fd5b600554604080516000602091820181905282517fe1f21c67000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528981166024830152604482018990529351939094169363e1f21c67936064808301949391928390030190829087803b15156108c257fe5b6102c65a03f115156108d057fe5b50506040515192505081156109195783600160a060020a031633600160a060020a0316600080516020611892833981519152856040518082815260200191505060405180910390a35b5b5b5092915050565b60065460a060020a900460ff1681565b600554604080516000602091820181905282517f18160ddd00000000000000000000000000000000000000000000000000000000815292519093600160a060020a0316926318160ddd92600480830193919282900301818787803b151561099557fe5b6102c65a03f115156109a357fe5b5050604051519150505b90565b600060036109c160643610156117c0565b600554604080516000602091820181905282517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528a81166024830152898116604483015260648201899052935193909416936315dacbea936084808301949391928390030190829087803b1515610a4657fe5b6102c65a03f11515610a5457fe5b5050604051519250508115610a9d5783600160a060020a031685600160a060020a0316600080516020611872833981519152856040518082815260200191505060405180910390a35b5b5b509392505050565b60035460ff1681565b600554604080517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b1515610b1a57fe5b6102c65a03f11515610b2857fe5b505050600033600160a060020a0316600080516020611872833981519152836040518082815260200191505060405180910390a35b50565b60005433600160a060020a03908116911614610b7c5760006000fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b6000805481908190819033600160a060020a03908116911614610bc75760006000fd5b600654610bde9060a060020a900460ff16156117c0565b84516003905b0615610bf05760006000fd5b600093505b8451841015610c97578484815181101515610c0c57fe5b9060200190602002015192508484600101815181101515610c2957fe5b9060200190602002015191508484600201815181101515610c4657fe5b90602001906020020151905081600160a060020a031683600160a060020a0316600080516020611892833981519152836040518082815260200191505060405180910390a35b600384019350610bf5565b5b5b5b5050505050565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a85780601f1061077d576101008083540402835291602001916107a8565b820191906000526020600020905b81548152906001019060200180831161078b57829003601f168201915b505050505081565b60005433600160a060020a03908116911614610d4b5760006000fd5b8051610d5e9060079060208401906117d1565b507f6e7666d68b6b7c619b2fe5a2c3dd0564bf3e02b0508b217d7a28ce5805583eab816040518080602001828103825283818151815260200191508051906020019080838360008314610dcc575b805182526020831115610dcc57601f199092019160209182019101610dac565b505050905090810190601f168015610df85780820380516001836020036101000a031916815260200191505b509250505060405180910390a15b5b50565b6000806002610e1c60443610156117c0565b600554604080516000602091820181905282517ff019c267000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528a81166024830152604482018a90529351939094169363f019c267936064808301949391928390030190829087803b1515610e9957fe5b6102c65a03f11515610ea757fe5b5050604051519350508215610f52576005546040805160006020918201819052825160e160020a636eb1769f028152600160a060020a0333811660048301528a811660248301529351939094169363dd62ed3e936044808301949391928390030190829087803b1515610f1657fe5b6102c65a03f11515610f2457fe5b505060405180519350600160a060020a03808816925033169060008051602061189283398151915290602090a35b5b5b505092915050565b600080548190819033600160a060020a03908116911614610f7d5760006000fd5b84915081600160a060020a03166370a08231306000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1515610fe057fe5b6102c65a03f11515610fee57fe5b50505060405180519050905081600160a060020a031663a9059cbb85836000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b151561106257fe5b6102c65a03f1151561107057fe5b5050604051511590506110d05760408051600160a060020a0380881682528616602082015280820183905290517f977a8f1bdcf5f444d404662ea2c090d707ebcef1be61b37fe6ce74d0c6288fb89181900360600190a160019250610f52565b600092505b5b505092915050565b600554604080516000602091820181905282517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301529351919493909316926370a0823192602480830193919282900301818787803b151561114c57fe5b6102c65a03f1151561115a57fe5b5050604051519150505b919050565b60015433600160a060020a0390811691161415610ba1576001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b565b60005433600160a060020a039081169116146111cf5760006000fd5b6006805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b600054600160a060020a031681565b6005546112219033600160a060020a039081169116146117c0565b81600160a060020a031683600160a060020a0316600080516020611892833981519152836040518082815260200191505060405180910390a35b5b505050565b60005433600160a060020a0390811691161461127d5760006000fd5b60015460a060020a900460ff16156112955760006000fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a85780601f1061077d576101008083540402835291602001916107a8565b820191906000526020600020905b81548152906001019060200180831161078b57829003601f168201915b505050505081565b60055461136c9033600160a060020a039081169116146117c0565b81600160a060020a031683600160a060020a0316600080516020611872833981519152836040518082815260200191505060405180910390a35b5b505050565b60005433600160a060020a039081169116146113c85760006000fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b6000600261140660443610156117c0565b600554604080516000602091820181905282517fbeabacc8000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528981166024830152604482018990529351939094169363beabacc8936064808301949391928390030190829087803b151561148357fe5b6102c65a03f1151561149157fe5b50506040515192505081156109195783600160a060020a031633600160a060020a0316600080516020611872833981519152856040518082815260200191505060405180910390a35b5b5b5092915050565b6000805481908190819033600160a060020a039081169116146115065760006000fd5b60065461151d9060a060020a900460ff16156117c0565b84516003905b061561152f5760006000fd5b600093505b8451841015610c9757848481518110151561154b57fe5b906020019060200201519250848460010181518110151561156857fe5b906020019060200201519150848460020181518110151561158557fe5b90602001906020020151905081600160a060020a031683600160a060020a0316600080516020611872833981519152836040518082815260200191505060405180910390a35b600384019350611534565b5b5b5b5050505050565b60015460a060020a900460ff1681565b600080600261160260443610156117c0565b600554604080516000602091820181905282517fbcdd6121000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528a81166024830152604482018a90529351939094169363bcdd6121936064808301949391928390030190829087803b1515610e9957fe5b6102c65a03f11515610ea757fe5b5050604051519350508215610f52576005546040805160006020918201819052825160e160020a636eb1769f028152600160a060020a0333811660048301528a811660248301529351939094169363dd62ed3e936044808301949391928390030190829087803b1515610f1657fe5b6102c65a03f11515610f2457fe5b505060405180519350600160a060020a03808816925033169060008051602061189283398151915290602090a35b5b5b505092915050565b6005546040805160006020918201819052825160e160020a636eb1769f028152600160a060020a038781166004830152868116602483015293519194939093169263dd62ed3e92604480830193919282900301818787803b15156117a257fe5b6102c65a03f115156117b057fe5b5050604051519150505b92915050565b801515610b5d5760006000fd5b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061181257805160ff191683800117855561183f565b8280016001018555821561183f579182015b8281111561183f578251825591602001919060010190611824565b5b5061184c929150611850565b5090565b6109ad91905b8082111561184c5760008155600101611856565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a723058202954fbb4a98158ea14c57f4b31404ee09742ef579a9c6d09f0abb5b62e9c5da80029
bzzr://2954fbb4a98158ea14c57f4b31404ee09742ef579a9c6d09f0abb5b62e9c5da8
| Block | Age | transaction | Difficulty | GasUsed | Reward |
|---|
| Block | Age | UncleNumber | Difficulty | GasUsed | Reward |
|---|