ETH Price: $2,647.05 (+5.93%)

Contract

0x528e24A65B315DF3515B2ed94caEcA07c3cC6795
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer118338322021-02-11 7:11:571356 days ago1613027517IN
0x528e24A6...7c3cC6795
0 ETH0.0034109795
Approve115285902020-12-26 9:51:501403 days ago1608976310IN
0x528e24A6...7c3cC6795
0 ETH0.0018592542
Approve114919532020-12-20 18:56:591408 days ago1608490619IN
0x528e24A6...7c3cC6795
0 ETH0.0028331564
Approve114420922020-12-13 3:13:231416 days ago1607829203IN
0x528e24A6...7c3cC6795
0 ETH0.001239528
Approve114359762020-12-12 4:36:361417 days ago1607747796IN
0x528e24A6...7c3cC6795
0 ETH0.0009738922
Transfer114198882020-12-09 16:54:031419 days ago1607532843IN
0x528e24A6...7c3cC6795
0 ETH0.00575226113
Transfer114196042020-12-09 15:52:061420 days ago1607529126IN
0x528e24A6...7c3cC6795
0 ETH0.0025141970
Approve114050852020-12-07 10:18:381422 days ago1607336318IN
0x528e24A6...7c3cC6795
0 ETH0.0015493835
Approve113094082020-11-22 17:35:121436 days ago1606066512IN
0x528e24A6...7c3cC6795
0 ETH0.0023019352
Approve112895622020-11-19 16:33:001439 days ago1605803580IN
0x528e24A6...7c3cC6795
0 ETH0.0030987670
Transfer112895092020-11-19 16:20:221440 days ago1605802822IN
0x528e24A6...7c3cC6795
0 ETH0.0020106856
Transfer112891912020-11-19 15:10:241440 days ago1605798624IN
0x528e24A6...7c3cC6795
0 ETH0.0023416346
Approve112809552020-11-18 8:53:411441 days ago1605689621IN
0x528e24A6...7c3cC6795
0 ETH0.0025232757
Transfer112796132020-11-18 3:53:101441 days ago1605671590IN
0x528e24A6...7c3cC6795
0 ETH0.0035633570
Transfer112788792020-11-18 1:11:071441 days ago1605661867IN
0x528e24A6...7c3cC6795
0 ETH0.0024774469
Transfer112773882020-11-17 19:35:161441 days ago1605641716IN
0x528e24A6...7c3cC6795
0 ETH0.002154360
Transfer112773722020-11-17 19:31:341441 days ago1605641494IN
0x528e24A6...7c3cC6795
0 ETH0.002154360
Transfer112770642020-11-17 18:22:111441 days ago1605637331IN
0x528e24A6...7c3cC6795
0 ETH0.0028506856
Transfer112769742020-11-17 18:03:351441 days ago1605636215IN
0x528e24A6...7c3cC6795
0 ETH0.001275261
Transfer112768832020-11-17 17:45:181441 days ago1605635118IN
0x528e24A6...7c3cC6795
0 ETH0.0012723225
Transfer112768832020-11-17 17:45:181441 days ago1605635118IN
0x528e24A6...7c3cC6795
0 ETH0.0012726225
Transfer112768832020-11-17 17:45:181441 days ago1605635118IN
0x528e24A6...7c3cC6795
0 ETH0.0008976225
Transfer112768832020-11-17 17:45:181441 days ago1605635118IN
0x528e24A6...7c3cC6795
0 ETH0.0012726225
Transfer112768662020-11-17 17:42:191441 days ago1605634939IN
0x528e24A6...7c3cC6795
0 ETH0.0012723225
Transfer112768662020-11-17 17:42:191441 days ago1605634939IN
0x528e24A6...7c3cC6795
0 ETH0.0012723225
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FixedSupplyToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-11-16
*/

pragma solidity ^0.5.0;

// ---------------------------------------------------------------------------
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }
    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }
    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }
    function div(uint a, uint b) internal pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
// ----------------------------------------------------------------------------
contract ERC20Interface {
    function totalSupply() public view returns (uint);
    function balanceOf(address tokenOwner) public view returns (uint balance);
    function allowance(address tokenOwner, address spender) public view returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}


// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call
//
// Borrowed from MiniMeToken
// ----------------------------------------------------------------------------
contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;
}


// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = address(0);
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}


// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and a
// fixed supply
// ----------------------------------------------------------------------------
contract FixedSupplyToken is ERC20Interface, Owned {
    using SafeMath for uint;

    string public symbol;
    string public  name;
    uint8 public decimals;
    uint _totalSupply;

    mapping(address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;


    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor() public {
        symbol = "RIVE";
        name = "RIVE";
        decimals = 18;
        address _mintaddress = address(0x81CB5470d1F39c1A2de5Ba80686da31e11918941);
        _totalSupply = 200000 * 10**uint(decimals); // starting supply
        balances[_mintaddress] =  _totalSupply;
        emit Transfer(address(0), _mintaddress, _totalSupply);
    }


    // ------------------------------------------------------------------------
    // Total supply
    // ------------------------------------------------------------------------
    function totalSupply() public view returns (uint) {
        return _totalSupply.sub(balances[address(0)]);
    }


    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public view returns (uint balance) {
        return balances[tokenOwner];
    }


    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transfer(address to, uint tokens) public returns (bool success) {
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }


    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account
    //
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
    // recommends that there are no checks for the approval double-spend attack
    // as this should be implemented in user interfaces
    // ------------------------------------------------------------------------
    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }


    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    //
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the `from` account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(from, to, tokens);
        return true;
    }


    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) public view returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }


    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account. The `spender` contract function
    // `receiveApproval(...)` is then executed
    // ------------------------------------------------------------------------
    function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
        return true;
    }


    // ------------------------------------------------------------------------
    // Don't accept ETH
    // ------------------------------------------------------------------------
    function () external payable {
        revert();
    }


    // ------------------------------------------------------------------------
    // Owner can transfer out any accidentally sent ERC20 tokens
    // ------------------------------------------------------------------------
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
        return ERC20Interface(tokenAddress).transfer(owner, tokens);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b0319169055604080518082019091526004808252635249564560e01b602090920191825261004c9160029161011c565b50604080518082019091526004808252635249564560e01b60209092019182526100789160039161011c565b5060048054601260ff19909116179081905560ff16600a0a62030d400260058190557381cb5470d1f39c1a2de5ba80686da31e119189416000818152600660209081527f02ad6e5f933b12505727f9178d2adc8c2b43ba25783c7c2d43e20ede1597bce38490556040805194855251929384937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3506101b7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061015d57805160ff191683800117855561018a565b8280016001018555821561018a579182015b8281111561018a57825182559160200191906001019061016f565b5061019692915061019a565b5090565b6101b491905b8082111561019657600081556001016101a0565b90565b610b56806101c66000396000f3fe6080604052600436106100e85760003560e01c80638da5cb5b1161008a578063d4ee1d9011610059578063d4ee1d90146103ea578063dc39d06d146103ff578063dd62ed3e14610438578063f2fde38b14610473576100e8565b80638da5cb5b146102a357806395d89b41146102d4578063a9059cbb146102e9578063cae9ca5114610322576100e8565b806323b872dd116100c657806323b872dd146101eb578063313ce5671461022e57806370a082311461025957806379ba50971461028c576100e8565b806306fdde03146100ed578063095ea7b31461017757806318160ddd146101c4575b600080fd5b3480156100f957600080fd5b506101026104a6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018357600080fd5b506101b06004803603604081101561019a57600080fd5b506001600160a01b038135169060200135610534565b604080519115158252519081900360200190f35b3480156101d057600080fd5b506101d961059b565b60408051918252519081900360200190f35b3480156101f757600080fd5b506101b06004803603606081101561020e57600080fd5b506001600160a01b038135811691602081013590911690604001356105de565b34801561023a57600080fd5b506102436106e9565b6040805160ff9092168252519081900360200190f35b34801561026557600080fd5b506101d96004803603602081101561027c57600080fd5b50356001600160a01b03166106f2565b34801561029857600080fd5b506102a161070d565b005b3480156102af57600080fd5b506102b8610788565b604080516001600160a01b039092168252519081900360200190f35b3480156102e057600080fd5b50610102610797565b3480156102f557600080fd5b506101b06004803603604081101561030c57600080fd5b506001600160a01b0381351690602001356107ef565b34801561032e57600080fd5b506101b06004803603606081101561034557600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561037557600080fd5b82018360208201111561038757600080fd5b803590602001918460018302840111640100000000831117156103a957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061089f945050505050565b3480156103f657600080fd5b506102b86109e7565b34801561040b57600080fd5b506101b06004803603604081101561042257600080fd5b506001600160a01b0381351690602001356109f6565b34801561044457600080fd5b506101d96004803603604081101561045b57600080fd5b506001600160a01b0381358116916020013516610a98565b34801561047f57600080fd5b506102a16004803603602081101561049657600080fd5b50356001600160a01b0316610ac3565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561052c5780601f106105015761010080835404028352916020019161052c565b820191906000526020600020905b81548152906001019060200180831161050f57829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546005546105d99163ffffffff610afc16565b905090565b6001600160a01b038316600090815260066020526040812054610607908363ffffffff610afc16565b6001600160a01b0385166000908152600660209081526040808320939093556007815282822033835290522054610644908363ffffffff610afc16565b6001600160a01b038086166000908152600760209081526040808320338452825280832094909455918616815260069091522054610688908363ffffffff610b1116565b6001600160a01b0380851660008181526006602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526006602052604090205490565b6001546001600160a01b0316331461072457600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561052c5780601f106105015761010080835404028352916020019161052c565b3360009081526006602052604081205461080f908363ffffffff610afc16565b33600090815260066020526040808220929092556001600160a01b03851681522054610841908363ffffffff610b1116565b6001600160a01b0384166000818152600660209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b3360008181526007602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b8381101561097657818101518382015260200161095e565b50505050905090810190601f1680156109a35780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156109c557600080fd5b505af11580156109d9573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b600080546001600160a01b03163314610a0e57600080fd5b600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015610a6557600080fd5b505af1158015610a79573d6000803e3d6000fd5b505050506040513d6020811015610a8f57600080fd5b50519392505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610ada57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610b0b57600080fd5b50900390565b8181018281101561059557600080fdfea265627a7a7231582031068e6e00c93421dd7bf295221b61bf0b17c5edf06e9817d78178fc829802b064736f6c63430005110032

