HYPE Price: $38.70 (-2.76%)

Contract

0xB5fE77d323d69eB352A02006eA8ecC38D882620C

Overview

HYPE Balance

HyperEvm LogoHyperEvm LogoHyperEvm Logo0 HYPE

HYPE Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve78115582025-07-07 23:17:496 mins ago1751930269IN
Keiko Finance: KEI Token
0 HYPE0.000015620.34
Approve78114732025-07-07 23:16:258 mins ago1751930185IN
Keiko Finance: KEI Token
0 HYPE0.000031720.69
Approve78091702025-07-07 22:38:4045 mins ago1751927920IN
Keiko Finance: KEI Token
0 HYPE0.000005050.11
Approve78088772025-07-07 22:33:5250 mins ago1751927632IN
Keiko Finance: KEI Token
0 HYPE0.000005050.11
Approve78082652025-07-07 22:23:501 hr ago1751927030IN
Keiko Finance: KEI Token
0 HYPE0.000004590.1
Approve78079072025-07-07 22:17:581 hr ago1751926678IN
Keiko Finance: KEI Token
0 HYPE0.000004590.1
Approve78061422025-07-07 21:49:011 hr ago1751924941IN
Keiko Finance: KEI Token
0 HYPE0.000004620.1
Approve78057572025-07-07 21:42:431 hr ago1751924563IN
Keiko Finance: KEI Token
0 HYPE0.000004620.1
Approve78037382025-07-07 21:09:372 hrs ago1751922577IN
Keiko Finance: KEI Token
0 HYPE0.0007463916.13333175
Approve78007972025-07-07 20:21:243 hrs ago1751919684IN
Keiko Finance: KEI Token
0 HYPE0.000007910.33
Approve78001152025-07-07 20:10:133 hrs ago1751919013IN
Keiko Finance: KEI Token
0 HYPE0.000009250.2
Approve77998942025-07-07 20:06:363 hrs ago1751918796IN
Keiko Finance: KEI Token
0 HYPE0.000023190.89
Approve77998942025-07-07 20:06:363 hrs ago1751918796IN
Keiko Finance: KEI Token
0 HYPE0.000005050.11
Approve77993132025-07-07 19:57:043 hrs ago1751918224IN
Keiko Finance: KEI Token
0 HYPE0.000118892.57
Approve77962652025-07-07 19:07:064 hrs ago1751915226IN
Keiko Finance: KEI Token
0 HYPE0.000002630.11
Approve77962502025-07-07 19:06:524 hrs ago1751915212IN
Keiko Finance: KEI Token
0 HYPE0.000002630.11
Approve77941672025-07-07 18:32:434 hrs ago1751913163IN
Keiko Finance: KEI Token
0 HYPE0.000231325
Approve77926682025-07-07 18:08:085 hrs ago1751911688IN
Keiko Finance: KEI Token
0 HYPE0.000002870.12
Approve77912412025-07-07 17:44:455 hrs ago1751910285IN
Keiko Finance: KEI Token
0 HYPE0.000243345.26
Approve77898352025-07-07 17:21:426 hrs ago1751908902IN
Keiko Finance: KEI Token
0 HYPE0.000002390.1
Approve77894352025-07-07 17:15:086 hrs ago1751908508IN
Keiko Finance: KEI Token
0 HYPE0.000005050.11
Approve77881282025-07-07 16:53:436 hrs ago1751907223IN
Keiko Finance: KEI Token
0 HYPE0.000005970.13
Approve77881042025-07-07 16:53:196 hrs ago1751907199IN
Keiko Finance: KEI Token
0 HYPE0.000005970.13
Approve77880712025-07-07 16:52:476 hrs ago1751907167IN
Keiko Finance: KEI Token
0 HYPE0.000007350.16
Approve77872832025-07-07 16:39:526 hrs ago1751906392IN
Keiko Finance: KEI Token
0 HYPE0.000005510.12
View all transactions

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

Contract Source Code Verified (Exact Match)

