ETH Price: $3,361.42 (+2.52%)

Contract

0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Deri (DERI) (@$0.032)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214675482024-12-23 20:24:235 hrs ago1734985463IN
Deri Protocol: DERI Token
0 ETH0.0005538211.93378778
Transfer214636602024-12-23 7:20:3519 hrs ago1734938435IN
Deri Protocol: DERI Token
0 ETH0.00015084.3570561
Transfer214636592024-12-23 7:20:2319 hrs ago1734938423IN
Deri Protocol: DERI Token
0 ETH0.000192585.56616144
Transfer214636592024-12-23 7:20:2319 hrs ago1734938423IN
Deri Protocol: DERI Token
0 ETH0.000192585.56616144
Transfer214621302024-12-23 2:12:4724 hrs ago1734919967IN
Deri Protocol: DERI Token
0 ETH0.000280725.43117606
Approve214616592024-12-23 0:38:1125 hrs ago1734914291IN
Deri Protocol: DERI Token
0 ETH0.000248345.38615149
Transfer214612402024-12-22 23:13:2327 hrs ago1734909203IN
Deri Protocol: DERI Token
0 ETH0.0003305211.10538915
Approve214612182024-12-22 23:08:4727 hrs ago1734908927IN
Deri Protocol: DERI Token
0 ETH0.000292996.3134621
Transfer214588202024-12-22 15:05:5935 hrs ago1734879959IN
Deri Protocol: DERI Token
0 ETH0.0004881616.38195897
Approve214588072024-12-22 15:03:2335 hrs ago1734879803IN
Deri Protocol: DERI Token
0 ETH0.0004740210.21430802
Transfer214586212024-12-22 14:25:4735 hrs ago1734877547IN
Deri Protocol: DERI Token
0 ETH0.000409147.91032268
Transfer214578042024-12-22 11:41:2338 hrs ago1734867683IN
Deri Protocol: DERI Token
0 ETH0.000222386.4251985
Transfer214577182024-12-22 11:24:1138 hrs ago1734866651IN
Deri Protocol: DERI Token
0 ETH0.000241056.96708203
Transfer214577182024-12-22 11:24:1138 hrs ago1734866651IN
Deri Protocol: DERI Token
0 ETH0.000241056.96708203
Transfer214575052024-12-22 10:41:2339 hrs ago1734864083IN
Deri Protocol: DERI Token
0 ETH0.00017835.15336863
Transfer214573972024-12-22 10:19:3540 hrs ago1734862775IN
Deri Protocol: DERI Token
0 ETH0.0004611115.46187046
Transfer214573612024-12-22 10:12:2340 hrs ago1734862343IN
Deri Protocol: DERI Token
0 ETH0.0004439514.88631697
Approve214572962024-12-22 9:59:2340 hrs ago1734861563IN
Deri Protocol: DERI Token
0 ETH0.000343077.39258354
Approve214572902024-12-22 9:58:1140 hrs ago1734861491IN
Deri Protocol: DERI Token
0 ETH0.000287256.22676885
Approve214572822024-12-22 9:56:3540 hrs ago1734861395IN
Deri Protocol: DERI Token
0 ETH0.000198866.84976035
Approve214572622024-12-22 9:52:3540 hrs ago1734861155IN
Deri Protocol: DERI Token
0 ETH0.000362717.86051298
Approve214560852024-12-22 5:56:1144 hrs ago1734846971IN
Deri Protocol: DERI Token
0 ETH0.00031236.77158192
Transfer214545592024-12-22 0:49:112 days ago1734828551IN
Deri Protocol: DERI Token
0 ETH0.000182315.26766539
Transfer214518152024-12-21 15:35:232 days ago1734795323IN
Deri Protocol: DERI Token
0 ETH0.0004341514.55757935
Transfer214515322024-12-21 14:38:352 days ago1734791915IN
Deri Protocol: DERI Token
0 ETH0.0003831211.07330847
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Deri

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : Deri.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.2 <0.8.0;

