Contract 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71

 

Txn Hash Method
Block
From
To
Value [Txn Fee]
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x0b44a6d23672745a11c2b46d529ac7353635d4b4c968baeafe332a8b42347d0f176364062022-07-14 16:45:55138 days 14 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710xac75a1a0c4933e6537eafb6af3d402f82a4593890 ETH
0x0b44a6d23672745a11c2b46d529ac7353635d4b4c968baeafe332a8b42347d0f176364062022-07-14 16:45:55138 days 14 hrs ago Treasure DAO: DAO Ecofund 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0x19f33beba5f76d4afd8ca4f6c3bb3d05e26b10e0f6d090c7be4a2b4d95fc6c6d175811162022-07-13 22:30:50139 days 9 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0x19f33beba5f76d4afd8ca4f6c3bb3d05e26b10e0f6d090c7be4a2b4d95fc6c6d175811162022-07-13 22:30:50139 days 9 hrs ago Treasure DAO: DAO Ecofund 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0xba308d8b838f760ac2f32299f833931305fa6a90f1b72434b0cf40c01b5069e4175810922022-07-13 22:30:14139 days 9 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710xb7e50106a5bd3cf21af210a755f9c8740890a8c90 ETH
0xba308d8b838f760ac2f32299f833931305fa6a90f1b72434b0cf40c01b5069e4175810922022-07-13 22:30:14139 days 9 hrs ago Treasure DAO: DAO Ecofund 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0x58eaa49105070b2df3b23985cded91e233253a7598cb51358cdba39f95e30839175229852022-07-13 4:09:39140 days 3 hrs ago Treasure DAO: DAO Ecofund 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0xed3ed25415436e4770a439f7266984269ad1ae43e77dc141577ded94e24add4a170318862022-07-05 6:37:15148 days 1 hr ago 0x4357ce2c5ef9f0d88ae3e560232decf4be3ae253 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0xed3ed25415436e4770a439f7266984269ad1ae43e77dc141577ded94e24add4a170318862022-07-05 6:37:15148 days 1 hr ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0xed3ed25415436e4770a439f7266984269ad1ae43e77dc141577ded94e24add4a170318862022-07-05 6:37:15148 days 1 hr ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0xed3ed25415436e4770a439f7266984269ad1ae43e77dc141577ded94e24add4a170318862022-07-05 6:37:15148 days 1 hr ago 0x4357ce2c5ef9f0d88ae3e560232decf4be3ae253 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0xed3ed25415436e4770a439f7266984269ad1ae43e77dc141577ded94e24add4a170318862022-07-05 6:37:15148 days 1 hr ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710xb7e50106a5bd3cf21af210a755f9c8740890a8c90 ETH
0xe19fcbded380a3e42b1f52f8f93878e88d3ce1fa3df703c820022eceec22063f169453282022-07-04 4:00:49149 days 3 hrs ago 0x4357ce2c5ef9f0d88ae3e560232decf4be3ae253 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0xe19fcbded380a3e42b1f52f8f93878e88d3ce1fa3df703c820022eceec22063f169453282022-07-04 4:00:49149 days 3 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0xe19fcbded380a3e42b1f52f8f93878e88d3ce1fa3df703c820022eceec22063f169453282022-07-04 4:00:49149 days 3 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0xe19fcbded380a3e42b1f52f8f93878e88d3ce1fa3df703c820022eceec22063f169453282022-07-04 4:00:49149 days 3 hrs ago 0x4357ce2c5ef9f0d88ae3e560232decf4be3ae253 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0xe19fcbded380a3e42b1f52f8f93878e88d3ce1fa3df703c820022eceec22063f169453282022-07-04 4:00:49149 days 3 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710xb7e50106a5bd3cf21af210a755f9c8740890a8c90 ETH
0x5dcfdf6daa9d2291833d7f2ea7165b173805462f4c00e128048bfa1ca23e8c02168524272022-07-02 22:34:37150 days 9 hrs ago 0x4357ce2c5ef9f0d88ae3e560232decf4be3ae253 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0x5dcfdf6daa9d2291833d7f2ea7165b173805462f4c00e128048bfa1ca23e8c02168524272022-07-02 22:34:37150 days 9 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0x5dcfdf6daa9d2291833d7f2ea7165b173805462f4c00e128048bfa1ca23e8c02168524272022-07-02 22:34:37150 days 9 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0x5dcfdf6daa9d2291833d7f2ea7165b173805462f4c00e128048bfa1ca23e8c02168524272022-07-02 22:34:37150 days 9 hrs ago 0x4357ce2c5ef9f0d88ae3e560232decf4be3ae253 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0x5dcfdf6daa9d2291833d7f2ea7165b173805462f4c00e128048bfa1ca23e8c02168524272022-07-02 22:34:37150 days 9 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710xb7e50106a5bd3cf21af210a755f9c8740890a8c90 ETH
0x005f33fabdc9442d03a0af570b25f84dc1825ef3a616b3be2d570e2064fa9bd1167747812022-07-02 2:49:58151 days 4 hrs ago 0x4357ce2c5ef9f0d88ae3e560232decf4be3ae253 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab710 ETH
0x005f33fabdc9442d03a0af570b25f84dc1825ef3a616b3be2d570e2064fa9bd1167747812022-07-02 2:49:58151 days 4 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
0x005f33fabdc9442d03a0af570b25f84dc1825ef3a616b3be2d570e2064fa9bd1167747812022-07-02 2:49:58151 days 4 hrs ago 0x78ab1f527d8a9758c6bba1adf812b5cfeaa7ab71Treasure DAO: Magic Token0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CustomTreasury

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan on 2022-03-11
*/