Contract Name:
KEI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
/*
________/\\\__________________/\\\________/\\\__/\\\\\\\\\\\\\\\__/\\\\\\\\\\\__________________/\\\_______        
 ____/\\\\\\\\\\\_____________\/\\\_____/\\\//__\/\\\///////////__\/////\\\///_______________/\\\\\\\\\\\___       
  __/\\\///\\\////\\___________\/\\\__/\\\//_____\/\\\_________________\/\\\________________/\\\///\\\////\\_      
   _\////\\\\\\__\//____________\/\\\\\\//\\\_____\/\\\\\\\\\\\_________\/\\\_______________\////\\\\\\__\//__     
    ____\////\\\\\\______________\/\\\//_\//\\\____\/\\\///////__________\/\\\__________________\////\\\\\\____    
     __/\\__\/\\\///\\\___________\/\\\____\//\\\___\/\\\_________________\/\\\________________/\\__\/\\\///\\\_   
      _\///\\\\\\\\\\\/____________\/\\\_____\//\\\__\/\\\_________________\/\\\_______________\///\\\\\\\\\\\/__  
       ___\/////\\\///______________\/\\\______\//\\\_\/\\\\\\\\\\\\\\\__/\\\\\\\\\\\_____________\/////\\\///___  
        _______\///__________________\///________\///__\///////////////__\///////////__________________\///________

*/

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

import "./dependencies/ERC20.sol";
import "./dependencies/Ownable.sol";

contract KEI is Ownable, ERC20 {
    mapping(address => bool) public whitelisted;
    mapping(address => bool) public whitelistRequested;
    mapping(address => uint256) public requestedWhitelistTimestamp;

    uint8 private constant DECIMALS = 18;
    uint256 public constant TIMELOCK_DURATION = 14 days;

    constructor(address vaultOperations, address stabilityPool) ERC20("KEI Stablecoin", "KEI", DECIMALS) {
        whitelisted[vaultOperations] = true;
        whitelisted[stabilityPool] = true;
    }

    /* --------------- OVERRIDDEN ERC20 LOGIC --------------------- */
    
    /*
     * @notice Transfers tokens from one address to another, with special handling for whitelisted addresses
     * @dev Whitelisted contracts can bypass the allowance check and transfer tokens from other addresses
     * @param from The address to transfer tokens from
     * @param to The address to transfer tokens to
     * @param amount The amount of tokens to transfer
     * @return bool Returns true if the transfer was successful
    */
    function transferFrom(address from, address to, uint256 amount) public override returns (bool) {
        if (whitelisted[msg.sender]) {
            // For whitelisted addresses, we bypass allowance checking
            balanceOf[from] -= amount;
            unchecked {
                balanceOf[to] += amount;
            }
            emit Transfer(from, to, amount);
            return true;
        } else {
            // Uses the standard ERC20 transferFrom for others
            return super.transferFrom(from, to, amount);
        }
    }

    /* --------------- MAIN FUNCTIONS --------------------- */

    function mint(address recipient, uint256 amount) public {
        require(whitelisted[msg.sender], "Not whitelisted to mint");
        _mint(recipient, amount);
    }

    function burn(address from, uint256 amount) public {
        require(whitelisted[msg.sender], "Not whitelisted to burn");
        _burn(from, amount);
    }

    /* --------------- WHITELIST FUNCTIONS --------------------- */

    /*
     * @notice Initiates a request to whitelist an address by starting the timelock period
     * @notice Given the admin key retains the ability to add debttoken minters for future 
               deployments or upgrades a long timelock (14d) is established.
     * @param _address The address to be considered for whitelisting
     * @dev Can only be called by the contract owner
    */
    function requestWhitelist(address _address) external onlyOwner {
        require(!whitelisted[_address], "Address already whitelisted");

        whitelistRequested[_address] = true;
        requestedWhitelistTimestamp[_address] = block.timestamp;
        emit WhitelistRequested(_address, block.timestamp);
    }

    /*
     * @notice Adds an address to the whitelist after the timelock period has passed
     * @param _address The address to be added to the whitelist
     * @dev Can only be called by the contract owner
    */
    function addWhitelist(address _address) external onlyOwner {
        require(!whitelisted[_address], "Address already whitelisted");
        require(whitelistRequested[_address], "Whitelist not requested");
        require(block.timestamp > requestedWhitelistTimestamp[_address] + TIMELOCK_DURATION, "Timelock period has not passed");

        whitelisted[_address] = true;
        delete requestedWhitelistTimestamp[_address];
        emit WhitelistChanged(_address, true);
    }

    /*
     * @notice Removes an address from the whitelist
     * @param _address The address to be removed from the whitelist
     * @dev Can only be called by the contract owner
    */
    function removeWhitelist(address _address) external onlyOwner {
        whitelistRequested[_address] = false;
        whitelisted[_address] = false;
        emit WhitelistChanged(_address, false);
    }

    /*
     * @notice Checks if an address is whitelisted
     * @param addy The address to check
     * @return bool Returns true if the address is whitelisted, false otherwise
    */
    function isWhitelisted(address _address) external view returns (bool) {
        return whitelisted[_address];
    }

    event WhitelistChanged(address indexed _address, bool _status);
    event WhitelistRequested(address indexed _address, uint256 _timestamp);
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.19;

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

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

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.19;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;
    string public symbol;
    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;
    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount) public virtual returns (bool) {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount) public virtual returns (bool) {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(address(0), to, amount);
    }

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

        emit Transfer(from, address(0), amount);
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.19;

