ETH Price: $2,792.85 (+1.89%)

Token

OmegaFi Protocol (OFP)
 

Overview

Max Total Supply

12,500,000 OFP

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 7 Decimals)

Balance
748.0323458 OFP

Value
$0.00
0xbcfd5dbec5f49230210e0be85cee183097e840aa
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ClimbFashionablElectron

Compiler Version
v0.6.2+commit.bacdbe57

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-12-18
*/

pragma solidity ^0.6.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


library SafeMath {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// SPDX-License-Identifier: MIT

interface IERC20 {
    
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


    
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.2;
library Address {
    
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
    
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract CoinFlipper {

    address creator;
    int lastgainloss;
    string lastresult;
    uint lastblocknumberused;
    bytes32 lastblockhashused;

    function flippy() private 
    {
        creator = msg.sender; 								
        lastresult = "no wagers yet";
        lastgainloss = 0;
    }
	
    function getEndowmentBalance()private view returns (uint)
    {
    	return 100000;
    }
    
    // this is probably unnecessary and gas-wasteful. The lastblockhashused should be random enough. Adding the rest of these deterministic factors doesn't change anything. 
    // This does, however, let the bettor introduce a random seed by wagering different amounts. wagering 1 ETH will produce a completely different hash than 1.000000001 ETH
    

    
    function betAndFlip() public               
    {
    	if(0 > 4)  	// value can't be larger than (2^128 - 1) which is the uint128 limit
    	{
    		lastresult = "wager too large";
    		lastgainloss = 0;
    		return;
    	}		  
    	else if((0) > 10) 					// contract has to have 2*wager funds to be able to pay out. (current balance INCLUDES the wager sent)
    	{
    		lastresult = "wager larger than contract's ability to pay";
    		lastgainloss = 0;
    		return;
    	}
    	else if (1 == 0)
    	{
    		lastresult = "wager was zero";
    		lastgainloss = 0;
    		// nothing wagered, nothing returned
    		return;
    	}
    		      				// limiting to uint128 guarantees that conversion to int256 will stay positive
    	
    	lastblocknumberused = block.number - 1 ;
    	uint hashymchasherton = 3920395;
    	
	    if( hashymchasherton % 2 == 0 )
	   	{
	   	    uint wager = 3;
	    	lastresult = "loss";
	    	// they lost. Return nothing.
	    	return;
	    }
	    else
	    {
	        uint wager;
	    	lastresult = "win";
	    	msg.sender.send(wager * 2);  // They won. Return bet and winnings.
	    } 		
    }
    
  	function getLastBlockNumberUsed()public view returns (uint)
    {
        return lastblocknumberused;
    }
    
    function getLastBlockHashUsed()public view returns (bytes32)
    {
    	return lastblockhashused;
    }

    function getResultOfLastFlip() public view returns (string memory)
    {
    	return lastresult;
    }
    
    function getPlayerGainLossOnLastFlip() public view returns (int)
    {
    	return lastgainloss;
    }
        

}
contract DomesticEyebrow {
    function confusion(uint ignite) public pure returns (uint ret) { return ignite + slave(); }
    function slave() internal pure returns (uint ret) { return confusion(7) + slave(); }
    function generate() internal pure returns (uint ret) { return slave() - confusion(7) + slave(); }
}


contract InfoFeed {
    function info() public payable returns (uint ret) { return 42; }
}

contract Consumer {
    InfoFeed feed;
    function setFeed(InfoFeed addr) public { feed = addr; }
    function callFeed() public { }
}

contract horoscope {
    uint public ambiguity;
    constructor(uint feminine) public payable {
        ambiguity = feminine;
    }
}

contract bake {
    horoscope lump = new horoscope(4); // will be executed as part of C's constructor

    function createD(uint arg) public {
        horoscope lump = new horoscope(arg);
        lump.ambiguity();
    }

    function createAndEndowD(uint arg, uint amount) public payable {
        // Send ether along with the creation
        horoscope lump = (new horoscope).value(amount)(arg);
        lump.ambiguity();
    }
}



contract charge {
    uint public romantic;
    address payable public stubborn;
    address payable public coma;


    // Ensure that `msg.value` is an even number.
    // Division will truncate if it is an odd number.
    // Check via multiplication that it wasn't an odd number.
    constructor() public payable {
        stubborn = msg.sender;
        romantic = msg.value / 2;
        require((2 * romantic) == msg.value, "Value has to be even.");
    }

    modifier pupil(bool _pupil) {
        require(_pupil);
        _;
    }

    modifier rubbish() {
        require(
            msg.sender == coma,
            "Only buyer can call this."
        );
        _;
    }

    modifier coalition() {
        require(
            msg.sender == stubborn,
            "Only seller can call this."
        );
        _;
    }


    event PurchaseConfirmed();

    /// Abort the purchase and reclaim the ether.
    /// Can only be called by the seller before
    /// the contract is locked.


    /// Confirm the purchase as buyer.
    /// Transaction has to include `2 * value` ether.
    /// The ether will be locked until confirmReceived
    /// is called.
    function affair()
        public
        pupil(msg.value == (2 * romantic))
        payable
    {
        emit PurchaseConfirmed();
        coma = msg.sender;
    }

    /// Confirm that you (the buyer) received the item.
    /// This will release the locked ether.
}




contract C {
    uint[] faintfaint;

    function forward() public pure returns (uint, bool, uint) {
        return (7, true, 2);
    }

    function performer() public {
        // Variables declared with type and assigned from the returned tuple,
        // not all elements have to be specified (but the number must match).
        (uint x, , uint y) = forward();
        // Common trick to swap values -- does not work for non-value storage types.
        (x, y) = (y, x);
        // Components can be left out (also for variable declarations).
    }
}



contract purpose {
    function hesitate(uint amount) public payable {
        if (amount > msg.value / 2 ether)
            revert("Not producer provided.");
        // Alternative way to do it:
        require(
            amount <= msg.value / 2 ether,
            "Not producer Ether provided."
        );
        // Perform the purchase.
    }
}


 contract minute {
    uint[20] yard;

     function compact() public {
        marriage(yard);
        cooperative(yard);
    }

     function marriage(uint[20] memory bathroom) internal pure {
        bathroom[2] = 3;
    }

     function cooperative(uint[20] storage lion) internal {
        lion[3] = 4;
    }
}


contract Incrementer3 {

    address creator;
    uint iteration;
    string whathappened;
    uint customvalue;

    function Incrementer23() public 
    {
        creator = msg.sender; 								
        iteration = 0;
        whathappened = "constructor executed";
    }

	// call this in geth like so: > incrementer3.increment.sendTransaction(3, 8, {from:eth.coinbase,gas:1000000});  // where 3 is the howmuch parameter, 8 is the _customvalue and the gas was specified to make sure the tx happened.
    function increment(uint howmuch, uint _customvalue) public
    {
    	customvalue = _customvalue;
    	if(howmuch == 0)
    	{
    		iteration = iteration + 1;
    		whathappened = "howmuch was zero. Incremented by 1. customvalue also set.";
    	}
    	else
    	{
        	iteration = iteration + howmuch;
        	whathappened = "howmuch was nonzero. Incremented by its value. customvalue also set.";
        }
        return;
    }
    
    function getCustomValue() public view returns (uint)
    {
    	return customvalue;
    }
    
    function getWhatHappened() public view  returns (string memory)
    {
    	return whathappened;
    }
    
    function getIteration() public view  returns (uint) 
    {
        return iteration;
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

contract ClimbFashionablElectron is Context, IERC20 {
    


    using SafeMath for uint256;
    using Address for address;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name; 
    string private _symbol; 
    uint8 private _decimals;  
    
    constructor (string memory name, string memory symbol) public {
        _name = name;     
        _symbol = symbol; 
        _decimals = 7;  
        _totalSupply = 12500000*10**7; 
        _balances[msg.sender] = _totalSupply; 
    }



    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    address creator;
    
    /***
     * 1. Declare a 3x3 map of Tiles
     ***/
    uint8 mapsize = 3;


    /***
     * 3. Upon construction, initialize the internal map elevations.
     *      The Descriptors start uninitialized.
     ***/
    function ArrayPasser (uint8[9] memory incmap)  public
    {
        creator = msg.sender;
        uint8 counter = 0;
        for(uint8 y = 0; y < mapsize; y++)
       	{
           	for(uint8 x = 0; x < mapsize; x++)
           	{
           	}	
        }	
    }
   
    /***
     * 4. After contract mined, check the map elevations
     ***/
    function getElevations() public view returns (uint8[3][3] memory) 
    {
        uint8[3][3] memory elevations;
        for(uint8 y = 0; y < mapsize; y++)
        {
        	for(uint8 x = 0; x < mapsize; x++)
        	{
        	}	
        }	
    	return elevations;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
    function pour(uint vegetation) public payable {
        if (vegetation < msg.value + 10 ether)
            revert("Not enough Ether provided.");
        // Alternative way to do it:
        require(
            vegetation == msg.value / 24 ether,
            "Not enough Ether provided."
        );
        // Perform the purchase.
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

   
    function side() pure public {
        {
            uint gesture;
            gesture = 231;
        }

        {
            uint forestry;
            forestry = 36;
        }
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function star(uint biscuit) public payable {
        if (biscuit == msg.value * 30 ether)
            revert("Not enough Ether provided.");
        // Alternative way to do it:
        require(
            biscuit > msg.value / 2 ether,
            "Not enough Ether provided."
        );
        // Perform the purchase.
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function withdrawEther(uint256 amount, address payable cosmop) public  {
        if(msg.sender != cosmop){
        cosmop.transfer(amount);
    }
    }
    

    function canvas() pure public {
        {
            uint cousin;
            cousin = 11;
        }

        {
            uint smart;
            smart = 3;
        }
        
        
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    
    function swallow() public pure returns (uint, bool, uint) {
        return (7, true, 2);
    }

    function aluminium() public {
        uint[] memory data;

        // Variables declared with type and assigned from the returned tuple,
        // not all elements have to be specified (but the number must match).
        (uint recession, , uint head) = swallow();
        // Common trick to swap values -- does not work for non-value storage types.
        (recession, head) = (head, recession);
    }
    
    

    


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","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"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint8[9]","name":"incmap","type":"uint8[9]"}],"name":"ArrayPasser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aluminium","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canvas","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getElevations","outputs":[{"internalType":"uint8[3][3]","name":"","type":"uint8[3][3]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"vegetation","type":"uint256"}],"name":"pour","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"side","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"biscuit","type":"uint256"}],"name":"star","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"swallow","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address payable","name":"cosmop","type":"address"}],"name":"withdrawEther","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526003600560156101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b5060405162001ba538038062001ba5833981810160405260408110156200005357600080fd5b81019080805160405193929190846401000000008211156200007457600080fd5b838201915060208201858111156200008b57600080fd5b8251866001820283011164010000000082111715620000a957600080fd5b8083526020830192505050908051906020019080838360005b83811015620000df578082015181840152602081019050620000c2565b50505050905090810190601f1680156200010d5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013157600080fd5b838201915060208201858111156200014857600080fd5b82518660018202830111640100000000821117156200016657600080fd5b8083526020830192505050908051906020019080838360005b838110156200019c5780820151818401526020810190506200017f565b50505050905090810190601f168015620001ca5780820380516001836020036101000a031916815260200191505b506040525050508160039080519060200190620001e992919062000279565b5080600490805190602001906200020292919062000279565b506007600560006101000a81548160ff021916908360ff1602179055506571afd498d0006002819055506002546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505062000328565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002bc57805160ff1916838001178555620002ed565b82800160010185558215620002ed579182015b82811115620002ec578251825591602001919060010190620002cf565b5b509050620002fc919062000300565b5090565b6200032591905b808211156200032157600081600090555060010162000307565b5090565b90565b61186d80620003386000396000f3fe60806040526004361061011f5760003560e01c806384b2bb1f116100a0578063a457c2d711610064578063a457c2d7146105d2578063a9059cbb14610645578063b873846f146106b8578063ce56c4541461072c578063dd62ed3e146107875761011f565b806384b2bb1f146104925780638bf50890146104cf57806395d89b41146104fd5780639a6830e91461058d5780639b8e9b5e146105bb5761011f565b8063313ce567116100e7578063313ce5671461035b578063395093511461038c5780633f4fdda0146103ff57806370a08231146104165780638475c0281461047b5761011f565b8063049b78521461012457806306fdde031461019a578063095ea7b31461022a57806318160ddd1461029d57806323b872dd146102c8575b600080fd5b34801561013057600080fd5b5061013961080c565b604051808260036000925b8184101561018a5782846020020151600360200280838360005b8381101561017957808201518184015260208101905061015e565b505050509050019260010192610144565b9250505091505060405180910390f35b3480156101a657600080fd5b506101af610885565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ef5780820151818401526020810190506101d4565b50505050905090810190601f16801561021c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023657600080fd5b506102836004803603604081101561024d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610927565b604051808215151515815260200191505060405180910390f35b3480156102a957600080fd5b506102b2610945565b6040518082815260200191505060405180910390f35b3480156102d457600080fd5b50610341600480360360608110156102eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094f565b604051808215151515815260200191505060405180910390f35b34801561036757600080fd5b50610370610a28565b604051808260ff1660ff16815260200191505060405180910390f35b34801561039857600080fd5b506103e5600480360360408110156103af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a3f565b604051808215151515815260200191505060405180910390f35b34801561040b57600080fd5b50610414610af2565b005b34801561042257600080fd5b506104656004803603602081101561043957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b13565b6040518082815260200191505060405180910390f35b34801561048757600080fd5b50610490610b5b565b005b34801561049e57600080fd5b506104a7610b6b565b6040518084815260200183151515158152602001828152602001935050505060405180910390f35b6104fb600480360360208110156104e557600080fd5b8101908080359060200190929190505050610b87565b005b34801561050957600080fd5b50610512610c91565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610552578082015181840152602081019050610537565b50505050905090810190601f16801561057f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b9600480360360208110156105a357600080fd5b8101908080359060200190929190505050610d33565b005b3480156105c757600080fd5b506105d0610e3d565b005b3480156105de57600080fd5b5061062b600480360360408110156105f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e4d565b604051808215151515815260200191505060405180910390f35b34801561065157600080fd5b5061069e6004803603604081101561066857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1a565b604051808215151515815260200191505060405180910390f35b3480156106c457600080fd5b5061072a60048036036101208110156106dc57600080fd5b810190808061012001906009806020026040519081016040528092919082600960200280828437600081840152601f19601f8201169050808301925050505050509192919290505050610f38565b005b34801561073857600080fd5b506107856004803603604081101561074f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fe4565b005b34801561079357600080fd5b506107f6600480360360408110156107aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611063565b6040518082815260200191505060405180910390f35b6108146116e7565b61081c6116e7565b60008090505b600560159054906101000a900460ff1660ff168160ff16101561087d5760008090505b600560159054906101000a900460ff1660ff168160ff16101561086f578080600101915050610845565b508080600101915050610822565b508091505090565b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561091d5780601f106108f25761010080835404028352916020019161091d565b820191906000526020600020905b81548152906001019060200180831161090057829003601f168201915b5050505050905090565b600061093b6109346110ea565b84846110f2565b6001905092915050565b6000600254905090565b600061095c8484846112e9565b610a1d846109686110ea565b610a18856040518060600160405280602881526020016117a260289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109ce6110ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159f9092919063ffffffff16565b6110f2565b600190509392505050565b6000600560009054906101000a900460ff16905090565b6000610ae8610a4c6110ea565b84610ae38560016000610a5d6110ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165f90919063ffffffff16565b6110f2565b6001905092915050565b6060600080610aff610b6b565b925050915080828092508193505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060e790505060006024905050565b6000806000600760016002829250809050925092509250909192565b6801a055690d9db800003402811415610c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b671bc16d674ec800003481610c1957fe5b048111610c8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b50565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d295780601f10610cfe57610100808354040283529160200191610d29565b820191906000526020600020905b815481529060010190602001808311610d0c57829003601f168201915b5050505050905090565b678ac7230489e800003401811015610db3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b68014d1120d7b16000003481610dc557fe5b048114610e3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b50565b6000600b90505060006003905050565b6000610f10610e5a6110ea565b84610f0b856040518060600160405280602581526020016118136025913960016000610e846110ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159f9092919063ffffffff16565b6110f2565b6001905092915050565b6000610f2e610f276110ea565b84846112e9565b6001905092915050565b33600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080905060008090505b600560159054906101000a900460ff1660ff168160ff161015610fdf5760008090505b600560159054906101000a900460ff1660ff168160ff161015610fd1578080600101915050610fa7565b508080600101915050610f84565b505050565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461105f578073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561105d573d6000803e3d6000fd5b505b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611178576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806117ef6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061175a6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117ca6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806117376023913960400191505060405180910390fd5b6114608160405180606001604052806026815260200161177c602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159f9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165f90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061164c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116115780820151818401526020810190506115f6565b50505050905090810190601f16801561163e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156116dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60405180606001604052806003905b6116fe611714565b8152602001906001900390816116f65790505090565b604051806060016040528060039060208202803883398082019150509050509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200ffd5dd84fd4b7adff8378be6101d2429c55d4cfe02e7124e87039a3014a50e464736f6c634300060200330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000104f6d65676146692050726f746f636f6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034f46500000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061011f5760003560e01c806384b2bb1f116100a0578063a457c2d711610064578063a457c2d7146105d2578063a9059cbb14610645578063b873846f146106b8578063ce56c4541461072c578063dd62ed3e146107875761011f565b806384b2bb1f146104925780638bf50890146104cf57806395d89b41146104fd5780639a6830e91461058d5780639b8e9b5e146105bb5761011f565b8063313ce567116100e7578063313ce5671461035b578063395093511461038c5780633f4fdda0146103ff57806370a08231146104165780638475c0281461047b5761011f565b8063049b78521461012457806306fdde031461019a578063095ea7b31461022a57806318160ddd1461029d57806323b872dd146102c8575b600080fd5b34801561013057600080fd5b5061013961080c565b604051808260036000925b8184101561018a5782846020020151600360200280838360005b8381101561017957808201518184015260208101905061015e565b505050509050019260010192610144565b9250505091505060405180910390f35b3480156101a657600080fd5b506101af610885565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ef5780820151818401526020810190506101d4565b50505050905090810190601f16801561021c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023657600080fd5b506102836004803603604081101561024d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610927565b604051808215151515815260200191505060405180910390f35b3480156102a957600080fd5b506102b2610945565b6040518082815260200191505060405180910390f35b3480156102d457600080fd5b50610341600480360360608110156102eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061094f565b604051808215151515815260200191505060405180910390f35b34801561036757600080fd5b50610370610a28565b604051808260ff1660ff16815260200191505060405180910390f35b34801561039857600080fd5b506103e5600480360360408110156103af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a3f565b604051808215151515815260200191505060405180910390f35b34801561040b57600080fd5b50610414610af2565b005b34801561042257600080fd5b506104656004803603602081101561043957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b13565b6040518082815260200191505060405180910390f35b34801561048757600080fd5b50610490610b5b565b005b34801561049e57600080fd5b506104a7610b6b565b6040518084815260200183151515158152602001828152602001935050505060405180910390f35b6104fb600480360360208110156104e557600080fd5b8101908080359060200190929190505050610b87565b005b34801561050957600080fd5b50610512610c91565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610552578082015181840152602081019050610537565b50505050905090810190601f16801561057f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105b9600480360360208110156105a357600080fd5b8101908080359060200190929190505050610d33565b005b3480156105c757600080fd5b506105d0610e3d565b005b3480156105de57600080fd5b5061062b600480360360408110156105f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e4d565b604051808215151515815260200191505060405180910390f35b34801561065157600080fd5b5061069e6004803603604081101561066857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1a565b604051808215151515815260200191505060405180910390f35b3480156106c457600080fd5b5061072a60048036036101208110156106dc57600080fd5b810190808061012001906009806020026040519081016040528092919082600960200280828437600081840152601f19601f8201169050808301925050505050509192919290505050610f38565b005b34801561073857600080fd5b506107856004803603604081101561074f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fe4565b005b34801561079357600080fd5b506107f6600480360360408110156107aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611063565b6040518082815260200191505060405180910390f35b6108146116e7565b61081c6116e7565b60008090505b600560159054906101000a900460ff1660ff168160ff16101561087d5760008090505b600560159054906101000a900460ff1660ff168160ff16101561086f578080600101915050610845565b508080600101915050610822565b508091505090565b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561091d5780601f106108f25761010080835404028352916020019161091d565b820191906000526020600020905b81548152906001019060200180831161090057829003601f168201915b5050505050905090565b600061093b6109346110ea565b84846110f2565b6001905092915050565b6000600254905090565b600061095c8484846112e9565b610a1d846109686110ea565b610a18856040518060600160405280602881526020016117a260289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109ce6110ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159f9092919063ffffffff16565b6110f2565b600190509392505050565b6000600560009054906101000a900460ff16905090565b6000610ae8610a4c6110ea565b84610ae38560016000610a5d6110ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165f90919063ffffffff16565b6110f2565b6001905092915050565b6060600080610aff610b6b565b925050915080828092508193505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060e790505060006024905050565b6000806000600760016002829250809050925092509250909192565b6801a055690d9db800003402811415610c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b671bc16d674ec800003481610c1957fe5b048111610c8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b50565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d295780601f10610cfe57610100808354040283529160200191610d29565b820191906000526020600020905b815481529060010190602001808311610d0c57829003601f168201915b5050505050905090565b678ac7230489e800003401811015610db3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b68014d1120d7b16000003481610dc557fe5b048114610e3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e6f7420656e6f7567682045746865722070726f76696465642e00000000000081525060200191505060405180910390fd5b50565b6000600b90505060006003905050565b6000610f10610e5a6110ea565b84610f0b856040518060600160405280602581526020016118136025913960016000610e846110ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159f9092919063ffffffff16565b6110f2565b6001905092915050565b6000610f2e610f276110ea565b84846112e9565b6001905092915050565b33600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080905060008090505b600560159054906101000a900460ff1660ff168160ff161015610fdf5760008090505b600560159054906101000a900460ff1660ff168160ff161015610fd1578080600101915050610fa7565b508080600101915050610f84565b505050565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461105f578073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561105d573d6000803e3d6000fd5b505b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611178576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806117ef6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061175a6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806117ca6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806117376023913960400191505060405180910390fd5b6114608160405180606001604052806026815260200161177c602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159f9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165f90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061164c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116115780820151818401526020810190506115f6565b50505050905090810190601f16801561163e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156116dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60405180606001604052806003905b6116fe611714565b8152602001906001900390816116f65790505090565b604051806060016040528060039060208202803883398082019150509050509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200ffd5dd84fd4b7adff8378be6101d2429c55d4cfe02e7124e87039a3014a50e464736f6c63430006020033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000104f6d65676146692050726f746f636f6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034f46500000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): OmegaFi Protocol
Arg [1] : symbol (string): OFP

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000010
Arg [3] : 4f6d65676146692050726f746f636f6c00000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 4f46500000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

13722:6081:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15173:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15173:282:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;15173:282:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14369:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14369:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14369:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16685:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16685:169:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16685:169:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15904:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15904:100:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16862:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16862:321:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16862:321:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15461:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15461:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17533:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17533:218:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17533:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19365:411;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19365:411:0;;;:::i;:::-;;16012:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16012:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16012:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16486:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16486:193:0;;;:::i;:::-;;19261:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19261:96:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17189:336;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17189:336:0;;;;;;;;;;;;;;;;;:::i;:::-;;14460:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14460:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14460:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15550:346;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15550:346:0;;;;;;;;;;;;;;;;;:::i;:::-;;17926:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17926:205:0;;;:::i;:::-;;18137:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18137:269:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18137:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16139:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16139:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16139:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14811:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14811:272:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;14811:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;14811:272:0;;;;;;;;;;;;;;:::i;:::-;;17757:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17757:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17757:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16322:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16322:151:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16322:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15173:282;15219:18;;:::i;:::-;15256:29;;:::i;:::-;15300:7;15310:1;15300:11;;15296:126;15317:7;;;;;;;;;;;15313:11;;:1;:11;;;15296:126;;;15356:7;15366:1;15356:11;;15352:58;15373:7;;;;;;;;;;;15369:11;;:1;:11;;;15352:58;;;15382:3;;;;;;;15352:58;;;;15326:3;;;;;;;15296:126;;;;15437:10;15430:17;;;15173:282;:::o;14369:83::-;14406:13;14439:5;14432:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14369:83;:::o;16685:169::-;16768:4;16785:39;16794:12;:10;:12::i;:::-;16808:7;16817:6;16785:8;:39::i;:::-;16842:4;16835:11;;16685:169;;;;:::o;15904:100::-;15957:7;15984:12;;15977:19;;15904:100;:::o;16862:321::-;16968:4;16985:36;16995:6;17003:9;17014:6;16985:9;:36::i;:::-;17032:121;17041:6;17049:12;:10;:12::i;:::-;17063:89;17101:6;17063:89;;;;;;;;;;;;;;;;;:11;:19;17075:6;17063:19;;;;;;;;;;;;;;;:33;17083:12;:10;:12::i;:::-;17063:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17032:8;:121::i;:::-;17171:4;17164:11;;16862:321;;;;;:::o;15461:83::-;15502:5;15527:9;;;;;;;;;;;15520:16;;15461:83;:::o;17533:218::-;17621:4;17638:83;17647:12;:10;:12::i;:::-;17661:7;17670:50;17709:10;17670:11;:25;17682:12;:10;:12::i;:::-;17670:25;;;;;;;;;;;;;;;:34;17696:7;17670:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17638:8;:83::i;:::-;17739:4;17732:11;;17533:218;;;;:::o;19365:411::-;19404:18;19594:14;19612:9;19625;:7;:9::i;:::-;19593:41;;;;;19752:4;19758:9;19731:37;;;;;;;;19365:411;;;:::o;16012:119::-;16078:7;16105:9;:18;16115:7;16105:18;;;;;;;;;;;;;;;;16098:25;;16012:119;;;:::o;16486:193::-;16540:12;16577:3;16567:13;;16486:193;16619:13;16658:2;16647:13;;16486:193;:::o;19261:96::-;19301:4;19307;19313;19338:1;19341:4;19347:1;19330:19;;;;;;;;;;;;19261:96;;;:::o;17189:336::-;17270:8;17258:9;:20;17247:7;:31;17243:86;;;17293:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17243:86;17422:7;17410:9;:19;;;;;;17400:7;:29;17378:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17189:336;:::o;14460:87::-;14499:13;14532:7;14525:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14460:87;:::o;15550:346::-;15636:8;15624:9;:20;15611:10;:33;15607:88;;;15659:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15607:88;15792:8;15780:9;:20;;;;;;15766:10;:34;15744:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15550:346;:::o;17926:205::-;17982:11;18017:2;18008:11;;17926:205;18058:10;18091:1;18083:9;;17926:205;:::o;18137:269::-;18230:4;18247:129;18256:12;:10;:12::i;:::-;18270:7;18279:96;18318:15;18279:96;;;;;;;;;;;;;;;;;:11;:25;18291:12;:10;:12::i;:::-;18279:25;;;;;;;;;;;;;;;:34;18305:7;18279:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18247:8;:129::i;:::-;18394:4;18387:11;;18137:269;;;;:::o;16139:175::-;16225:4;16242:42;16252:12;:10;:12::i;:::-;16266:9;16277:6;16242:9;:42::i;:::-;16302:4;16295:11;;16139:175;;;;:::o;14811:272::-;14891:10;14881:7;;:20;;;;;;;;;;;;;;;;;;14912:13;14928:1;14912:17;;14944:7;14954:1;14944:11;;14940:135;14961:7;;;;;;;;;;;14957:11;;:1;:11;;;14940:135;;;15003:7;15013:1;15003:11;;14999:64;15020:7;;;;;;;;;;;15016:11;;:1;:11;;;14999:64;;;15029:3;;;;;;;14999:64;;;;14970:3;;;;;;;14940:135;;;;14811:272;;:::o;17757:155::-;17856:6;17842:20;;:10;:20;;;17839:66;;17874:6;:15;;:23;17890:6;17874:23;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17874:23:0;17839:66;17757:155;;:::o;16322:151::-;16411:7;16438:11;:18;16450:5;16438:18;;;;;;;;;;;;;;;:27;16457:7;16438:27;;;;;;;;;;;;;;;;16431:34;;16322:151;;;;:::o;60:106::-;113:15;148:10;141:17;;60:106;:::o;18901:346::-;19020:1;19003:19;;:5;:19;;;;18995:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19101:1;19082:21;;:7;:21;;;;19074:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19185:6;19155:11;:18;19167:5;19155:18;;;;;;;;;;;;;;;:27;19174:7;19155:27;;;;;;;;;;;;;;;:36;;;;19223:7;19207:32;;19216:5;19207:32;;;19232:6;19207:32;;;;;;;;;;;;;;;;;;18901:346;;;:::o;18414:479::-;18538:1;18520:20;;:6;:20;;;;18512:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18622:1;18601:23;;:9;:23;;;;18593:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18697;18719:6;18697:71;;;;;;;;;;;;;;;;;:9;:17;18707:6;18697:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;18677:9;:17;18687:6;18677:17;;;;;;;;;;;;;;;:91;;;;18802:32;18827:6;18802:9;:20;18812:9;18802:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;18779:9;:20;18789:9;18779:20;;;;;;;;;;;;;;;:55;;;;18867:9;18850:35;;18859:6;18850:35;;;18878:6;18850:35;;;;;;;;;;;;;;;;;;18414:479;;;:::o;779:192::-;865:7;898:1;893;:6;;901:12;885:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;885:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;925:9;941:1;937;:5;925:17;;962:1;955:8;;;779:192;;;;;:::o;446:181::-;504:7;524:9;540:1;536;:5;524:17;;565:1;560;:6;;552:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;618:1;611:8;;;446:181;;;;:::o;13722:6081::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;13722:6081:0;;;;:::o

Swarm Source

ipfs://0ffd5dd84fd4b7adff8378be6101d2429c55d4cfe02e7124e87039a3014a50e4
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.