// File contracts/libraries/SafeMath.sol

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;


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) {
        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;
        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;
    }

    function sqrrt(uint256 a) internal pure returns (uint c) {
        if (a > 3) {
            c = a;
            uint b = add( div( a, 2), 1 );
            while (b < c) {
                c = b;
                b = div( add( div( a, b ), b), 2 );
            }
        } else if (a != 0) {
            c = 1;
        }
    }
}


// File contracts/libraries/Address.sol

pragma solidity 0.7.5;


library Address {

    function isContract(address account) internal view returns (bool) {

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    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");
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, 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);
            }
        }
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }

    function addressToString(address _address) internal pure returns(string memory) {
        bytes32 _bytes = bytes32(uint256(_address));
        bytes memory HEX = "0123456789abcdef";
        bytes memory _addr = new bytes(42);

        _addr[0] = '0';
        _addr[1] = 'x';

        for(uint256 i = 0; i < 20; i++) {
            _addr[2+i*2] = HEX[uint8(_bytes[i + 12] >> 4)];
            _addr[3+i*2] = HEX[uint8(_bytes[i + 12] & 0x0f)];
        }

        return string(_addr);

    }
}


// File contracts/interfaces/IERC20.sol

pragma solidity 0.7.5;

interface IERC20 {
    function decimals() external view returns (uint8);

    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);
}


// File contracts/libraries/SafeERC20.sol


pragma solidity 0.7.5;