import "./SafeMath.sol";


contract Deri {

    using SafeMath for uint256;

    event ChangeController(address oldController, address newController);

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

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

    string public constant name = "Deri";

    string public constant symbol = "DERI";

    uint8 public constant decimals = 18;

    uint256 public maxSupply = 1_000_000_000e18; // 1 billion

    uint256 public totalSupply;

    address public controller;

    mapping (address => uint256) internal balances;

    mapping (address => mapping (address => uint256)) internal allowances;

    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");

    bytes32 public constant MINT_TYPEHASH = keccak256("Mint(address account,uint256 amount,uint256 nonce,uint256 deadline)");

    mapping (address => uint256) public nonces;

    constructor (address treasury) {
        uint256 treasuryAmount = 400_000_000e18; // 40% DERI into treasury
        totalSupply = treasuryAmount;
        balances[treasury] = treasuryAmount;
        emit Transfer(address(0), treasury, treasuryAmount);

        controller = msg.sender;
        emit ChangeController(address(0), controller);
    }

    // In order to prevent setting controller to an incorrect newController and forever lost the controll of this contract,
    // a signature of message keccak256(bytes(name)) from the newController must be provided.
    function setController(address newController, uint8 v, bytes32 r, bytes32 s) public {
        require(msg.sender == controller, "Deri.setController: only controller can set controller");
        require(v == 27 || v == 28, "Deri.setController: v not valid");
        bytes32 message = keccak256(bytes(name));
        bytes32 hash = keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", message));
        address signatory = ecrecover(hash, v, r, s);
        require(signatory == newController, "Deri.setController: newController is not the signatory");

        emit ChangeController(controller, newController);
        controller = newController;
    }

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

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

    function approve(address spender, uint256 amount) public returns (bool) {
        require(spender != address(0), "Deri.approve: approve to zero address");
        allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount) public returns (bool) {
        require(to != address(0), "Deri.transfer: transfer to zero address");
        _transfer(msg.sender, to, amount);
        return true;
    }

    function transferFrom(address from, address to, uint256 amount) public returns (bool) {
        require(to != address(0), "Deri.transferFrom: transfer to zero address");

        uint256 oldAllowance = allowances[from][msg.sender];
        if (msg.sender != from && oldAllowance != uint256(-1)) {
            uint256 newAllowance = oldAllowance.sub(amount, "Deri.transferFrom: amount exceeds allowance");
            allowances[from][msg.sender] = newAllowance;
            emit Approval(from, msg.sender, newAllowance);
        }

        _transfer(from, to, amount);
        return true;
    }

    function mint(address account, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {
        require(block.timestamp <= deadline, "Deri.mint: signature expired");

        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), _getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(MINT_TYPEHASH, account, amount, nonces[account]++, deadline));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory == controller, "Deri.mint: unauthorized");

        balances[account] = balances[account].add(amount);
        totalSupply = totalSupply.add(amount);

        require(totalSupply <= maxSupply, "Deri.mint: totalSupply exceeds maxSupply");
        emit Transfer(address(0), account, amount);
    }

    function _transfer(address from, address to, uint256 amount) internal {
        balances[from] = balances[from].sub(amount, "Deri._transfer: amount exceeds balance");
        balances[to] = balances[to].add(amount, "Deri._transfer: amount overflows");
        emit Transfer(from, to, amount);
    }

    function _getChainId() internal pure returns (uint256) {
        uint256 chainId;
        assembly {
            chainId := chainid()
        }
        return chainId;
    }

}