import "./Context.sol";

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() {
        _transferOwnership(_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 {
        _transferOwnership(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");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

Settings
{
  "evmVersion": "paris",
  "libraries": {},
  "metadata": {
    "appendCBOR": false,
    "bytecodeHash": "none",
    "useLiteralContent": false
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/"
  ],
  "viaIR": true
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"vaultOperations","type":"address"},{"internalType":"address","name":"stabilityPool","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_status","type":"bool"}],"name":"WhitelistChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"uint256","name":"_timestamp","type":"uint256"}],"name":"WhitelistRequested","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIMELOCK_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"requestWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"requestedWhitelistTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistRequested","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60e0604081815234620004aa578082620017178038038091620000238285620004e1565b833981010312620004aa57620000398262000505565b62000048602080940162000505565b918051936200005785620004af565b600e85526d25a2a49029ba30b13632b1b7b4b760911b818601528151926200007f84620004af565b60038452624b454960e81b8285015260008054336001600160a01b031982168117835591936001600160a01b03939092909184167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a387516001600160401b0398909690898811620002995760019780620000fd8a546200051a565b92601f9384811162000457575b508690848311600114620003f3578992620003e7575b5050600019600383901b1c191690891b1788555b8151918a8311620003d3579082916200014f6002546200051a565b8281116200037d575b5085918311600114620003175787926200030b575b5050600019600383901b1c191690871b176002555b60126080524660a052845186549085816200019d846200051a565b9182825286820194878c82169182600014620002ee575050600114620002ad575b620001cc92500382620004e1565b5190208551838101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352878201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810199818b10908b1117620002995789875251902060c0528216835260079052828220805460ff199081168617909155941681522080549092161790556111bf908162000558823960805181610bb4015260a05181610ffc015260c051816110230152f35b634e487b7160e01b86526041600452602486fd5b505088875281858089208b8a915b858310620002d4575050620001cc9350820101620001be565b80919294505483858801015201910186908b8593620002bb565b60ff19168752620001cc94151560051b8401019150620001be9050565b0151905038806200016d565b600288528588208a94509190601f198416895b888282106200036657505084116200034c575b505050811b0160025562000182565b015160001960f88460031b161c191690553880806200033d565b8385015186558d979095019493840193016200032a565b90919250600288528588208380860160051c820192888710620003c9575b9186958d929594930160051c01915b828110620003ba57505062000158565b8a81558695508c9101620003aa565b925081926200039b565b634e487b7160e01b87526041600452602487fd5b01519050388062000120565b8b8a52878a208c94509190601f1984168b5b8a82821062000440575050841162000426575b505050811b01885562000134565b015160001960f88460031b161c1916905538808062000418565b8385015186558f9790950194938401930162000405565b9091508a89528689208480850160051c820192898610620004a0575b918d91869594930160051c01915b828110620004915750506200010a565b8b81558594508d910162000481565b9250819262000473565b600080fd5b604081019081106001600160401b03821117620004cb57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017620004cb57604052565b51906001600160a01b0382168203620004aa57565b90600182811c921680156200054c575b60208310146200053657565b634e487b7160e01b600052602260045260246000fd5b91607f16916200052a56fe608060408181526004908136101561001657600080fd5b600092833560e01c90816306fdde0314610cdb57508063095ea7b314610c6a57806318160ddd14610c4b57806323b872dd14610c105780632ec8b3ff14610bd8578063313ce56714610b9a5780633644e51514610b765780633af32abf146103f057806340c10f1914610aa75780634623c81e14610a895780636e3d4459146109f357806370a08231146109bd578063715018a61461095c57806378c8cda7146108da5780637ecebe00146108a25780638da5cb5b1461087a57806395d89b41146107995780639dc29fac146106e0578063a9059cbb14610670578063d505accf1461042e578063d936547e146103f0578063dc9d03b8146103b2578063dd62ed3e14610365578063f2fde38b1461029e5763f80f5dd51461013757600080fd5b3461029a576020908160031936011261029657610152610e3c565b84546001600160a01b03919061016b9083163314610f60565b16928385526007835261018460ff838720541615610fab565b8385526008835260ff828620541615610255578385526009835281852054621275008101809111610242574211156102015750907fb840a1dbd8b09a3dc45161bba92dfb9aba643c0e44c085a447f839d1d02cf13b9183855260078252808520600160ff198254161790556009825284818120555160018152a280f35b82606492519162461bcd60e51b8352820152601e60248201527f54696d656c6f636b20706572696f6420686173206e6f742070617373656400006044820152fd5b634e487b7160e01b865260118252602486fd5b82606492519162461bcd60e51b8352820152601760248201527f57686974656c697374206e6f74207265717565737465640000000000000000006044820152fd5b8380fd5b8280fd5b50903461029a57602036600319011261029a576102b9610e3c565b83546001600160a01b038082169391926102d4338614610f60565b169384156103135750506001600160a01b031916821783557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8382346103ae57806003193601126103ae5780602092610383610e3c565b61038b610e57565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b8382346103ae5760203660031901126103ae5760209160ff9082906001600160a01b036103dd610e3c565b1681526008855220541690519015158152f35b8382346103ae5760203660031901126103ae5760209160ff9082906001600160a01b0361041b610e3c565b1681526007855220541690519015158152f35b50903461029a5760e036600319011261029a57610449610e3c565b610451610e57565b9260443590606435936084359360ff851680950361066c5742861061062957610478610ff7565b9660018060a01b0380921696878a5260209660068852858b20998a549a60018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830167ffffffffffffffff9484821086831117610616578189528451902061010085019261190160f01b8452610102860152610122850152604281526101608401948186109086111761060357848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156105f95787511690811515806105f0575b156105bc57508652600583528086208587528352808620829055519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b50858214610577565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b506020606492519162461bcd60e51b8352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8780fd5b50903461029a578160031936011261029a576020928261068e610e3c565b91602435923382528487528282206106a7858254610e6d565b90556001600160a01b0316808252938652208054820190558251908152339060008051602061119f833981519152908590a35160018152f35b509190346103ae57826003193601126103ae576106fb610e3c565b60243590338452600760205260ff8585205416156107565760008051602061119f83398151915291849560209260018060a01b0316948587528352808620610744838254610e6d565b9055816003540360035551908152a380f35b845162461bcd60e51b8152602081850152601760248201527f4e6f742077686974656c697374656420746f206275726e0000000000000000006044820152606490fd5b8382346103ae57816003193601126103ae57805190826002546107bb81610d81565b8085529160019180831690811561085257506001146107f5575b5050506107e7826107f1940383610dbb565b5191829182610df3565b0390f35b9450600285527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b82861061083a575050506107e78260206107f195820101946107d5565b8054602087870181019190915290950194810161081d565b6107f19750869350602092506107e794915060ff191682840152151560051b820101946107d5565b8382346103ae57816003193601126103ae57905490516001600160a01b039091168152602090f35b8382346103ae5760203660031901126103ae5760209181906001600160a01b036108ca610e3c565b1681526006845220549051908152f35b8382346103ae5760203660031901126103ae577fb840a1dbd8b09a3dc45161bba92dfb9aba643c0e44c085a447f839d1d02cf13b6020610918610e3c565b84546001600160a01b0391906109319083163314610f60565b16928385526008825280852060ff19908181541690556007835281862090815416905551848152a280f35b83346109ba57806003193601126109ba57805481906001600160a01b03811690610987338314610f60565b6001600160a01b03191682557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50903461029a57602036600319011261029a5760209282916001600160a01b036109e5610e3c565b168252845220549051908152f35b8382346103ae5760203660031901126103ae577f57f2df100d4ab28ca291e2986ed1c62e7c78cb054257ae2a811ce2a31edf91dc6020610a31610e3c565b84546001600160a01b039190610a4a9083163314610f60565b169283855260078252610a6360ff828720541615610fab565b83855260088252808520600160ff1982541617905560098252428186205551428152a280f35b8382346103ae57816003193601126103ae5760209051621275008152f35b503461029a578060031936011261029a57610ac0610e3c565b9060243591338552600760205260ff828620541615610b3357600354838101809111610b20576003556001600160a01b03168085526020938452818520805484019055905191825291839160008051602061119f8339815191529190a380f35b634e487b7160e01b865260118552602486fd5b815162461bcd60e51b8152602081860152601760248201527f4e6f742077686974656c697374656420746f206d696e740000000000000000006044820152606490fd5b8382346103ae57816003193601126103ae57602090610b93610ff7565b9051908152f35b8382346103ae57816003193601126103ae576020905160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8382346103ae5760203660031901126103ae5760209181906001600160a01b03610c00610e3c565b1681526009845220549051908152f35b8382346103ae5760603660031901126103ae57602090610c42610c31610e3c565b610c39610e57565b60443591610e90565b90519015158152f35b8382346103ae57816003193601126103ae576020906003549051908152f35b8382346103ae57806003193601126103ae5760209181610c88610e3c565b91602435918291338152600587528181209460018060a01b0316948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b9250503461029a578260031936011261029a57826001805491610cfd83610d81565b808652928281169081156108525750600114610d25575050506107e7826107f1940383610dbb565b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828610610d69575050506107e78260206107f195820101946107d5565b80546020878701810191909152909501948101610d4c565b90600182811c92168015610db1575b6020831014610d9b57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610d90565b90601f8019910116810190811067ffffffffffffffff821117610ddd57604052565b634e487b7160e01b600052604160045260246000fd5b6020808252825181830181905290939260005b828110610e2857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610e06565b600435906001600160a01b0382168203610e5257565b600080fd5b602435906001600160a01b0382168203610e5257565b91908203918211610e7a57565b634e487b7160e01b600052601160045260246000fd5b60008051602061119f83398151915290600093338552602091600783526040809160ff8289205416600014610efb5760018060a01b038091169687895260048652828920610edf868254610e6d565b90551696878152600485522082815401905551908152a3600190565b6001600160a01b0390811680895260058652828920338a528652828920549097908560018201610f3d575b505087895260048652828920610edf868254610e6d565b610f4691610e6d565b888a5260058752838a20338b528752838a20553885610f26565b15610f6757565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610fb257565b60405162461bcd60e51b815260206004820152601b60248201527f4164647265737320616c72656164792077686974656c697374656400000000006044820152606490fd5b6000467f00000000000000000000000000000000000000000000000000000000000000000361104557507f000000000000000000000000000000000000000000000000000000000000000090565b604051816001918254918161105984610d81565b9182825260209586830195878282169182600014611180575050600114611127575b5061108892500382610dbb565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117611113575060405251902090565b634e487b7160e01b81526041600452602490fd5b80885286915087907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b85831061116857505061108893508201013861107b565b80548388018501528694508893909201918101611151565b60ff1916885261108895151560051b850101925038915061107b905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000067e70761e88c77fff2174d5a4ead42b44df3f64a000000000000000000000000b22f7b5d5724b1a454d6811456c85491c1bb249b

Deployed Bytecode

0x608060408181526004908136101561001657600080fd5b600092833560e01c90816306fdde0314610cdb57508063095ea7b314610c6a57806318160ddd14610c4b57806323b872dd14610c105780632ec8b3ff14610bd8578063313ce56714610b9a5780633644e51514610b765780633af32abf146103f057806340c10f1914610aa75780634623c81e14610a895780636e3d4459146109f357806370a08231146109bd578063715018a61461095c57806378c8cda7146108da5780637ecebe00146108a25780638da5cb5b1461087a57806395d89b41146107995780639dc29fac146106e0578063a9059cbb14610670578063d505accf1461042e578063d936547e146103f0578063dc9d03b8146103b2578063dd62ed3e14610365578063f2fde38b1461029e5763f80f5dd51461013757600080fd5b3461029a576020908160031936011261029657610152610e3c565b84546001600160a01b03919061016b9083163314610f60565b16928385526007835261018460ff838720541615610fab565b8385526008835260ff828620541615610255578385526009835281852054621275008101809111610242574211156102015750907fb840a1dbd8b09a3dc45161bba92dfb9aba643c0e44c085a447f839d1d02cf13b9183855260078252808520600160ff198254161790556009825284818120555160018152a280f35b82606492519162461bcd60e51b8352820152601e60248201527f54696d656c6f636b20706572696f6420686173206e6f742070617373656400006044820152fd5b634e487b7160e01b865260118252602486fd5b82606492519162461bcd60e51b8352820152601760248201527f57686974656c697374206e6f74207265717565737465640000000000000000006044820152fd5b8380fd5b8280fd5b50903461029a57602036600319011261029a576102b9610e3c565b83546001600160a01b038082169391926102d4338614610f60565b169384156103135750506001600160a01b031916821783557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8382346103ae57806003193601126103ae5780602092610383610e3c565b61038b610e57565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b5080fd5b8382346103ae5760203660031901126103ae5760209160ff9082906001600160a01b036103dd610e3c565b1681526008855220541690519015158152f35b8382346103ae5760203660031901126103ae5760209160ff9082906001600160a01b0361041b610e3c565b1681526007855220541690519015158152f35b50903461029a5760e036600319011261029a57610449610e3c565b610451610e57565b9260443590606435936084359360ff851680950361066c5742861061062957610478610ff7565b9660018060a01b0380921696878a5260209660068852858b20998a549a60018c019055865192858a8501957f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c987528c8a870152169b8c606086015289608086015260a085015260c084015260c0835260e0830167ffffffffffffffff9484821086831117610616578189528451902061010085019261190160f01b8452610102860152610122850152604281526101608401948186109086111761060357848852519020835261018082015260a4356101a082015260c4356101c0909101528880528590899060809060015afa156105f95787511690811515806105f0575b156105bc57508652600583528086208587528352808620829055519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a380f35b825162461bcd60e51b8152908101859052600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606490fd5b50858214610577565b82513d89823e3d90fd5b634e487b7160e01b8d526041875260248dfd5b634e487b7160e01b8e526041885260248efd5b506020606492519162461bcd60e51b8352820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152fd5b8780fd5b50903461029a578160031936011261029a576020928261068e610e3c565b91602435923382528487528282206106a7858254610e6d565b90556001600160a01b0316808252938652208054820190558251908152339060008051602061119f833981519152908590a35160018152f35b509190346103ae57826003193601126103ae576106fb610e3c565b60243590338452600760205260ff8585205416156107565760008051602061119f83398151915291849560209260018060a01b0316948587528352808620610744838254610e6d565b9055816003540360035551908152a380f35b845162461bcd60e51b8152602081850152601760248201527f4e6f742077686974656c697374656420746f206275726e0000000000000000006044820152606490fd5b8382346103ae57816003193601126103ae57805190826002546107bb81610d81565b8085529160019180831690811561085257506001146107f5575b5050506107e7826107f1940383610dbb565b5191829182610df3565b0390f35b9450600285527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b82861061083a575050506107e78260206107f195820101946107d5565b8054602087870181019190915290950194810161081d565b6107f19750869350602092506107e794915060ff191682840152151560051b820101946107d5565b8382346103ae57816003193601126103ae57905490516001600160a01b039091168152602090f35b8382346103ae5760203660031901126103ae5760209181906001600160a01b036108ca610e3c565b1681526006845220549051908152f35b8382346103ae5760203660031901126103ae577fb840a1dbd8b09a3dc45161bba92dfb9aba643c0e44c085a447f839d1d02cf13b6020610918610e3c565b84546001600160a01b0391906109319083163314610f60565b16928385526008825280852060ff19908181541690556007835281862090815416905551848152a280f35b83346109ba57806003193601126109ba57805481906001600160a01b03811690610987338314610f60565b6001600160a01b03191682557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50903461029a57602036600319011261029a5760209282916001600160a01b036109e5610e3c565b168252845220549051908152f35b8382346103ae5760203660031901126103ae577f57f2df100d4ab28ca291e2986ed1c62e7c78cb054257ae2a811ce2a31edf91dc6020610a31610e3c565b84546001600160a01b039190610a4a9083163314610f60565b169283855260078252610a6360ff828720541615610fab565b83855260088252808520600160ff1982541617905560098252428186205551428152a280f35b8382346103ae57816003193601126103ae5760209051621275008152f35b503461029a578060031936011261029a57610ac0610e3c565b9060243591338552600760205260ff828620541615610b3357600354838101809111610b20576003556001600160a01b03168085526020938452818520805484019055905191825291839160008051602061119f8339815191529190a380f35b634e487b7160e01b865260118552602486fd5b815162461bcd60e51b8152602081860152601760248201527f4e6f742077686974656c697374656420746f206d696e740000000000000000006044820152606490fd5b8382346103ae57816003193601126103ae57602090610b93610ff7565b9051908152f35b8382346103ae57816003193601126103ae576020905160ff7f0000000000000000000000000000000000000000000000000000000000000012168152f35b8382346103ae5760203660031901126103ae5760209181906001600160a01b03610c00610e3c565b1681526009845220549051908152f35b8382346103ae5760603660031901126103ae57602090610c42610c31610e3c565b610c39610e57565b60443591610e90565b90519015158152f35b8382346103ae57816003193601126103ae576020906003549051908152f35b8382346103ae57806003193601126103ae5760209181610c88610e3c565b91602435918291338152600587528181209460018060a01b0316948582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b9250503461029a578260031936011261029a57826001805491610cfd83610d81565b808652928281169081156108525750600114610d25575050506107e7826107f1940383610dbb565b94508085527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b828610610d69575050506107e78260206107f195820101946107d5565b80546020878701810191909152909501948101610d4c565b90600182811c92168015610db1575b6020831014610d9b57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610d90565b90601f8019910116810190811067ffffffffffffffff821117610ddd57604052565b634e487b7160e01b600052604160045260246000fd5b6020808252825181830181905290939260005b828110610e2857505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610e06565b600435906001600160a01b0382168203610e5257565b600080fd5b602435906001600160a01b0382168203610e5257565b91908203918211610e7a57565b634e487b7160e01b600052601160045260246000fd5b60008051602061119f83398151915290600093338552602091600783526040809160ff8289205416600014610efb5760018060a01b038091169687895260048652828920610edf868254610e6d565b90551696878152600485522082815401905551908152a3600190565b6001600160a01b0390811680895260058652828920338a528652828920549097908560018201610f3d575b505087895260048652828920610edf868254610e6d565b610f4691610e6d565b888a5260058752838a20338b528752838a20553885610f26565b15610f6757565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610fb257565b60405162461bcd60e51b815260206004820152601b60248201527f4164647265737320616c72656164792077686974656c697374656400000000006044820152606490fd5b6000467f00000000000000000000000000000000000000000000000000000000000003e70361104557507f1f9684bc69bbf7087dad6ea5c28327790e2ebed00559d5517d7156b206b8aac090565b604051816001918254918161105984610d81565b9182825260209586830195878282169182600014611180575050600114611127575b5061108892500382610dbb565b51902091604051918201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845260408301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a083015260a0825260c082019082821067ffffffffffffffff831117611113575060405251902090565b634e487b7160e01b81526041600452602490fd5b80885286915087907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b85831061116857505061108893508201013861107b565b80548388018501528694508893909201918101611151565b60ff1916885261108895151560051b850101925038915061107b905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

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

00000000000000000000000067e70761e88c77fff2174d5a4ead42b44df3f64a000000000000000000000000b22f7b5d5724b1a454d6811456c85491c1bb249b

-----Decoded View---------------
Arg [0] : vaultOperations (address): 0x67e70761E88C77ffF2174d5a4EaD42B44Df3F64a
Arg [1] : stabilityPool (address): 0xb22f7B5d5724B1a454d6811456C85491C1BB249b

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000067e70761e88c77fff2174d5a4ead42b44df3f64a
Arg [1] : 000000000000000000000000b22f7b5d5724b1a454d6811456c85491c1bb249b


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.