library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint256 value) internal {

        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
        _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function _callOptionalReturn(IERC20 token, bytes memory data) private {

        bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}


// File contracts/types/Ownable.sol


pragma solidity 0.7.5;

contract Ownable {

    address public policy;

    constructor () {
        policy = msg.sender;
    }

    modifier onlyPolicy() {
        require( policy == msg.sender, "Ownable: caller is not the owner" );
        _;
    }
    
    function transferManagment(address _newOwner) external onlyPolicy() {
        require( _newOwner != address(0) );
        policy = _newOwner;
    }
}


// File contracts/OlympusProCustomTreasury.sol

pragma solidity 0.7.5;


contract CustomTreasury is Ownable {
    
    /* ======== DEPENDENCIES ======== */
    
    using SafeERC20 for IERC20;
    using SafeMath for uint;
    
    
    /* ======== STATE VARIABLS ======== */
    
    address public immutable payoutToken;

    mapping(address => bool) public bondContract; 
    
    /* ======== EVENTS ======== */

    event BondContractWhitelisted(address bondContract);
    event BondContractDewhitelisted(address bondContract);
    event Withdraw(address token, address destination, uint amount);
    
    /* ======== CONSTRUCTOR ======== */

    constructor(address _payoutToken, address _initialOwner) {
        require( _payoutToken != address(0) );
        payoutToken = _payoutToken;
        require( _initialOwner != address(0) );
        policy = _initialOwner;
    }

    /* ======== BOND CONTRACT FUNCTION ======== */

    /**
     *  @notice bond contract recieves payout tokens
     *  @param _amountPayoutToken uint
     */
    function sendPayoutTokens(uint _amountPayoutToken) external {
        require(bondContract[msg.sender], "msg.sender is not a bond contract");
        IERC20(payoutToken).safeTransfer(msg.sender, _amountPayoutToken);
    }

    /* ======== VIEW FUNCTION ======== */
    
    /**
    *   @notice returns payout token valuation of priciple
    *   @param _principalTokenAddress address
    *   @param _amount uint
    *   @return value_ uint
     */
    function valueOfToken( address _principalTokenAddress, uint _amount ) public view returns ( uint value_ ) {
        // convert amount to match payout token decimals
        value_ = _amount.mul( 10 ** IERC20( payoutToken ).decimals() ).div( 10 ** IERC20( _principalTokenAddress ).decimals() );
    }


    /* ======== POLICY FUNCTIONS ======== */

    /**
     *  @notice policy can withdraw ERC20 token to desired address
     *  @param _token uint
     *  @param _destination address
     *  @param _amount uint
     */
    function withdraw(address _token, address _destination, uint _amount) external onlyPolicy() {
        IERC20(_token).safeTransfer(_destination, _amount);
        emit Withdraw(_token, _destination, _amount);
    }

    /**
        @notice whitelist bond contract
        @param _bondContract address
     */
    function whitelistBondContract(address _bondContract) external onlyPolicy() {
        bondContract[_bondContract] = true;
        emit BondContractWhitelisted(_bondContract);
    }

    /**
        @notice dewhitelist bond contract
        @param _bondContract address
     */
    function dewhitelistBondContract(address _bondContract) external onlyPolicy() {
        bondContract[_bondContract] = false;
        emit BondContractDewhitelisted(_bondContract);
    }
    
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_payoutToken","type":"address"},{"internalType":"address","name":"_initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"bondContract","type":"address"}],"name":"BondContractDewhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"bondContract","type":"address"}],"name":"BondContractWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bondContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bondContract","type":"address"}],"name":"dewhitelistBondContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"payoutToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"policy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountPayoutToken","type":"uint256"}],"name":"sendPayoutTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferManagment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_principalTokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"valueOfToken","outputs":[{"internalType":"uint256","name":"value_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bondContract","type":"address"}],"name":"whitelistBondContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_destination","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a060405234801561001057600080fd5b506040516112e63803806112e68339818101604052604081101561003357600080fd5b810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156100c857600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561013957600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505060805160601c6111446101a2600039806103f1528061070052806107b352506111446000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80633bfdd7de116100665780633bfdd7de146101985780634efa82b6146101dc578063d1b317e514610210578063d9caed1214610272578063da2d9740146102e057610093565b80630505c8c9146100985780630b04f918146100cc5780631a32666c146100fa57806324705db31461013e575b600080fd5b6100a0610324565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100f8600480360360208110156100e257600080fd5b8101908080359060200190929190505050610348565b005b61013c6004803603602081101561011057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610438565b005b6101806004803603602081101561015457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a0565b60405180821515815260200191505060405180910390f35b6101da600480360360208110156101ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105c0565b005b6101e46106fe565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025c6004803603604081101561022657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610722565b6040518082815260200191505060405180910390f35b6102de6004803603606081101561028857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061087d565b005b610322600480360360208110156102f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109e1565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166103ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806110c46021913960400191505060405180910390fd5b61043533827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b4a9092919063ffffffff16565b50565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff77a8f6961cd2a6c1a5c09f5871f9afa593a9be371e6d5db1c49c3c846f27c8e81604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60016020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610681576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106bb57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006108758373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561076d57600080fd5b505afa158015610781573d6000803e3d6000fd5b505050506040513d602081101561079757600080fd5b810190808051906020019092919050505060ff16600a0a6108677f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561081757600080fd5b505afa15801561082b573d6000803e3d6000fd5b505050506040513d602081101561084157600080fd5b810190808051906020019092919050505060ff16600a0a85610bec90919063ffffffff16565b610c7290919063ffffffff16565b905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61096982828573ffffffffffffffffffffffffffffffffffffffff16610b4a9092919063ffffffff16565b7f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb838383604051808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc70d1cccd20b1240aa868d1187dc4831d94c6a1e04ceb1875b061c53a24482e81604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b610be78363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610cbc565b505050565b600080831415610bff5760009050610c6c565b6000828402905082848281610c1057fe5b0414610c67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806110a36021913960400191505060405180910390fd5b809150505b92915050565b6000610cb483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610dab565b905092915050565b6060610d1e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610e719092919063ffffffff16565b9050600081511115610da657808060200190516020811015610d3f57600080fd5b8101908080519060200190929190505050610da5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806110e5602a913960400191505060405180910390fd5b5b505050565b60008083118290610e57576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e1c578082015181840152602081019050610e01565b50505050905090810190601f168015610e495780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610e6357fe5b049050809150509392505050565b6060610e808484600085610e89565b90509392505050565b6060610e948561108f565b610f06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310610f565780518252602082019150602081019050602083039250610f33565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610fb8576040519150601f19603f3d011682016040523d82523d6000602084013e610fbd565b606091505b50915091508115610fd2578092505050611087565b600081511115610fe55780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561104c578082015181840152602081019050611031565b50505050905090810190601f1680156110795780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b949350505050565b600080823b90506000811191505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776d73672e73656e646572206973206e6f74206120626f6e6420636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212202c7b9e2955f39841c38d5f0e2e9272386cdaf20b0184e60e99c1003ec7ea962664736f6c63430007050033000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342000000000000000000000000482729215aaf99b3199e41125865821ed5a4978a

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