Deployed Bytecode

0x6080604052600436106100e85760003560e01c80638da5cb5b1161008a578063d4ee1d9011610059578063d4ee1d90146103ea578063dc39d06d146103ff578063dd62ed3e14610438578063f2fde38b14610473576100e8565b80638da5cb5b146102a357806395d89b41146102d4578063a9059cbb146102e9578063cae9ca5114610322576100e8565b806323b872dd116100c657806323b872dd146101eb578063313ce5671461022e57806370a082311461025957806379ba50971461028c576100e8565b806306fdde03146100ed578063095ea7b31461017757806318160ddd146101c4575b600080fd5b3480156100f957600080fd5b506101026104a6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018357600080fd5b506101b06004803603604081101561019a57600080fd5b506001600160a01b038135169060200135610534565b604080519115158252519081900360200190f35b3480156101d057600080fd5b506101d961059b565b60408051918252519081900360200190f35b3480156101f757600080fd5b506101b06004803603606081101561020e57600080fd5b506001600160a01b038135811691602081013590911690604001356105de565b34801561023a57600080fd5b506102436106e9565b6040805160ff9092168252519081900360200190f35b34801561026557600080fd5b506101d96004803603602081101561027c57600080fd5b50356001600160a01b03166106f2565b34801561029857600080fd5b506102a161070d565b005b3480156102af57600080fd5b506102b8610788565b604080516001600160a01b039092168252519081900360200190f35b3480156102e057600080fd5b50610102610797565b3480156102f557600080fd5b506101b06004803603604081101561030c57600080fd5b506001600160a01b0381351690602001356107ef565b34801561032e57600080fd5b506101b06004803603606081101561034557600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561037557600080fd5b82018360208201111561038757600080fd5b803590602001918460018302840111640100000000831117156103a957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061089f945050505050565b3480156103f657600080fd5b506102b86109e7565b34801561040b57600080fd5b506101b06004803603604081101561042257600080fd5b506001600160a01b0381351690602001356109f6565b34801561044457600080fd5b506101d96004803603604081101561045b57600080fd5b506001600160a01b0381358116916020013516610a98565b34801561047f57600080fd5b506102a16004803603602081101561049657600080fd5b50356001600160a01b0316610ac3565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561052c5780601f106105015761010080835404028352916020019161052c565b820191906000526020600020905b81548152906001019060200180831161050f57829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546005546105d99163ffffffff610afc16565b905090565b6001600160a01b038316600090815260066020526040812054610607908363ffffffff610afc16565b6001600160a01b0385166000908152600660209081526040808320939093556007815282822033835290522054610644908363ffffffff610afc16565b6001600160a01b038086166000908152600760209081526040808320338452825280832094909455918616815260069091522054610688908363ffffffff610b1116565b6001600160a01b0380851660008181526006602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b6001600160a01b031660009081526006602052604090205490565b6001546001600160a01b0316331461072457600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561052c5780601f106105015761010080835404028352916020019161052c565b3360009081526006602052604081205461080f908363ffffffff610afc16565b33600090815260066020526040808220929092556001600160a01b03851681522054610841908363ffffffff610b1116565b6001600160a01b0384166000818152600660209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b3360008181526007602090815260408083206001600160a01b038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a3604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b8381101561097657818101518382015260200161095e565b50505050905090810190601f1680156109a35780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156109c557600080fd5b505af11580156109d9573d6000803e3d6000fd5b506001979650505050505050565b6001546001600160a01b031681565b600080546001600160a01b03163314610a0e57600080fd5b600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015610a6557600080fd5b505af1158015610a79573d6000803e3d6000fd5b505050506040513d6020811015610a8f57600080fd5b50519392505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610ada57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600082821115610b0b57600080fd5b50900390565b8181018281101561059557600080fdfea265627a7a7231582031068e6e00c93421dd7bf295221b61bf0b17c5edf06e9817d78178fc829802b064736f6c63430005110032

