S Price: $0.510321 (+5.37%)

Contract

0xb936b8fAF18Db376566d4E3A982E7F4B8982E300

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Ez Mint173541742025-04-01 0:25:0113 hrs ago1743467101IN
0xb936b8fA...B8982E300
0 S0.025970250.50005
Ez Mint173057442025-03-31 19:17:0218 hrs ago1743448622IN
0xb936b8fA...B8982E300
0 S0.0215912450.0001
Ez Mint172760462025-03-31 16:04:4121 hrs ago1743437081IN
0xb936b8fA...B8982E300
0 S0.02563850
Ez Mint172737202025-03-31 15:51:2221 hrs ago1743436282IN
0xb936b8fA...B8982E300
0 S0.0245276955.02
Ez Mint170337142025-03-30 15:14:3746 hrs ago1743347677IN
0xb936b8fA...B8982E300
0 S0.0214639950.0001
Ez Mint167550602025-03-29 9:24:313 days ago1743240271IN
0xb936b8fA...B8982E300
0 S0.0221632450.0001
Ez Mint167354412025-03-29 7:12:173 days ago1743232337IN
0xb936b8fA...B8982E300
0 S0.025772450
Ez Mint167118652025-03-29 4:26:293 days ago1743222389IN
0xb936b8fA...B8982E300
0 S0.0213366950.0001
Ez Mint166577462025-03-28 22:24:083 days ago1743200648IN
0xb936b8fA...B8982E300
0 S0.0250189855.01
Ez Mint165384992025-03-28 10:10:094 days ago1743156609IN
0xb936b8fA...B8982E300
0 S0.0215265450.0001
Ez Mint164549822025-03-28 0:56:064 days ago1743123366IN
0xb936b8fA...B8982E300
0 S0.0257368655.01
Ez Mint164336892025-03-27 22:34:144 days ago1743114854IN
0xb936b8fA...B8982E300
0 S0.0214639950.0001
Ez Mint163633332025-03-27 15:35:414 days ago1743089741IN
0xb936b8fA...B8982E300
0 S0.0246505655
Ez Mint162712832025-03-27 6:17:275 days ago1743056247IN
0xb936b8fA...B8982E300
0 S0.0215265450.0001
Ez Mint162015062025-03-26 23:26:325 days ago1743031592IN
0xb936b8fA...B8982E300
0 S0.0260002550
Ez Mint161869512025-03-26 22:01:265 days ago1743026486IN
0xb936b8fA...B8982E300
0 S0.0222752450.0001
Ez Mint161424722025-03-26 17:48:045 days ago1743011284IN
0xb936b8fA...B8982E300
0 S0.0213519950.0001
Ez Mint160679382025-03-26 10:32:426 days ago1742985162IN
0xb936b8fA...B8982E300
0 S0.0338636656.20600395
Ez Mint160672472025-03-26 10:28:266 days ago1742984906IN
0xb936b8fA...B8982E300
0 S0.0292854550
Ez Mint160346522025-03-26 6:47:556 days ago1742971675IN
0xb936b8fA...B8982E300
0 S0.0294801655
Ez Mint160096852025-03-26 3:40:266 days ago1742960426IN
0xb936b8fA...B8982E300
0 S0.0306707160.5
Ez Mint159773252025-03-25 23:59:446 days ago1742947184IN
0xb936b8fA...B8982E300
0 S0.0288272550
Ez Mint159751542025-03-25 23:44:056 days ago1742946245IN
0xb936b8fA...B8982E300
0 S0.0499394984.65670127
Ez Mint159731522025-03-25 23:30:086 days ago1742945408IN
0xb936b8fA...B8982E300
0 S0.029342650.0001
Ez Mint159730972025-03-25 23:29:466 days ago1742945386IN
0xb936b8fA...B8982E300
0 S0.0258474550
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BerpGod

Compiler Version
v0.8.29+commit.ab55807c

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2025-03-24
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}
interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
interface IERC1155 is IERC165 {
    event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);
    event TransferBatch(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256[] ids,
        uint256[] values
    );

    event ApprovalForAll(address indexed account, address indexed operator, bool approved);

    event URI(string value, uint256 indexed id);

    function balanceOf(address account, uint256 id) external view returns (uint256);
    function balanceOfBatch(
        address[] calldata accounts,
        uint256[] calldata ids
    ) external view returns (uint256[] memory);

    function setApprovalForAll(address operator, bool approved) external;
    function isApprovedForAll(address account, address operator) external view returns (bool);
    function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external;
    function safeBatchTransferFrom(
        address from,
        address to,
        uint256[] calldata ids,
        uint256[] calldata amounts,
        bytes calldata data
    ) external;
}


interface IERC1155Receiver is IERC165 {

    function onERC1155Received(
        address operator,
        address from,
        uint256 id,
        uint256 value,
        bytes calldata data
    ) external returns (bytes4);
    function onERC1155BatchReceived(
        address operator,
        address from,
        uint256[] calldata ids,
        uint256[] calldata values,
        bytes calldata data
    ) external returns (bytes4);
}


interface IERC1155MetadataURI is IERC1155 {
  
    function uri(uint256 id) external view returns (string memory);
}

pragma solidity ^0.8.1;

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

        return account.code.length > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (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 functionCallWithValue(target, data, 0, "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");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata, 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) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, 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) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        // 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
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}


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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract ERC165 is IERC165 {
    /**
     * @dev See {IERC165-supportsInterface}.
     */
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}