000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342000000000000000000000000482729215AAF99B3199E41125865821ed5A4978a

-----Decoded View---------------
Arg [0] : _payoutToken (address): 0x539bde0d7dbd336b79148aa742883198bbf60342
Arg [1] : _initialOwner (address): 0x482729215aaf99b3199e41125865821ed5a4978a

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000539bde0d7dbd336b79148aa742883198bbf60342
Arg [1] : 000000000000000000000000482729215AAF99B3199E41125865821ed5A4978a


Deployed ByteCode Sourcemap

10483:2817:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10023:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11488:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12813:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10749:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10246:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10704:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11952:302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12492:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13103:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10023:21;;;;;;;;;;;;:::o;11488:224::-;11567:12;:24;11580:10;11567:24;;;;;;;;;;;;;;;;;;;;;;;;;11559:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11640:64;11673:10;11685:18;11647:11;11640:32;;;;:64;;;;;:::i;:::-;11488:224;:::o;12813:183::-;10166:10;10156:20;;:6;;;;;;;;;;:20;;;10147:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12930:4:::1;12900:12:::0;:27:::1;12913:13;12900:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12950:38;12974:13;12950:38;;;;;;;;;;;;;;;;;;;;12813:183:::0;:::o;10749:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;10246:150::-;10166:10;10156:20;;:6;;;;;;;;;;:20;;;10147:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10355:1:::1;10334:23;;:9;:23;;;;10325:34;;;::::0;::::1;;10379:9;10370:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;10246:150:::0;:::o;10704:36::-;;;:::o;11952:302::-;12044:11;12136:110;12209:22;12201:41;;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12195:49;;:2;:49;12136:53;12163:11;12155:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12149:38;;:2;:38;12136:7;:11;;:53;;;;:::i;:::-;:57;;:110;;;;:::i;:::-;12127:119;;11952:302;;;;:::o;12492:216::-;10166:10;10156:20;;:6;;;;;;;;;;:20;;;10147:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12595:50:::1;12623:12;12637:7;12602:6;12595:27;;;;:50;;;;;:::i;:::-;12661:39;12670:6;12678:12;12692:7;12661:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12492:216:::0;;;:::o;13103:188::-;10166:10;10156:20;;:6;;;;;;;;;;:20;;;10147:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13222:5:::1;13192:12;:27;13205:13;13192:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13243:40;13269:13;13243:40;;;;;;;;;;;;;;;;;;;;13103:188:::0;:::o;8112:177::-;8195:86;8215:5;8245:23;;;8270:2;8274:5;8222:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8195:19;:86::i;:::-;8112:177;;;:::o;678:250::-;736:7;765:1;760;:6;756:47;;;790:1;783:8;;;;756:47;815:9;831:1;827;:5;815:17;;860:1;855;851;:5;;;;;;:10;843:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;919:1;912:8;;;678:250;;;;;:::o;936:132::-;994:7;1021:39;1025:1;1028;1021:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1014:46;;936:132;;;;:::o;9501:420::-;9584:23;9610:69;9638:4;9610:69;;;;;;;;;;;;;;;;;9618:5;9610:27;;;;:69;;;;;:::i;:::-;9584:95;;9714:1;9694:10;:17;:21;9690:224;;;9836:10;9825:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9817:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9690:224;9501:420;;;:::o;1076:189::-;1162:7;1194:1;1190;:5;1197:12;1182:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1221:9;1237:1;1233;:5;;;;;;1221:17;;1256:1;1249:8;;;1076:189;;;;;:::o;2850:196::-;2953:12;2985:53;3008:6;3016:4;3022:1;3025:12;2985:22;:53::i;:::-;2978:60;;2850:196;;;;;:::o;3826:979::-;3956:12;3989:18;4000:6;3989:10;:18::i;:::-;3981:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4115:12;4129:23;4156:6;:11;;4176:8;4187:4;4156:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4114:78;;;;4207:7;4203:595;;;4238:10;4231:17;;;;;;4203:595;4372:1;4352:10;:17;:21;4348:439;;;4615:10;4609:17;4676:15;4663:10;4659:2;4655:19;4648:44;4563:148;4758:12;4751:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3826:979;;;;;;;:::o;2023:233::-;2083:4;2102:12;2213:7;2201:20;2193:28;;2247:1;2240:4;:8;2233:15;;;2023:233;;;:::o

Metadata Hash

2c7b9e2955f39841c38d5f0e2e9272386cdaf20b0184e60e99c1003ec7ea9626
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.