File 2 of 2 : SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return add(a, b, "SafeMath: addition overflow");
    }

    function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, errorMessage);
        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return mul(a, b, "SafeMath: multiplication overflow");
    }

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

        uint256 c = a * b;
        require(c / a == b, errorMessage);

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"treasury","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":false,"internalType":"address","name":"oldController","type":"address"},{"indexed":false,"internalType":"address","name":"newController","type":"address"}],"name":"ChangeController","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"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"controller","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","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":"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":[{"internalType":"address","name":"newController","type":"address"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526b033b2e3c9fd0803ce800000060005534801561002057600080fd5b506040516111603803806111608339818101604052602081101561004357600080fd5b50516b014adf4b7320334b9000000060018190556001600160a01b0382166000818152600360209081526040808320859055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600280546001600160a01b03191633179081905560408051600081526001600160a01b0392909216602083015280517f7bd9aab74fc8b860dff8328bda449632993abb9bd61340154740618a3debeb899281900390910190a1505061104f806101116000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063d5abeb0111610066578063d5abeb011461033c578063dd62ed3e14610344578063f76fc35e14610372578063f77c47911461037a57610100565b806370a08231146102bc5780637ecebe00146102e257806395d89b4114610308578063a9059cbb1461031057610100565b806320606b70116100d357806320606b701461022557806323b872dd1461022d578063253b2fe414610263578063313ce5671461029e57610100565b806306fdde0314610105578063095ea7b3146101825780630d0eff89146101c257806318160ddd1461020b575b600080fd5b61010d61039e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b0381351690602001356103be565b604080519115158252519081900360200190f35b610209600480360360c08110156101d857600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a0013561046c565b005b6102136107c7565b60408051918252519081900360200190f35b6102136107cd565b6101ae6004803603606081101561024357600080fd5b506001600160a01b038135811691602081013590911690604001356107f1565b6102096004803603608081101561027957600080fd5b506001600160a01b038135169060ff6020820135169060408101359060600135610911565b6102a6610b6c565b6040805160ff9092168252519081900360200190f35b610213600480360360208110156102d257600080fd5b50356001600160a01b0316610b71565b610213600480360360208110156102f857600080fd5b50356001600160a01b0316610b8c565b61010d610b9e565b6101ae6004803603604081101561032657600080fd5b506001600160a01b038135169060200135610bbe565b610213610c19565b6102136004803603604081101561035a57600080fd5b506001600160a01b0381358116916020013516610c1f565b610213610c4a565b610382610c6e565b604080516001600160a01b039092168252519081900360200190f35b604051806040016040528060048152602001634465726960e01b81525081565b60006001600160a01b0383166104055760405162461bcd60e51b8152600401808060200182810382526025815260200180610ee56025913960400191505060405180910390fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b834211156104c1576040805162461bcd60e51b815260206004820152601c60248201527f446572692e6d696e743a207369676e6174757265206578706972656400000000604482015290519081900360640190fd5b6040805180820190915260048152634465726960e01b60209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667f4374df0dc120acaa09fe1ab3548a2647a4e44b81c2655f30a78af8a7c6f28c7a610529610c7d565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401206001600160a01b038b16600081815260058652838120805460018082019092557fcc06883186e72888e726db711db243446271a6f8f6c7e443c6e8c8a4c9f07dc260c088015260e087019390935261010086018d90526101208601929092526101408086018c9052845180870390910181526101608601855280519087012061190160f01b61018087015261018286018490526101a2808701829052855180880390910181526101c28701808752815191890191909120908390526101e2870180875281905260ff8c1661020288015261022287018b905261024287018a90529451939750959394909391926102628083019392601f198301929081900390910190855afa15801561067b573d6000803e3d6000fd5b5050604051601f1901516002549092506001600160a01b0380841691161490506106ec576040805162461bcd60e51b815260206004820152601760248201527f446572692e6d696e743a20756e617574686f72697a6564000000000000000000604482015290519081900360640190fd5b6001600160a01b038a1660009081526003602052604090205461070f908a610c81565b6001600160a01b038b16600090815260036020526040902055600154610735908a610c81565b6001819055600054101561077a5760405162461bcd60e51b8152600401808060200182810382526028815260200180610ff26028913960400191505060405180910390fd5b604080518a815290516001600160a01b038c16916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350505050505050505050565b60015481565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60006001600160a01b0383166108385760405162461bcd60e51b815260040180806020018281038252602b815260200180610f40602b913960400191505060405180910390fd5b6001600160a01b038416600081815260046020908152604080832033808552925290912054911480159061086e57506000198114155b156108fb57600061089a846040518060600160405280602b8152602001610f91602b9139849190610cca565b6001600160a01b038716600081815260046020908152604080832033808552908352928190208590558051858152905194955091937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505b610906858585610d61565b506001949350505050565b6002546001600160a01b0316331461095a5760405162461bcd60e51b8152600401808060200182810382526036815260200180610fbc6036913960400191505060405180910390fd5b8260ff16601b148061096f57508260ff16601c145b6109c0576040805162461bcd60e51b815260206004820152601f60248201527f446572692e736574436f6e74726f6c6c65723a2076206e6f742076616c696400604482015290519081900360640190fd5b60408051808201825260048152634465726960e01b60209182015281517f19457468657265756d205369676e6564204d6573736167653a0a333200000000818301527f4374df0dc120acaa09fe1ab3548a2647a4e44b81c2655f30a78af8a7c6f28c7a603c80830182905284518084039091018152605c8301808652815191850191909120600091829052607c840180875281905260ff8916609c85015260bc840188905260dc84018790529451919493909260019260fc8083019392601f198301929081900390910190855afa158015610a9f573d6000803e3d6000fd5b505050602060405103519050866001600160a01b0316816001600160a01b031614610afb5760405162461bcd60e51b8152600401808060200182810382526036815260200180610f0a6036913960400191505060405180910390fd5b600254604080516001600160a01b039283168152918916602083015280517f7bd9aab74fc8b860dff8328bda449632993abb9bd61340154740618a3debeb899281900390910190a15050600280546001600160a01b0319166001600160a01b03969096169590951790945550505050565b601281565b6001600160a01b031660009081526003602052604090205490565b60056020526000908152604090205481565b604051806040016040528060048152602001634445524960e01b81525081565b60006001600160a01b038316610c055760405162461bcd60e51b8152600401808060200182810382526027815260200180610ebe6027913960400191505060405180910390fd5b610c10338484610d61565b50600192915050565b60005481565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b7fcc06883186e72888e726db711db243446271a6f8f6c7e443c6e8c8a4c9f07dc281565b6002546001600160a01b031681565b4690565b6000610cc383836040518060400160405280601b81526020017f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815250610e5f565b9392505050565b60008184841115610d595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d1e578181015183820152602001610d06565b50505050905090810190601f168015610d4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b610d9e81604051806060016040528060268152602001610f6b602691396001600160a01b0386166000908152600360205260409020549190610cca565b6001600160a01b03808516600090815260036020818152604080842095909555845180860186528181527f446572692e5f7472616e736665723a20616d6f756e74206f766572666c6f7773818301529387168352529190912054610e03918390610e5f565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008383018285821015610eb45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d1e578181015183820152602001610d06565b5094935050505056fe446572692e7472616e736665723a207472616e7366657220746f207a65726f2061646472657373446572692e617070726f76653a20617070726f766520746f207a65726f2061646472657373446572692e736574436f6e74726f6c6c65723a206e6577436f6e74726f6c6c6572206973206e6f7420746865207369676e61746f7279446572692e7472616e7366657246726f6d3a207472616e7366657220746f207a65726f2061646472657373446572692e5f7472616e736665723a20616d6f756e7420657863656564732062616c616e6365446572692e7472616e7366657246726f6d3a20616d6f756e74206578636565647320616c6c6f77616e6365446572692e736574436f6e74726f6c6c65723a206f6e6c7920636f6e74726f6c6c65722063616e2073657420636f6e74726f6c6c6572446572692e6d696e743a20746f74616c537570706c792065786365656473206d6178537570706c79a2646970667358221220780f73a832eb16b256aa97c925a67b64529b4c54c9cca4025e20dcfbdc966fc164736f6c63430007060033000000000000000000000000eb9f3ac220871dc050a033e8a31a00f49c604738

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063d5abeb0111610066578063d5abeb011461033c578063dd62ed3e14610344578063f76fc35e14610372578063f77c47911461037a57610100565b806370a08231146102bc5780637ecebe00146102e257806395d89b4114610308578063a9059cbb1461031057610100565b806320606b70116100d357806320606b701461022557806323b872dd1461022d578063253b2fe414610263578063313ce5671461029e57610100565b806306fdde0314610105578063095ea7b3146101825780630d0eff89146101c257806318160ddd1461020b575b600080fd5b61010d61039e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b0381351690602001356103be565b604080519115158252519081900360200190f35b610209600480360360c08110156101d857600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a0013561046c565b005b6102136107c7565b60408051918252519081900360200190f35b6102136107cd565b6101ae6004803603606081101561024357600080fd5b506001600160a01b038135811691602081013590911690604001356107f1565b6102096004803603608081101561027957600080fd5b506001600160a01b038135169060ff6020820135169060408101359060600135610911565b6102a6610b6c565b6040805160ff9092168252519081900360200190f35b610213600480360360208110156102d257600080fd5b50356001600160a01b0316610b71565b610213600480360360208110156102f857600080fd5b50356001600160a01b0316610b8c565b61010d610b9e565b6101ae6004803603604081101561032657600080fd5b506001600160a01b038135169060200135610bbe565b610213610c19565b6102136004803603604081101561035a57600080fd5b506001600160a01b0381358116916020013516610c1f565b610213610c4a565b610382610c6e565b604080516001600160a01b039092168252519081900360200190f35b604051806040016040528060048152602001634465726960e01b81525081565b60006001600160a01b0383166104055760405162461bcd60e51b8152600401808060200182810382526025815260200180610ee56025913960400191505060405180910390fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b834211156104c1576040805162461bcd60e51b815260206004820152601c60248201527f446572692e6d696e743a207369676e6174757265206578706972656400000000604482015290519081900360640190fd5b6040805180820190915260048152634465726960e01b60209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667f4374df0dc120acaa09fe1ab3548a2647a4e44b81c2655f30a78af8a7c6f28c7a610529610c7d565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401206001600160a01b038b16600081815260058652838120805460018082019092557fcc06883186e72888e726db711db243446271a6f8f6c7e443c6e8c8a4c9f07dc260c088015260e087019390935261010086018d90526101208601929092526101408086018c9052845180870390910181526101608601855280519087012061190160f01b61018087015261018286018490526101a2808701829052855180880390910181526101c28701808752815191890191909120908390526101e2870180875281905260ff8c1661020288015261022287018b905261024287018a90529451939750959394909391926102628083019392601f198301929081900390910190855afa15801561067b573d6000803e3d6000fd5b5050604051601f1901516002549092506001600160a01b0380841691161490506106ec576040805162461bcd60e51b815260206004820152601760248201527f446572692e6d696e743a20756e617574686f72697a6564000000000000000000604482015290519081900360640190fd5b6001600160a01b038a1660009081526003602052604090205461070f908a610c81565b6001600160a01b038b16600090815260036020526040902055600154610735908a610c81565b6001819055600054101561077a5760405162461bcd60e51b8152600401808060200182810382526028815260200180610ff26028913960400191505060405180910390fd5b604080518a815290516001600160a01b038c16916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350505050505050505050565b60015481565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60006001600160a01b0383166108385760405162461bcd60e51b815260040180806020018281038252602b815260200180610f40602b913960400191505060405180910390fd5b6001600160a01b038416600081815260046020908152604080832033808552925290912054911480159061086e57506000198114155b156108fb57600061089a846040518060600160405280602b8152602001610f91602b9139849190610cca565b6001600160a01b038716600081815260046020908152604080832033808552908352928190208590558051858152905194955091937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505b610906858585610d61565b506001949350505050565b6002546001600160a01b0316331461095a5760405162461bcd60e51b8152600401808060200182810382526036815260200180610fbc6036913960400191505060405180910390fd5b8260ff16601b148061096f57508260ff16601c145b6109c0576040805162461bcd60e51b815260206004820152601f60248201527f446572692e736574436f6e74726f6c6c65723a2076206e6f742076616c696400604482015290519081900360640190fd5b60408051808201825260048152634465726960e01b60209182015281517f19457468657265756d205369676e6564204d6573736167653a0a333200000000818301527f4374df0dc120acaa09fe1ab3548a2647a4e44b81c2655f30a78af8a7c6f28c7a603c80830182905284518084039091018152605c8301808652815191850191909120600091829052607c840180875281905260ff8916609c85015260bc840188905260dc84018790529451919493909260019260fc8083019392601f198301929081900390910190855afa158015610a9f573d6000803e3d6000fd5b505050602060405103519050866001600160a01b0316816001600160a01b031614610afb5760405162461bcd60e51b8152600401808060200182810382526036815260200180610f0a6036913960400191505060405180910390fd5b600254604080516001600160a01b039283168152918916602083015280517f7bd9aab74fc8b860dff8328bda449632993abb9bd61340154740618a3debeb899281900390910190a15050600280546001600160a01b0319166001600160a01b03969096169590951790945550505050565b601281565b6001600160a01b031660009081526003602052604090205490565b60056020526000908152604090205481565b604051806040016040528060048152602001634445524960e01b81525081565b60006001600160a01b038316610c055760405162461bcd60e51b8152600401808060200182810382526027815260200180610ebe6027913960400191505060405180910390fd5b610c10338484610d61565b50600192915050565b60005481565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b7fcc06883186e72888e726db711db243446271a6f8f6c7e443c6e8c8a4c9f07dc281565b6002546001600160a01b031681565b4690565b6000610cc383836040518060400160405280601b81526020017f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815250610e5f565b9392505050565b60008184841115610d595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d1e578181015183820152602001610d06565b50505050905090810190601f168015610d4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b610d9e81604051806060016040528060268152602001610f6b602691396001600160a01b0386166000908152600360205260409020549190610cca565b6001600160a01b03808516600090815260036020818152604080842095909555845180860186528181527f446572692e5f7472616e736665723a20616d6f756e74206f766572666c6f7773818301529387168352529190912054610e03918390610e5f565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008383018285821015610eb45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d1e578181015183820152602001610d06565b5094935050505056fe446572692e7472616e736665723a207472616e7366657220746f207a65726f2061646472657373446572692e617070726f76653a20617070726f766520746f207a65726f2061646472657373446572692e736574436f6e74726f6c6c65723a206e6577436f6e74726f6c6c6572206973206e6f7420746865207369676e61746f7279446572692e7472616e7366657246726f6d3a207472616e7366657220746f207a65726f2061646472657373446572692e5f7472616e736665723a20616d6f756e7420657863656564732062616c616e6365446572692e7472616e7366657246726f6d3a20616d6f756e74206578636565647320616c6c6f77616e6365446572692e736574436f6e74726f6c6c65723a206f6e6c7920636f6e74726f6c6c65722063616e2073657420636f6e74726f6c6c6572446572692e6d696e743a20746f74616c537570706c792065786365656473206d6178537570706c79a2646970667358221220780f73a832eb16b256aa97c925a67b64529b4c54c9cca4025e20dcfbdc966fc164736f6c63430007060033

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

000000000000000000000000eb9f3ac220871dc050a033e8a31a00f49c604738

-----Decoded View---------------
Arg [0] : treasury (address): 0xEB9F3aC220871dC050A033e8a31a00f49c604738

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000eb9f3ac220871dc050a033e8a31a00f49c604738


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Deri is a decentralized protocol for users to exchange risk exposures precisely and capital-efficiently. It is the DeFi way to trade derivatives: to hedge, to speculate, to arbitrage, all on chain.

Validator Index Block Amount
View All Withdrawals

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

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