Deployed Bytecode Sourcemap

3053:5551:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8163:8;;;3170:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3170:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3170:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5696:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5696:208:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5696:208:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4101:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4101:114:0;;;:::i;:::-;;;;;;;;;;;;;;;;6447:343;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6447:343:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6447:343:0;;;;;;;;;;;;;;;;;:::i;3196:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3196:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4442:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4442:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4442:120:0;-1:-1:-1;;;;;4442:120:0;;:::i;2599:196::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2599:196:0;;;:::i;:::-;;2201:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2201:20:0;;;:::i;:::-;;;;-1:-1:-1;;;;;2201:20:0;;;;;;;;;;;;;;3143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3143:20:0;;;:::i;4913:267::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4913:267:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4913:267:0;;;;;;;;:::i;7593:333::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7593:333:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;7593:333:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;7593:333:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7593:333:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7593:333:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7593:333:0;;-1:-1:-1;7593:333:0;;-1:-1:-1;;;;;7593:333:0:i;2228:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2228:23:0;;;:::i;8417:184::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8417:184:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8417:184:0;;;;;;;;:::i;7078:147::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7078:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7078:147:0;;;;;;;;;;:::i;2491:102::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2491:102:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2491:102:0;-1:-1:-1;;;;;2491:102:0;;:::i;3170:19::-;;;;;;;;;;;;;;;-1:-1:-1;;3170:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5696:208::-;5792:10;5759:12;5784:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5784:28:0;;;;;;;;;;;:37;;;5837;;;;;;;5759:12;;5784:28;;5792:10;;5837:37;;;;;;;;-1:-1:-1;5892:4:0;5696:208;;;;;:::o;4101:114::-;4145:4;4186:20;;;:8;:20;;;;4169:12;;:38;;;:16;:38;:::i;:::-;4162:45;;4101:114;:::o;6447:343::-;-1:-1:-1;;;;;6566:14:0;;6524:12;6566:14;;;:8;:14;;;;;;:26;;6585:6;6566:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;6549:14:0;;;;;;:8;:14;;;;;;;;:43;;;;6631:7;:13;;;;;6645:10;6631:25;;;;;;:37;;6661:6;6631:37;:29;:37;:::i;:::-;-1:-1:-1;;;;;6603:13:0;;;;;;;:7;:13;;;;;;;;6617:10;6603:25;;;;;;;:65;;;;6694:12;;;;;:8;:12;;;;;:24;;6711:6;6694:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;6679:12:0;;;;;;;:8;:12;;;;;;;;;:39;;;;6734:26;;;;;;;6679:12;;6734:26;;;;;;;;;;;;;-1:-1:-1;6778:4:0;6447:343;;;;;:::o;3196:21::-;;;;;;:::o;4442:120::-;-1:-1:-1;;;;;4534:20:0;4502:12;4534:20;;;:8;:20;;;;;;;4442:120::o;2599:196::-;2666:8;;-1:-1:-1;;;;;2666:8:0;2652:10;:22;2644:31;;;;;;2719:8;;;2712:5;;2691:37;;-1:-1:-1;;;;;2719:8:0;;;;2712:5;;;;2691:37;;;2747:8;;;;2739:16;;-1:-1:-1;;;;;;2739:16:0;;;-1:-1:-1;;;;;2747:8:0;;2739:16;;;;2766:21;;;2599:196::o;2201:20::-;;;-1:-1:-1;;;;;2201:20:0;;:::o;3143:::-;;;;;;;;;;;;;;-1:-1:-1;;3143:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4913:267;5029:10;4972:12;5020:20;;;:8;:20;;;;;;:32;;5045:6;5020:32;:24;:32;:::i;:::-;5006:10;4997:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;5078:12:0;;;;;;:24;;5095:6;5078:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;5063:12:0;;;;;;:8;:12;;;;;;;;;:39;;;;5118:32;;;;;;;5063:12;;5127:10;;5118:32;;;;;;;;;;-1:-1:-1;5168:4:0;4913:267;;;;:::o;7593:333::-;7715:10;7682:12;7707:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7707:28:0;;;;;;;;;;;:37;;;7760;;;;;;;7682:12;;7707:28;;7715:10;;7760:37;;;;;;;;7808:88;;-1:-1:-1;;;7808:88:0;;7856:10;7808:88;;;;;;;;;;;;7884:4;7808:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7808:47:0;;;;;7856:10;7868:6;;7884:4;7891;;7808:88;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7808:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7808:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7914:4:0;;7593:333;-1:-1:-1;;;;;;;7593:333:0:o;2228:23::-;;;-1:-1:-1;;;;;2228:23:0;;:::o;8417:184::-;8509:12;2457:5;;-1:-1:-1;;;;;2457:5:0;2443:10;:19;2435:28;;;;;;8579:5;;;8541:52;;;-1:-1:-1;;;8541:52:0;;-1:-1:-1;;;;;8579:5:0;;;8541:52;;;;;;;;;;;;:37;;;;;;:52;;;;;;;;;;;;;;;;;:37;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;8541:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8541:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8541:52:0;;8417:184;-1:-1:-1;;;8417:184:0:o;7078:147::-;-1:-1:-1;;;;;7189:19:0;;;7155:14;7189:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;7078:147::o;2491:102::-;2457:5;;-1:-1:-1;;;;;2457:5:0;2443:10;:19;2435:28;;;;;;2565:8;:20;;-1:-1:-1;;;;;;2565:20:0;-1:-1:-1;;;;;2565:20:0;;;;;;;;;;2491:102::o;251:114::-;303:6;335:1;330;:6;;322:15;;;;;;-1:-1:-1;352:5:0;;;251:114::o;131:::-;206:5;;;230:6;;;;222:15;;;;

Swarm Source

bzzr://31068e6e00c93421dd7bf295221b61bf0b17c5edf06e9817d78178fc829802b0

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.