interface IERC721 is IERC165 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function approve(address to, uint256 tokenId) external;

    function getApproved(uint256 tokenId) external view returns (address operator);


    function setApprovalForAll(address operator, bool _approved) external;


    function isApprovedForAll(address owner, address operator) external view returns (bool);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
}
interface INFT is IERC721 {
    /**
     * @dev Returns the total amount of tokens stored by the contract.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns a token ID owned by `owner` at a given `index` of its token list.
     * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.
     */
    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);

    /**
     * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.
     * Use along with {totalSupply} to enumerate all tokens.
     */
    function tokenByIndex(uint256 index) external view returns (uint256);
}


interface ITheBerps is INFT {
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
    function totalSupply() external view returns (uint256);
}

interface ISnacks is IERC1155 {
    function mintSnack(uint256 id, uint256 amount) external;
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


abstract contract ERC1155Holder is ERC165, IERC1155Receiver {
    /**
     * @dev See {IERC165-supportsInterface}.
     */
    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
        return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);
    }

    function onERC1155Received(
        address,
        address,
        uint256,
        uint256,
        bytes memory
    ) public virtual override returns (bytes4) {
        return this.onERC1155Received.selector;
    }

    function onERC1155BatchReceived(
        address,
        address,
        uint256[] memory,
        uint256[] memory,
        bytes memory
    ) public virtual override returns (bytes4) {
        return this.onERC1155BatchReceived.selector;
    }
}



interface IFeeder {
    function feedDerp(
        uint256 snackId, 
        uint256 amount, 
        uint256 derpId
    ) external;
    
    function feedDerpBatch(
        uint256[] memory snackIds,
        uint256[] memory amounts,
        uint256 derpId
    ) external;
    
    function setHungerScore(uint256 snackId, uint256 score) external;
    function setCooldown(uint256 newCooldown) external;
    function toggleFeeding() external;
    
    function hungerScore(uint256 snackId) external view returns (uint256);
    function hungerLevel(uint256 derpId) external view returns (uint256);
    function lastBerpTimestamp(uint256 derpId) external view returns (uint256);
    function cooldown() external view returns (uint256);
    function isLive() external view returns (bool);
    
    // These are from your contract's inheritance
    function owner() external view returns (address);
    function transferOwnership(address newOwner) external;
    function renounceOwnership() external;
    
    // ERC1155Receiver functions
    function onERC1155Received(
        address operator,
        address from,
        uint256 id,
        uint256 value,
        bytes calldata data
    ) external returns (bytes4);
    
    function onERC1155BatchReceived(
        address operator,
        address from,
        uint256[] calldata ids,
        uint256[] calldata values,
        bytes calldata data
    ) external returns (bytes4);
}

interface IDerp {
    function transfer(address to, uint256 amount) external;
    function transferFrom(address from, address to, uint256 amount) external;
    function balanceOf(address sender) external view returns (uint256);
    function approve(address spender, uint256 amount) external;
}

