Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 6,825 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20660726 | 28 hrs ago | IN | 0 ETH | 0.00002495 | ||||
Approve | 20660523 | 29 hrs ago | IN | 0 ETH | 0.00001929 | ||||
Transfer | 20651036 | 2 days ago | IN | 0 ETH | 0.00002028 | ||||
Transfer | 20649797 | 2 days ago | IN | 0 ETH | 0.00003967 | ||||
Approve | 20634196 | 4 days ago | IN | 0 ETH | 0.0001547 | ||||
Transfer | 20622748 | 6 days ago | IN | 0 ETH | 0.00028089 | ||||
Transfer | 20620465 | 6 days ago | IN | 0 ETH | 0.00038378 | ||||
Transfer | 20620464 | 6 days ago | IN | 0 ETH | 0.00020373 | ||||
Transfer | 20614660 | 7 days ago | IN | 0 ETH | 0.00003775 | ||||
Approve | 20594834 | 10 days ago | IN | 0 ETH | 0.00002983 | ||||
Approve | 20574253 | 13 days ago | IN | 0 ETH | 0.00002494 | ||||
Transfer | 20571580 | 13 days ago | IN | 0 ETH | 0.00021282 | ||||
Approve | 20571422 | 13 days ago | IN | 0 ETH | 0.00005946 | ||||
Approve | 20555509 | 15 days ago | IN | 0 ETH | 0.00002865 | ||||
Approve | 20555509 | 15 days ago | IN | 0 ETH | 0.00005039 | ||||
Approve | 20545570 | 17 days ago | IN | 0 ETH | 0.00003869 | ||||
Approve | 20525191 | 20 days ago | IN | 0 ETH | 0.00008925 | ||||
Transfer | 20523265 | 20 days ago | IN | 0 ETH | 0.00004373 | ||||
Transfer | 20517797 | 21 days ago | IN | 0 ETH | 0.00010311 | ||||
Transfer | 20503599 | 23 days ago | IN | 0 ETH | 0.0001448 | ||||
Approve | 20499318 | 23 days ago | IN | 0 ETH | 0.00010972 | ||||
Transfer | 20471117 | 27 days ago | IN | 0 ETH | 0.00023037 | ||||
Transfer | 20463906 | 28 days ago | IN | 0 ETH | 0.00065556 | ||||
Transfer | 20459669 | 29 days ago | IN | 0 ETH | 0.00167008 | ||||
Transfer | 20459658 | 29 days ago | IN | 0 ETH | 0.00221583 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Deri
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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; } }
// 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; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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
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.Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.