contract BerpGod is Ownable, ERC1155Holder, ReentrancyGuard {
	IFeeder public feeder;
	ITheBerps public berps;
    INFT public derps;
    ISnacks public snacks;
    IDerp public derp;
    uint256 id = 4;
    uint256 amt = 16;
    uint256[] ids;
    uint256[] amts;
    

    constructor(
    	address _berps, 
    	address _derps, 
    	address _snacks,
    	address _feeder,
    	address _derp
    	) {
        berps = ITheBerps(_berps);
        derps = INFT(_derps);
        snacks = ISnacks(_snacks);
        feeder = IFeeder(_feeder);
        derp = IDerp(_derp);
        ids.push(id);
        amts.push(amt);
    }

    function _nextAvailableDerp() internal view returns (uint256) {
    	uint256 t;
    	uint256 cooldown = feeder.cooldown();
    	uint256 tNow = block.timestamp;
    	for (uint256 derpId = 1; derpId <= 2000; derpId++) {
    		t = feeder.lastBerpTimestamp(derpId);
    		if (t + cooldown <= tNow) return derpId;
    	}
        return 0;	
    }

    function _purchaseSnacks() internal {
    	snacks.mintSnack(4,16); // purchase 16 colas
    }

    function nextAvailableDerp() public view returns (uint256) {
        return _nextAvailableDerp();
    }
    function checkDerpStatus(uint256 derpId) public view returns (
        uint256 hunger,
        uint256 lastFed,
        uint256 cooldownEnd,
        bool canFeed
    ) {
        hunger = feeder.hungerLevel(derpId);
        lastFed = feeder.lastBerpTimestamp(derpId);
        cooldownEnd = lastFed + feeder.cooldown();
        canFeed = (block.timestamp >= cooldownEnd);
    }
    function getHungerScore(uint256 snackId) public view returns (uint256) {
        return feeder.hungerScore(snackId);
    }
    
    function ezMint() public nonReentrant {
        require(derp.balanceOf(msg.sender) >= 3200e18, "Need 3200 DERP");
        
        // Transfer and approve DERP
        derp.transferFrom(msg.sender, address(this), 3200e18);
        derp.approve(address(snacks), 3200e18);
        
        // Mint snacks
        snacks.mintSnack(4, 16);
        
        // Find available derp
        uint256 derpId = _nextAvailableDerp();
        require(derpId > 0, "No available Derps");
        
        // Check pre-feed status
        (,,, bool canFeed) = checkDerpStatus(derpId);
        require(canFeed, "Derp not ready to be fed");
        
        // Approve and feed
        snacks.setApprovalForAll(address(feeder), true);
       
        feeder.feedDerpBatch(ids, amts, derpId);
        
        // Check post-feed status
        (uint256 postHunger,,,) = checkDerpStatus(derpId);
        require(postHunger == 0, "Hunger not reduced to zero");
        
        // Verify Berp minted
        uint256 newBerpId = berps.totalSupply();
        require(berps.ownerOf(newBerpId) == address(this), "Berp not minted to contract");
        
        // Transfer to sender
        berps.safeTransferFrom(address(this), msg.sender, newBerpId);
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_berps","type":"address"},{"internalType":"address","name":"_derps","type":"address"},{"internalType":"address","name":"_snacks","type":"address"},{"internalType":"address","name":"_feeder","type":"address"},{"internalType":"address","name":"_derp","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"berps","outputs":[{"internalType":"contract ITheBerps","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"derpId","type":"uint256"}],"name":"checkDerpStatus","outputs":[{"internalType":"uint256","name":"hunger","type":"uint256"},{"internalType":"uint256","name":"lastFed","type":"uint256"},{"internalType":"uint256","name":"cooldownEnd","type":"uint256"},{"internalType":"bool","name":"canFeed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"derp","outputs":[{"internalType":"contract IDerp","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"derps","outputs":[{"internalType":"contract INFT","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ezMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeder","outputs":[{"internalType":"contract IFeeder","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"snackId","type":"uint256"}],"name":"getHungerScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextAvailableDerp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snacks","outputs":[{"internalType":"contract ISnacks","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260046007556010600855348015610019575f5ffd5b506040516117ee3803806117ee83398101604081905261003891610176565b6100413361010c565b6001808055600380546001600160a01b03199081166001600160a01b0398891617909155600480548216968816969096179095556005805486169487169490941790935560028054851692861692909217909155600680549093169316929092179055600754600980548084019091557f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155600854600a805492830181555f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8909101556101d7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114610171575f5ffd5b919050565b5f5f5f5f5f60a0868803121561018a575f5ffd5b6101938661015b565b94506101a16020870161015b565b93506101af6040870161015b565b92506101bd6060870161015b565b91506101cb6080870161015b565b90509295509295909350565b61160a806101e45f395ff3fe608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c806385652c6011610093578063bc197c8111610063578063bc197c811461025b578063eb26ea68146102c4578063f23a6e61146102d7578063f2fde38b1461030f575f5ffd5b806385652c60146101f65780638da5cb5b14610216578063a5d9137214610233578063a788a7161461023b575f5ffd5b806320ffaedc116100ce57806320ffaedc1461018157806336555a34146101b6578063715018a6146101d65780637eb2976e146101e0575f5ffd5b806301ffc9a7146100f45780630244234f1461011c57806318ae135214610161575b5f5ffd5b61010761010236600461118f565b610322565b60405190151581526020015b60405180910390f35b60055461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b60065461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b61019461018f3660046111d5565b6103ba565b6040805194855260208501939093529183015215156060820152608001610113565b60045461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b6101de61058e565b005b6101e861061e565b604051908152602001610113565b60035461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b5f5473ffffffffffffffffffffffffffffffffffffffff1661013c565b6101de61062c565b60025461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b610293610269366004611393565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610113565b6101e86102d23660046111d5565b610df4565b6102936102e5366004611446565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6101de61031d36600461149e565b610e85565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e00000000000000000000000000000000000000000000000000000000014806103b457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6002546040517f139de2a5000000000000000000000000000000000000000000000000000000008152600481018390525f9182918291829173ffffffffffffffffffffffffffffffffffffffff9091169063139de2a590602401602060405180830381865afa15801561042f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045391906114b9565b6002546040517ff61d315c0000000000000000000000000000000000000000000000000000000081526004810188905291955073ffffffffffffffffffffffffffffffffffffffff169063f61d315c90602401602060405180830381865afa1580156104c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e591906114b9565b925060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663787a08a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610551573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057591906114b9565b61057f90846114fd565b91508142101590509193509193565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61061c5f610fb4565b565b5f610627611028565b905090565b600260015403610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060a565b60026001556006546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015268ad78ebc5ac620000009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610712573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073691906114b9565b101561079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e65656420333230302044455250000000000000000000000000000000000000604482015260640161060a565b6006546040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015268ad78ebc5ac62000000604482015273ffffffffffffffffffffffffffffffffffffffff909116906323b872dd906064015f604051808303815f87803b15801561081b575f5ffd5b505af115801561082d573d5f5f3e3d5ffd5b50506006546005546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015268ad78ebc5ac6200000060248201529116925063095ea7b391506044015f604051808303815f87803b1580156108ac575f5ffd5b505af11580156108be573d5f5f3e3d5ffd5b50506005546040517fe2628edd0000000000000000000000000000000000000000000000000000000081526004808201526010602482015273ffffffffffffffffffffffffffffffffffffffff909116925063e2628edd91506044015f604051808303815f87803b158015610931575f5ffd5b505af1158015610943573d5f5f3e3d5ffd5b505050505f610950611028565b90505f81116109bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f20617661696c61626c652044657270730000000000000000000000000000604482015260640161060a565b5f6109c5826103ba565b935050505080610a31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f44657270206e6f7420726561647920746f206265206665640000000000000000604482015260640161060a565b6005546002546040517fa22cb46500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526001602482015291169063a22cb465906044015f604051808303815f87803b158015610aa4575f5ffd5b505af1158015610ab6573d5f5f3e3d5ffd5b50506002546040517fe392ea7400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063e392ea749150610b1690600990600a90879060040161154d565b5f604051808303815f87803b158015610b2d575f5ffd5b505af1158015610b3f573d5f5f3e3d5ffd5b505050505f610b4d836103ba565b5050509050805f14610bbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f48756e676572206e6f74207265647563656420746f207a65726f000000000000604482015260640161060a565b600354604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916318160ddd9160048083019260209291908290030181865afa158015610c28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c91906114b9565b6003546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101839052919250309173ffffffffffffffffffffffffffffffffffffffff90911690636352211e90602401602060405180830381865afa158015610cbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce29190611582565b73ffffffffffffffffffffffffffffffffffffffff1614610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f42657270206e6f74206d696e74656420746f20636f6e74726163740000000000604482015260640161060a565b6003546040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810183905273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e906064015f604051808303815f87803b158015610dd4575f5ffd5b505af1158015610de6573d5f5f3e3d5ffd5b505060018055505050505050565b6002546040517f88c71c2d000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff16906388c71c2d90602401602060405180830381865afa158015610e61573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b491906114b9565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161060a565b73ffffffffffffffffffffffffffffffffffffffff8116610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161060a565b610fb181610fb4565b50565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663787a08a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611095573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b991906114b9565b90504260015b6107d08111611185576002546040517ff61d315c0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff9091169063f61d315c90602401602060405180830381865afa158015611135573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115991906114b9565b93508161116684866114fd565b1161117357949350505050565b8061117d8161159d565b9150506110bf565b505f935050505090565b5f6020828403121561119f575f5ffd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146111ce575f5ffd5b9392505050565b5f602082840312156111e5575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fb1575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156112815761128161120d565b604052919050565b5f82601f830112611298575f5ffd5b813567ffffffffffffffff8111156112b2576112b261120d565b8060051b6112c26020820161123a565b918252602081850181019290810190868411156112dd575f5ffd5b6020860192505b838310156112ff5782358252602092830192909101906112e4565b9695505050505050565b5f82601f830112611318575f5ffd5b813567ffffffffffffffff8111156113325761133261120d565b61136360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161123a565b818152846020838601011115611377575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a086880312156113a7575f5ffd5b85356113b2816111ec565b945060208601356113c2816111ec565b9350604086013567ffffffffffffffff8111156113dd575f5ffd5b6113e988828901611289565b935050606086013567ffffffffffffffff811115611405575f5ffd5b61141188828901611289565b925050608086013567ffffffffffffffff81111561142d575f5ffd5b61143988828901611309565b9150509295509295909350565b5f5f5f5f5f60a0868803121561145a575f5ffd5b8535611465816111ec565b94506020860135611475816111ec565b93506040860135925060608601359150608086013567ffffffffffffffff81111561142d575f5ffd5b5f602082840312156114ae575f5ffd5b81356111ce816111ec565b5f602082840312156114c9575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156103b4576103b46114d0565b5f8154808452602084019350825f5260205f205f5b82811015611543578154865260209095019460019182019101611525565b5093949350505050565b606081525f61155f6060830186611510565b82810360208401526115718186611510565b915050826040830152949350505050565b5f60208284031215611592575f5ffd5b81516111ce816111ec565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036115cd576115cd6114d0565b506001019056fea26469706673582212201019c462765e72a95dfd0e484f3d9992a101d453474e082630ec9307f4a67c6b64736f6c634300081d00330000000000000000000000000f5b1efc0a1a08be0af0058e6b502eb5906e18be0000000000000000000000008500d84b203775fc8b418148223872b35c43b050000000000000000000000000fd20ebeb1c991983b056f1a6add5f3dea3cd52e8000000000000000000000000d4eca1393eba4e344cd0b90e1ea93b528c5d5dc9000000000000000000000000e920d1da9a4d59126dc35996ea242d60efca1304

Deployed Bytecode

0x608060405234801561000f575f5ffd5b50600436106100f0575f3560e01c806385652c6011610093578063bc197c8111610063578063bc197c811461025b578063eb26ea68146102c4578063f23a6e61146102d7578063f2fde38b1461030f575f5ffd5b806385652c60146101f65780638da5cb5b14610216578063a5d9137214610233578063a788a7161461023b575f5ffd5b806320ffaedc116100ce57806320ffaedc1461018157806336555a34146101b6578063715018a6146101d65780637eb2976e146101e0575f5ffd5b806301ffc9a7146100f45780630244234f1461011c57806318ae135214610161575b5f5ffd5b61010761010236600461118f565b610322565b60405190151581526020015b60405180910390f35b60055461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b60065461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b61019461018f3660046111d5565b6103ba565b6040805194855260208501939093529183015215156060820152608001610113565b60045461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b6101de61058e565b005b6101e861061e565b604051908152602001610113565b60035461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b5f5473ffffffffffffffffffffffffffffffffffffffff1661013c565b6101de61062c565b60025461013c9073ffffffffffffffffffffffffffffffffffffffff1681565b610293610269366004611393565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610113565b6101e86102d23660046111d5565b610df4565b6102936102e5366004611446565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b6101de61031d36600461149e565b610e85565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e00000000000000000000000000000000000000000000000000000000014806103b457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6002546040517f139de2a5000000000000000000000000000000000000000000000000000000008152600481018390525f9182918291829173ffffffffffffffffffffffffffffffffffffffff9091169063139de2a590602401602060405180830381865afa15801561042f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045391906114b9565b6002546040517ff61d315c0000000000000000000000000000000000000000000000000000000081526004810188905291955073ffffffffffffffffffffffffffffffffffffffff169063f61d315c90602401602060405180830381865afa1580156104c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e591906114b9565b925060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663787a08a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610551573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057591906114b9565b61057f90846114fd565b91508142101590509193509193565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61061c5f610fb4565b565b5f610627611028565b905090565b600260015403610698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060a565b60026001556006546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015268ad78ebc5ac620000009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610712573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073691906114b9565b101561079e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e65656420333230302044455250000000000000000000000000000000000000604482015260640161060a565b6006546040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015268ad78ebc5ac62000000604482015273ffffffffffffffffffffffffffffffffffffffff909116906323b872dd906064015f604051808303815f87803b15801561081b575f5ffd5b505af115801561082d573d5f5f3e3d5ffd5b50506006546005546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015268ad78ebc5ac6200000060248201529116925063095ea7b391506044015f604051808303815f87803b1580156108ac575f5ffd5b505af11580156108be573d5f5f3e3d5ffd5b50506005546040517fe2628edd0000000000000000000000000000000000000000000000000000000081526004808201526010602482015273ffffffffffffffffffffffffffffffffffffffff909116925063e2628edd91506044015f604051808303815f87803b158015610931575f5ffd5b505af1158015610943573d5f5f3e3d5ffd5b505050505f610950611028565b90505f81116109bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f20617661696c61626c652044657270730000000000000000000000000000604482015260640161060a565b5f6109c5826103ba565b935050505080610a31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f44657270206e6f7420726561647920746f206265206665640000000000000000604482015260640161060a565b6005546002546040517fa22cb46500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526001602482015291169063a22cb465906044015f604051808303815f87803b158015610aa4575f5ffd5b505af1158015610ab6573d5f5f3e3d5ffd5b50506002546040517fe392ea7400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063e392ea749150610b1690600990600a90879060040161154d565b5f604051808303815f87803b158015610b2d575f5ffd5b505af1158015610b3f573d5f5f3e3d5ffd5b505050505f610b4d836103ba565b5050509050805f14610bbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f48756e676572206e6f74207265647563656420746f207a65726f000000000000604482015260640161060a565b600354604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916318160ddd9160048083019260209291908290030181865afa158015610c28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c91906114b9565b6003546040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101839052919250309173ffffffffffffffffffffffffffffffffffffffff90911690636352211e90602401602060405180830381865afa158015610cbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce29190611582565b73ffffffffffffffffffffffffffffffffffffffff1614610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f42657270206e6f74206d696e74656420746f20636f6e74726163740000000000604482015260640161060a565b6003546040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810183905273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e906064015f604051808303815f87803b158015610dd4575f5ffd5b505af1158015610de6573d5f5f3e3d5ffd5b505060018055505050505050565b6002546040517f88c71c2d000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff16906388c71c2d90602401602060405180830381865afa158015610e61573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b491906114b9565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161060a565b73ffffffffffffffffffffffffffffffffffffffff8116610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161060a565b610fb181610fb4565b50565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663787a08a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015611095573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110b991906114b9565b90504260015b6107d08111611185576002546040517ff61d315c0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff9091169063f61d315c90602401602060405180830381865afa158015611135573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115991906114b9565b93508161116684866114fd565b1161117357949350505050565b8061117d8161159d565b9150506110bf565b505f935050505090565b5f6020828403121561119f575f5ffd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146111ce575f5ffd5b9392505050565b5f602082840312156111e5575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fb1575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156112815761128161120d565b604052919050565b5f82601f830112611298575f5ffd5b813567ffffffffffffffff8111156112b2576112b261120d565b8060051b6112c26020820161123a565b918252602081850181019290810190868411156112dd575f5ffd5b6020860192505b838310156112ff5782358252602092830192909101906112e4565b9695505050505050565b5f82601f830112611318575f5ffd5b813567ffffffffffffffff8111156113325761133261120d565b61136360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161123a565b818152846020838601011115611377575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a086880312156113a7575f5ffd5b85356113b2816111ec565b945060208601356113c2816111ec565b9350604086013567ffffffffffffffff8111156113dd575f5ffd5b6113e988828901611289565b935050606086013567ffffffffffffffff811115611405575f5ffd5b61141188828901611289565b925050608086013567ffffffffffffffff81111561142d575f5ffd5b61143988828901611309565b9150509295509295909350565b5f5f5f5f5f60a0868803121561145a575f5ffd5b8535611465816111ec565b94506020860135611475816111ec565b93506040860135925060608601359150608086013567ffffffffffffffff81111561142d575f5ffd5b5f602082840312156114ae575f5ffd5b81356111ce816111ec565b5f602082840312156114c9575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156103b4576103b46114d0565b5f8154808452602084019350825f5260205f205f5b82811015611543578154865260209095019460019182019101611525565b5093949350505050565b606081525f61155f6060830186611510565b82810360208401526115718186611510565b915050826040830152949350505050565b5f60208284031215611592575f5ffd5b81516111ce816111ec565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036115cd576115cd6114d0565b506001019056fea26469706673582212201019c462765e72a95dfd0e484f3d9992a101d453474e082630ec9307f4a67c6b64736f6c634300081d0033

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

0000000000000000000000000f5b1efc0a1a08be0af0058e6b502eb5906e18be0000000000000000000000008500d84b203775fc8b418148223872b35c43b050000000000000000000000000fd20ebeb1c991983b056f1a6add5f3dea3cd52e8000000000000000000000000d4eca1393eba4e344cd0b90e1ea93b528c5d5dc9000000000000000000000000e920d1da9a4d59126dc35996ea242d60efca1304

-----Decoded View---------------
Arg [0] : _berps (address): 0x0F5b1EfC0a1A08BE0af0058E6B502eB5906E18Be
Arg [1] : _derps (address): 0x8500d84b203775FC8B418148223872b35c43B050
Arg [2] : _snacks (address): 0xfd20ebEB1c991983B056f1a6aDd5F3dea3cD52E8
Arg [3] : _feeder (address): 0xd4eCA1393eba4E344cD0b90e1Ea93B528C5D5Dc9
Arg [4] : _derp (address): 0xe920d1DA9A4D59126dC35996Ea242d60EFca1304

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000f5b1efc0a1a08be0af0058e6b502eb5906e18be
Arg [1] : 0000000000000000000000008500d84b203775fc8b418148223872b35c43b050
Arg [2] : 000000000000000000000000fd20ebeb1c991983b056f1a6add5f3dea3cd52e8
Arg [3] : 000000000000000000000000d4eca1393eba4e344cd0b90e1ea93b528c5d5dc9
Arg [4] : 000000000000000000000000e920d1da9a4d59126dc35996ea242d60efca1304


Deployed Bytecode Sourcemap

15084:3023:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12563:223;;;;;;:::i;:::-;;:::i;:::-;;;516:14:1;;509:22;491:41;;479:2;464:18;12563:223:0;;;;;;;;15226:21;;;;;;;;;;;;734:42:1;722:55;;;704:74;;692:2;677:18;15226:21:0;543:241:1;15254:17:0;;;;;;;;;16308:385;;;;;;:::i;:::-;;:::i;:::-;;;;1490:25:1;;;1546:2;1531:18;;1524:34;;;;1574:18;;;1567:34;1644:14;1637:22;1632:2;1617:18;;1610:50;1477:3;1462:19;16308:385:0;1265:401:1;15202:17:0;;;;;;;;;11801:94;;;:::i;:::-;;16197:105;;;:::i;:::-;;;2060:25:1;;;2048:2;2033:18;16197:105:0;1914:177:1;15173:22:0;;;;;;;;;11150:87;11196:7;11223:6;;;11150:87;;16835:1267;;;:::i;15148:21::-;;;;;;;;;13029:255;;;;;;:::i;:::-;13240:36;13029:255;;;;;;;;;;;6171:66:1;6159:79;;;6141:98;;6129:2;6114:18;13029:255:0;5997:248:1;16699:124:0;;;;;;:::i;:::-;;:::i;12794:227::-;;;;;;:::i;:::-;12982:31;12794:227;;;;;;;;12050:192;;;;;;:::i;:::-;;:::i;12563:223::-;12665:4;12689:49;;;12704:34;12689:49;;:89;;-1:-1:-1;8525:25:0;8510:40;;;;12742:36;12682:96;12563:223;-1:-1:-1;;12563:223:0:o;16308:385::-;16501:6;;:26;;;;;;;;2060:25:1;;;16380:14:0;;;;;;;;16501:6;;;;;:18;;2033::1;;16501:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16548:6;;:32;;;;;;;;2060:25:1;;;16492:35:0;;-1:-1:-1;16548:6:0;;;:24;;2033:18:1;;16548:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16538:42;;16615:6;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16605:27;;:7;:27;:::i;:::-;16591:41;;16673:11;16654:15;:30;;16643:42;;16308:385;;;;;:::o;11801:94::-;11196:7;11223:6;11370:23;11223:6;8160:10;11370:23;11362:68;;;;;;;8055:2:1;11362:68:0;;;8037:21:1;;;8074:18;;;8067:30;8133:34;8113:18;;;8106:62;8185:18;;11362:68:0;;;;;;;;;11866:21:::1;11884:1;11866:9;:21::i;:::-;11801:94::o:0;16197:105::-;16247:7;16274:20;:18;:20::i;:::-;16267:27;;16197:105;:::o;16835:1267::-;943:1;1539:7;;:19;1531:63;;;;;;;8416:2:1;1531:63:0;;;8398:21:1;8455:2;8435:18;;;8428:30;8494:33;8474:18;;;8467:61;8545:18;;1531:63:0;8214:355:1;1531:63:0;943:1;1672:7;:18;16892:4:::1;::::0;:26:::1;::::0;;;;16907:10:::1;16892:26;::::0;::::1;704:74:1::0;16922:7:0::1;::::0;16892:4:::1;;::::0;:14:::1;::::0;677:18:1;;16892:26:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:37;;16884:64;;;::::0;::::1;::::0;;8776:2:1;16884:64:0::1;::::0;::::1;8758:21:1::0;8815:2;8795:18;;;8788:30;8854:16;8834:18;;;8827:44;8888:18;;16884:64:0::1;8574:338:1::0;16884:64:0::1;17007:4;::::0;:53:::1;::::0;;;;17025:10:::1;17007:53;::::0;::::1;9148:74:1::0;17045:4:0::1;9238:18:1::0;;;9231:83;17052:7:0::1;9330:18:1::0;;;9323:34;17007:4:0::1;::::0;;::::1;::::0;:17:::1;::::0;9121:18:1;;17007:53:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;17071:4:0::1;::::0;17092:6:::1;::::0;17071:38:::1;::::0;;;;:4:::1;17092:6:::0;;::::1;17071:38;::::0;::::1;9571:74:1::0;17101:7:0::1;9661:18:1::0;;;9654:34;17071:4:0;::::1;::::0;-1:-1:-1;17071:12:0::1;::::0;-1:-1:-1;9544:18:1;;17071:38:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;17154:6:0::1;::::0;:23:::1;::::0;;;;17171:1:::1;17154:23:::0;;::::1;9890:25:1::0;17174:2:0::1;9931:18:1::0;;;9924:34;17154:6:0::1;::::0;;::::1;::::0;-1:-1:-1;17154:16:0::1;::::0;-1:-1:-1;9863:18:1;;17154:23:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17230:14;17247:20;:18;:20::i;:::-;17230:37;;17295:1;17286:6;:10;17278:41;;;::::0;::::1;::::0;;10171:2:1;17278:41:0::1;::::0;::::1;10153:21:1::0;10210:2;10190:18;;;10183:30;10249:20;10229:18;;;10222:48;10287:18;;17278:41:0::1;9969:342:1::0;17278:41:0::1;17379:12;17395:23;17411:6;17395:15;:23::i;:::-;17374:44;;;;;17437:7;17429:44;;;::::0;::::1;::::0;;10518:2:1;17429:44:0::1;::::0;::::1;10500:21:1::0;10557:2;10537:18;;;10530:30;10596:26;10576:18;;;10569:54;10640:18;;17429:44:0::1;10316:348:1::0;17429:44:0::1;17523:6;::::0;17556::::1;::::0;17523:47:::1;::::0;;;;:6:::1;17556::::0;;::::1;17523:47;::::0;::::1;10837:74:1::0;17523:6:0;10927:18:1;;;10920:50;17523:6:0;::::1;::::0;:24:::1;::::0;10810:18:1;;17523:47:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;17590:6:0::1;::::0;:39:::1;::::0;;;;:6:::1;::::0;;::::1;::::0;-1:-1:-1;17590:20:0::1;::::0;-1:-1:-1;17590:39:0::1;::::0;17611:3:::1;::::0;17616:4:::1;::::0;17622:6;;17590:39:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17686:18;17711:23;17727:6;17711:15;:23::i;:::-;17685:49;;;;;17753:10;17767:1;17753:15;17745:54;;;::::0;::::1;::::0;;12191:2:1;17745:54:0::1;::::0;::::1;12173:21:1::0;12230:2;12210:18;;;12203:30;12269:28;12249:18;;;12242:56;12315:18;;17745:54:0::1;11989:350:1::0;17745:54:0::1;17871:5;::::0;:19:::1;::::0;;;;;;;17851:17:::1;::::0;17871:5:::1;;::::0;:17:::1;::::0;:19:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:5;:19:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17909:5;::::0;:24:::1;::::0;;;;::::1;::::0;::::1;2060:25:1::0;;;17851:39:0;;-1:-1:-1;17945:4:0::1;::::0;17909:41:::1;:5:::0;;::::1;::::0;:13:::1;::::0;2033:18:1;;17909:24:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;;17901:81;;;::::0;::::1;::::0;;12802:2:1;17901:81:0::1;::::0;::::1;12784:21:1::0;12841:2;12821:18;;;12814:30;12880:29;12860:18;;;12853:57;12927:18;;17901:81:0::1;12600:351:1::0;17901:81:0::1;18034:5;::::0;:60:::1;::::0;;;;18065:4:::1;18034:60;::::0;::::1;9148:74:1::0;18072:10:0::1;9238:18:1::0;;;9231:83;9330:18;;;9323:34;;;18034:5:0::1;::::0;;::::1;::::0;:22:::1;::::0;9121:18:1;;18034:60:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;899:1:0;1851:22;;-1:-1:-1;;;;;;16835:1267:0:o;16699:124::-;16788:6;;:27;;;;;;;;2060:25:1;;;16761:7:0;;16788:6;;;:18;;2033::1;;16788:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12050:192::-;11196:7;11223:6;11370:23;11223:6;8160:10;11370:23;11362:68;;;;;;;8055:2:1;11362:68:0;;;8037:21:1;;;8074:18;;;8067:30;8133:34;8113:18;;;8106:62;8185:18;;11362:68:0;7853:356:1;11362:68:0;12139:22:::1;::::0;::::1;12131:73;;;::::0;::::1;::::0;;13580:2:1;12131:73:0::1;::::0;::::1;13562:21:1::0;13619:2;13599:18;;;13592:30;13658:34;13638:18;;;13631:62;13729:8;13709:18;;;13702:36;13755:19;;12131:73:0::1;13378:402:1::0;12131:73:0::1;12215:19;12225:8;12215:9;:19::i;:::-;12050:192:::0;:::o;12250:173::-;12306:16;12325:6;;;12342:17;;;;;;;;;;12375:40;;12325:6;;;;;;;12375:40;;12306:16;12375:40;12295:128;12250:173;:::o;15737:349::-;15790:7;15807:9;15824:16;15843:6;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15824:36;-1:-1:-1;15883:15:0;15928:1;15906:153;15941:4;15931:6;:14;15906:153;;15970:6;;:32;;;;;;;;2060:25:1;;;15970:6:0;;;;;:24;;2033:18:1;;15970:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15966:36;-1:-1:-1;16031:4:0;16015:12;16019:8;15966:36;16015:12;:::i;:::-;:20;16011:39;;16044:6;15737:349;-1:-1:-1;;;;15737:349:0:o;16011:39::-;15947:8;;;;:::i;:::-;;;;15906:153;;;;16076:1;16069:8;;;;;15737:349;:::o;14:332:1:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:1:o;1034:226::-;1093:6;1146:2;1134:9;1125:7;1121:23;1117:32;1114:52;;;1162:1;1159;1152:12;1114:52;-1:-1:-1;1207:23:1;;1034:226;-1:-1:-1;1034:226:1:o;2821:154::-;2907:42;2900:5;2896:54;2889:5;2886:65;2876:93;;2965:1;2962;2955:12;2980:184;3032:77;3029:1;3022:88;3129:4;3126:1;3119:15;3153:4;3150:1;3143:15;3169:334;3240:2;3234:9;3296:2;3286:13;;3301:66;3282:86;3270:99;;3399:18;3384:34;;3420:22;;;3381:62;3378:88;;;3446:18;;:::i;:::-;3482:2;3475:22;3169:334;;-1:-1:-1;3169:334:1:o;3508:775::-;3562:5;3615:3;3608:4;3600:6;3596:17;3592:27;3582:55;;3633:1;3630;3623:12;3582:55;3673:6;3660:20;3703:18;3695:6;3692:30;3689:56;;;3725:18;;:::i;:::-;3771:6;3768:1;3764:14;3798:30;3822:4;3818:2;3814:13;3798:30;:::i;:::-;3864:19;;;3908:4;3940:15;;;3936:26;;;3899:14;;;;3974:15;;;3971:35;;;4002:1;3999;3992:12;3971:35;4038:4;4030:6;4026:17;4015:28;;4052:200;4068:6;4063:3;4060:15;4052:200;;;4160:17;;4190:18;;4237:4;4085:14;;;;4228;;;;4052:200;;;4270:7;3508:775;-1:-1:-1;;;;;;3508:775:1:o;4288:617::-;4330:5;4383:3;4376:4;4368:6;4364:17;4360:27;4350:55;;4401:1;4398;4391:12;4350:55;4441:6;4428:20;4471:18;4463:6;4460:30;4457:56;;;4493:18;;:::i;:::-;4537:118;4649:4;4580:66;4573:4;4565:6;4561:17;4557:90;4553:101;4537:118;:::i;:::-;4680:6;4671:7;4664:23;4734:3;4727:4;4718:6;4710;4706:19;4702:30;4699:39;4696:59;;;4751:1;4748;4741:12;4696:59;4816:6;4809:4;4801:6;4797:17;4790:4;4781:7;4777:18;4764:59;4872:1;4843:20;;;4865:4;4839:31;4832:42;;;;4847:7;4288:617;-1:-1:-1;;;4288:617:1:o;4910:1082::-;5064:6;5072;5080;5088;5096;5149:3;5137:9;5128:7;5124:23;5120:33;5117:53;;;5166:1;5163;5156:12;5117:53;5205:9;5192:23;5224:31;5249:5;5224:31;:::i;:::-;5274:5;-1:-1:-1;5331:2:1;5316:18;;5303:32;5344:33;5303:32;5344:33;:::i;:::-;5396:7;-1:-1:-1;5454:2:1;5439:18;;5426:32;5481:18;5470:30;;5467:50;;;5513:1;5510;5503:12;5467:50;5536:61;5589:7;5580:6;5569:9;5565:22;5536:61;:::i;:::-;5526:71;;;5650:2;5639:9;5635:18;5622:32;5679:18;5669:8;5666:32;5663:52;;;5711:1;5708;5701:12;5663:52;5734:63;5789:7;5778:8;5767:9;5763:24;5734:63;:::i;:::-;5724:73;;;5850:3;5839:9;5835:19;5822:33;5880:18;5870:8;5867:32;5864:52;;;5912:1;5909;5902:12;5864:52;5935:51;5978:7;5967:8;5956:9;5952:24;5935:51;:::i;:::-;5925:61;;;4910:1082;;;;;;;;:::o;6250:838::-;6354:6;6362;6370;6378;6386;6439:3;6427:9;6418:7;6414:23;6410:33;6407:53;;;6456:1;6453;6446:12;6407:53;6495:9;6482:23;6514:31;6539:5;6514:31;:::i;:::-;6564:5;-1:-1:-1;6621:2:1;6606:18;;6593:32;6634:33;6593:32;6634:33;:::i;:::-;6686:7;-1:-1:-1;6766:2:1;6751:18;;6738:32;;-1:-1:-1;6869:2:1;6854:18;;6841:32;;-1:-1:-1;6950:3:1;6935:19;;6922:33;6978:18;6967:30;;6964:50;;;7010:1;7007;7000:12;7093:247;7152:6;7205:2;7193:9;7184:7;7180:23;7176:32;7173:52;;;7221:1;7218;7211:12;7173:52;7260:9;7247:23;7279:31;7304:5;7279:31;:::i;7345:184::-;7415:6;7468:2;7456:9;7447:7;7443:23;7439:32;7436:52;;;7484:1;7481;7474:12;7436:52;-1:-1:-1;7507:16:1;;7345:184;-1:-1:-1;7345:184:1:o;7534:::-;7586:77;7583:1;7576:88;7683:4;7680:1;7673:15;7707:4;7704:1;7697:15;7723:125;7788:9;;;7809:10;;;7806:36;;;7822:18;;:::i;10981:452::-;11042:3;11080:5;11074:12;11107:6;11102:3;11095:19;11139:4;11134:3;11130:14;11123:21;;11163:5;11160:1;11153:16;11205:4;11202:1;11192:18;11228:1;11238:170;11252:6;11249:1;11246:13;11238:170;;;11313:13;;11301:26;;11356:4;11347:14;;;;11396:1;11384:14;;;;11267:9;11238:170;;;-1:-1:-1;11424:3:1;;10981:452;-1:-1:-1;;;;10981:452:1:o;11438:546::-;11717:2;11706:9;11699:21;11680:4;11743:64;11803:2;11792:9;11788:18;11780:6;11743:64;:::i;:::-;11855:9;11847:6;11843:22;11838:2;11827:9;11823:18;11816:50;11883:52;11928:6;11920;11883:52;:::i;:::-;11875:60;;;11971:6;11966:2;11955:9;11951:18;11944:34;11438:546;;;;;;:::o;12344:251::-;12414:6;12467:2;12455:9;12446:7;12442:23;12438:32;12435:52;;;12483:1;12480;12473:12;12435:52;12515:9;12509:16;12534:31;12559:5;12534:31;:::i;13785:195::-;13824:3;13855:66;13848:5;13845:77;13842:103;;13925:18;;:::i;:::-;-1:-1:-1;13972:1:1;13961:13;;13785:195::o

Swarm Source

ipfs://1019c462765e72a95dfd0e484f3d9992a101d453474e082630ec9307f4a67c6b

Block Transaction Gas Used Reward
view all blocks ##produced##

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

Validator Index Block Amount
View All Withdrawals

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

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