Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,019 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 22143327 | 23 days ago | IN | 0 ETH | 0.00006157 | ||||
Claim | 21330996 | 137 days ago | IN | 0 ETH | 0.00133384 | ||||
Claim | 19422357 | 404 days ago | IN | 0 ETH | 0.00319951 | ||||
Claim | 19373416 | 410 days ago | IN | 0 ETH | 0.00337201 | ||||
Claim | 18978420 | 466 days ago | IN | 0 ETH | 0.00324714 | ||||
Claim | 18918097 | 474 days ago | IN | 0 ETH | 0.00065031 | ||||
Claim | 18801310 | 491 days ago | IN | 0 ETH | 0.00265159 | ||||
Claim | 18739332 | 499 days ago | IN | 0 ETH | 0.00275195 | ||||
Claim | 18698468 | 505 days ago | IN | 0 ETH | 0.00124916 | ||||
Claim | 18527410 | 529 days ago | IN | 0 ETH | 0.00187296 | ||||
Claim | 17073404 | 733 days ago | IN | 0 ETH | 0.0027654 | ||||
Claim | 16783975 | 774 days ago | IN | 0 ETH | 0.00170759 | ||||
Claim | 16667374 | 790 days ago | IN | 0 ETH | 0.00088772 | ||||
Claim | 16656200 | 792 days ago | IN | 0 ETH | 0.00136978 | ||||
Claim | 16637025 | 795 days ago | IN | 0 ETH | 0.00204002 | ||||
Claim | 16628596 | 796 days ago | IN | 0 ETH | 0.00140234 | ||||
Claim | 16628578 | 796 days ago | IN | 0 ETH | 0.00160167 | ||||
Claim | 16555660 | 806 days ago | IN | 0 ETH | 0.00115549 | ||||
Claim | 16550855 | 807 days ago | IN | 0 ETH | 0.00207728 | ||||
Claim | 16548514 | 807 days ago | IN | 0 ETH | 0.00150391 | ||||
Claim | 16538120 | 808 days ago | IN | 0 ETH | 0.00130043 | ||||
Claim | 16527098 | 810 days ago | IN | 0 ETH | 0.00077166 | ||||
Claim | 16521630 | 811 days ago | IN | 0 ETH | 0.00129661 | ||||
Claim | 16502382 | 813 days ago | IN | 0 ETH | 0.00071696 | ||||
Claim | 16494360 | 815 days ago | IN | 0 ETH | 0.00120191 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
LinearVesting
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT AND AGPL-3.0-or-later pragma solidity =0.8.9; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "../../shared/ProtocolConstants.sol"; import "../../interfaces/tokens/vesting/ILinearVesting.sol"; /** * @dev Implementation of the {ILinearVesting} interface. * * The straightforward vesting contract that gradually releases a * fixed supply of tokens to multiple vest parties over a 2 year * window. * * The token expects the {begin} hook to be invoked the moment * it is supplied with the necessary amount of tokens to vest, * which should be equivalent to the time the {setComponents} * function is invoked on the Vader token. */ contract LinearVesting is ILinearVesting, ProtocolConstants, Ownable { /* ========== LIBRARIES ========== */ /* ========== STATE VARIABLES ========== */ // The Vader token IERC20 public immutable vader; // The start of the vesting period uint256 public start; // The end of the vesting period uint256 public end; // The status of each vesting member (Vester) mapping(address => Vester) public vest; // The address of Converter contract. address public converter; /* ========== CONSTRUCTOR ========== */ /** * @dev Initializes the contract's vesters and vesting amounts as well as sets * the Vader token address. * * It conducts a sanity check to ensure that the total vesting amounts specified match * the team allocation to ensure that the contract is deployed correctly. * * Additionally, it transfers ownership to the Vader contract that needs to consequently * initiate the vesting period via {begin} after it mints the necessary amount to the contract. */ constructor(IERC20 _vader, address _converter) { require( _vader != IERC20(_ZERO_ADDRESS) && _converter != _ZERO_ADDRESS, "LinearVesting::constructor: Misconfiguration" ); vader = _vader; converter = _converter; transferOwnership(address(_vader)); } /* ========== VIEWS ========== */ /** * @dev Returns the amount a user can claim at a given point in time. * * Requirements: * - the vesting period has started */ function getClaim(address _vester) external view override hasStarted returns (uint256 vestedAmount) { Vester memory vester = vest[_vester]; return _getClaim( vester.amount, vester.lastClaim, vester.start, vester.end ); } /* ========== MUTATIVE FUNCTIONS ========== */ /** * @dev Allows a user to claim their pending vesting amount of the vested claim * * Emits a {Vested} event indicating the user who claimed their vested tokens * as well as the amount that was vested. * * Requirements: * * - the vesting period has started * - the caller must have a non-zero vested amount */ function claim() external override returns (uint256 vestedAmount) { Vester memory vester = vest[msg.sender]; require( vester.start != 0, "LinearVesting::claim: Incorrect Vesting Type" ); require( vester.start < block.timestamp, "LinearVesting::claim: Not Started Yet" ); vestedAmount = _getClaim( vester.amount, vester.lastClaim, vester.start, vester.end ); require(vestedAmount != 0, "LinearVesting::claim: Nothing to claim"); vester.amount -= uint192(vestedAmount); vester.lastClaim = uint64(block.timestamp); vest[msg.sender] = vester; emit Vested(msg.sender, vestedAmount); vader.transfer(msg.sender, vestedAmount); } /* ========== RESTRICTED FUNCTIONS ========== */ /** * @dev Allows the vesting period to be initiated. * * Emits a {VestingInitialized} event from which the start and * end can be calculated via it's attached timestamp. * * Requirements: * * - the caller must be the owner (vader token) */ function begin(address[] calldata vesters, uint192[] calldata amounts) external override onlyOwner { require( vesters.length == amounts.length, "LinearVesting::begin: Vesters and Amounts lengths do not match" ); uint256 _start = block.timestamp; uint256 _end = block.timestamp + _VESTING_DURATION; start = _start; end = _end; uint256 total; for (uint256 i = 0; i < vesters.length; i++) { require( amounts[i] != 0, "LinearVesting::begin: Incorrect Amount Specified" ); require( vesters[i] != _ZERO_ADDRESS, "LinearVesting::begin: Zero Vester Address Specified" ); require( vest[vesters[i]].amount == 0, "LinearVesting::begin: Duplicate Vester Entry Specified" ); vest[vesters[i]] = Vester( amounts[i], 0, uint128(_start), uint128(_end) ); total = total + amounts[i]; } require( total == _TEAM_ALLOCATION, "LinearVesting::begin: Invalid Vest Amounts Specified" ); require( vader.balanceOf(address(this)) >= _TEAM_ALLOCATION, "LinearVesting::begin: Vader is less than TEAM_ALLOCATION" ); emit VestingInitialized(_VESTING_DURATION); renounceOwnership(); } /** * @dev Adds a new vesting schedule to the contract. * * Requirements: * - Only {converter} can call. */ function vestFor(address user, uint256 amount) external override onlyConverter hasStarted { require( amount <= type(uint192).max, "LinearVesting::vestFor: Amount Overflows uint192" ); require( vest[user].amount == 0, "LinearVesting::vestFor: Already a vester" ); vest[user] = Vester( uint192(amount), 0, uint128(block.timestamp), uint128(block.timestamp + 365 days) ); vader.transferFrom(msg.sender, address(this), amount); emit VestingCreated(user, amount); } /* ========== PRIVATE FUNCTIONS ========== */ function _getClaim( uint256 amount, uint256 lastClaim, uint256 _start, uint256 _end ) private view returns (uint256) { if (block.timestamp >= _end) return amount; if (lastClaim == 0) lastClaim = _start; return (amount * (block.timestamp - lastClaim)) / (_end - lastClaim); } /** * @dev Validates that the vesting period has started */ function _hasStarted() private view { require( start != 0, "LinearVesting::_hasStarted: Vesting hasn't started yet" ); } /* * @dev Ensures that only converter is able to call a function. **/ function _onlyConverter() private view { require( msg.sender == converter, "LinearVesting::_onlyConverter: Only converter is allowed to call" ); } /* ========== MODIFIERS ========== */ /** * @dev Throws if the vesting period hasn't started */ modifier hasStarted() { _hasStarted(); _; } /* * @dev Throws if called by address that is not converter. **/ modifier onlyConverter() { _onlyConverter(); _; } }
// SPDX-License-Identifier: MIT AND AGPL-3.0-or-later pragma solidity =0.8.9; abstract contract ProtocolConstants { /* ========== GENERAL ========== */ // The zero address, utility address internal constant _ZERO_ADDRESS = address(0); // One year, utility uint256 internal constant _ONE_YEAR = 365 days; // Basis Points uint256 internal constant _MAX_BASIS_POINTS = 100_00; /* ========== VADER TOKEN ========== */ // Max VADER supply uint256 internal constant _INITIAL_VADER_SUPPLY = 25_000_000_000 * 1 ether; // Allocation for VETH holders uint256 internal constant _VETH_ALLOCATION = 7_500_000_000 * 1 ether; // Team allocation vested over {VESTING_DURATION} years uint256 internal constant _TEAM_ALLOCATION = 2_500_000_000 * 1 ether; // Ecosystem growth fund unlocked for partnerships & USDV provision uint256 internal constant _ECOSYSTEM_GROWTH = 2_500_000_000 * 1 ether; // Total grant tokens uint256 internal constant _GRANT_ALLOCATION = 12_500_000_000 * 1 ether; // Emission Era uint256 internal constant _EMISSION_ERA = 24 hours; // Initial Emission Curve, 5 uint256 internal constant _INITIAL_EMISSION_CURVE = 5; // Fee Basis Points uint256 internal constant _MAX_FEE_BASIS_POINTS = 1_00; /* ========== VESTING ========== */ // Vesting Duration uint256 internal constant _VESTING_DURATION = 2 * _ONE_YEAR; /* ========== CONVERTER ========== */ // Vader -> Vether Conversion Rate (1000:1) uint256 internal constant _VADER_VETHER_CONVERSION_RATE = 10_000; // Burn Address address internal constant _BURN = 0xdeaDDeADDEaDdeaDdEAddEADDEAdDeadDEADDEaD; /* ========== SWAP QUEUE ========== */ // A minimum of 10 swaps will be executed per block uint256 internal constant _MIN_SWAPS_EXECUTED = 10; // Expressed in basis points (50%) uint256 internal constant _DEFAULT_SWAPS_EXECUTED = 50_00; // The queue size of each block is 100 units uint256 internal constant _QUEUE_SIZE = 100; /* ========== GAS QUEUE ========== */ // Address of Chainlink Fast Gas Price Oracle address internal constant _FAST_GAS_ORACLE = 0x169E633A2D1E6c10dD91238Ba11c4A708dfEF37C; /* ========== VADER RESERVE ========== */ // Minimum delay between grants uint256 internal constant _GRANT_DELAY = 30 days; // Maximum grant size divisor uint256 internal constant _MAX_GRANT_BASIS_POINTS = 10_00; }
// SPDX-License-Identifier: MIT AND AGPL-3.0-or-later pragma solidity =0.8.9; interface ILinearVesting { /* ========== STRUCTS ========== */ // Struct of a vesting member, tight-packed to 256-bits struct Vester { uint192 amount; uint64 lastClaim; uint128 start; uint128 end; } /* ========== FUNCTIONS ========== */ function getClaim(address _vester) external view returns (uint256 vestedAmount); function claim() external returns (uint256 vestedAmount); // function claimConverted() external returns (uint256 vestedAmount); function begin(address[] calldata vesters, uint192[] calldata amounts) external; function vestFor(address user, uint256 amount) external; /* ========== EVENTS ========== */ event VestingInitialized(uint256 duration); event VestingCreated(address user, uint256 amount); event Vested(address indexed from, uint256 amount); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ 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: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
{ "remappings": [], "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "london", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IERC20","name":"_vader","type":"address"},{"internalType":"address","name":"_converter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Vested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VestingCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"}],"name":"VestingInitialized","type":"event"},{"inputs":[{"internalType":"address[]","name":"vesters","type":"address[]"},{"internalType":"uint192[]","name":"amounts","type":"uint192[]"}],"name":"begin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[{"internalType":"uint256","name":"vestedAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"converter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"end","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_vester","type":"address"}],"name":"getClaim","outputs":[{"internalType":"uint256","name":"vestedAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vader","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vest","outputs":[{"internalType":"uint192","name":"amount","type":"uint192"},{"internalType":"uint64","name":"lastClaim","type":"uint64"},{"internalType":"uint128","name":"start","type":"uint128"},{"internalType":"uint128","name":"end","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"vestFor","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b506040516200165e3803806200165e833981016040819052620000349162000236565b6200003f33620000ff565b6001600160a01b038216158015906200006057506001600160a01b03811615155b620000c75760405162461bcd60e51b815260206004820152602c60248201527f4c696e65617256657374696e673a3a636f6e7374727563746f723a204d69736360448201526b37b73334b3bab930ba34b7b760a11b60648201526084015b60405180910390fd5b6001600160a01b03828116608052600480546001600160a01b031916918316919091179055620000f7826200014f565b505062000275565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620001ab5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620000be565b6001600160a01b038116620002125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620000be565b6200021d81620000ff565b50565b6001600160a01b03811681146200021d57600080fd5b600080604083850312156200024a57600080fd5b8251620002578162000220565b60208401519092506200026a8162000220565b809150509250929050565b6080516113b9620002a56000396000818160be01528181610574015281816108130152610d8101526113b96000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063bd38837b11610071578063bd38837b14610154578063be9a655514610167578063e6e48a7f14610170578063efbe1c1c14610183578063f2fde38b1461018c578063f3c5f51e1461019f57600080fd5b80631f494b64146100b95780634cd3723a146100fd5780634e71d92d1461011e578063715018a6146101265780638da5cb5b1461013057806394e3516914610141575b600080fd5b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61011061010b366004611107565b610239565b6040519081526020016100f4565b6101106102ca565b61012e6105fd565b005b6000546001600160a01b03166100e0565b61012e61014f366004611129565b610633565b6004546100e0906001600160a01b031681565b61011060015481565b61012e61017e36600461119f565b6108d8565b61011060025481565b61012e61019a366004611107565b610ec9565b6101f76101ad366004611107565b600360205260009081526040902080546001909101546001600160c01b03821691600160c01b900467ffffffffffffffff16906001600160801b0380821691600160801b90041684565b604080516001600160c01b03909516855267ffffffffffffffff90931660208501526001600160801b03918216928401929092521660608201526080016100f4565b6000610243610f64565b6001600160a01b038216600090815260036020908152604091829020825160808101845281546001600160c01b038116808352600160c01b90910467ffffffffffffffff169382018490526001909201546001600160801b03808216958301869052600160801b909104166060820181905290936102c19391610fd2565b9150505b919050565b336000908152600360209081526040808320815160808101835281546001600160c01b0381168252600160c01b900467ffffffffffffffff1693810193909352600101546001600160801b03808216928401839052600160801b9091041660608301526103935760405162461bcd60e51b815260206004820152602c60248201527f4c696e65617256657374696e673a3a636c61696d3a20496e636f72726563742060448201526b56657374696e67205479706560a01b60648201526084015b60405180910390fd5b4281604001516001600160801b0316106103fd5760405162461bcd60e51b815260206004820152602560248201527f4c696e65617256657374696e673a3a636c61696d3a204e6f7420537461727465604482015264190816595d60da1b606482015260840161038a565b61043e81600001516001600160c01b0316826020015167ffffffffffffffff1683604001516001600160801b031684606001516001600160801b0316610fd2565b91508161049c5760405162461bcd60e51b815260206004820152602660248201527f4c696e65617256657374696e673a3a636c61696d3a204e6f7468696e6720746f60448201526520636c61696d60d01b606482015260840161038a565b81816000018181516104ae9190611221565b6001600160c01b0390811690915267ffffffffffffffff4281166020808601918252336000818152600390925260409182902087519351909416600160c01b02929094169190911782558085015160608601516001600160801b03908116600160801b02911617600190920191909155519091507ed5958799b183a7b738d3ad5e711305293dd5076a37a4e3b7e6611dea6114f3906105509085815260200190565b60405180910390a260405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401602060405180830381600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f89190611249565b505090565b6000546001600160a01b031633146106275760405162461bcd60e51b815260040161038a9061126b565b610631600061101e565b565b61063b61106e565b610643610f64565b6001600160c01b038111156106b35760405162461bcd60e51b815260206004820152603060248201527f4c696e65617256657374696e673a3a76657374466f723a20416d6f756e74204f60448201526f3b32b9333637bbb9903ab4b73a189c9960811b606482015260840161038a565b6001600160a01b0382166000908152600360205260409020546001600160c01b0316156107335760405162461bcd60e51b815260206004820152602860248201527f4c696e65617256657374696e673a3a76657374466f723a20416c72656164792060448201526730903b32b9ba32b960c11b606482015260840161038a565b6040518060800160405280826001600160c01b03168152602001600067ffffffffffffffff168152602001426001600160801b03168152602001426301e1338061077d91906112a0565b6001600160801b039081169091526001600160a01b0384811660009081526003602090815260409182902085519186015167ffffffffffffffff16600160c01b026001600160c01b03909216919091178155848201516060909501518416600160801b02949093169390931760019092019190915590516323b872dd60e01b8152336004820152306024820152604481018390527f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd90606401602060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108919190611249565b50604080516001600160a01b0384168152602081018390527f2f5488c5b0350655053f3d00e1693b26a49ecd0242b2c0df881ccda054490d30910160405180910390a15050565b6000546001600160a01b031633146109025760405162461bcd60e51b815260040161038a9061126b565b8281146109775760405162461bcd60e51b815260206004820152603e60248201527f4c696e65617256657374696e673a3a626567696e3a205665737465727320616e60448201527f6420416d6f756e7473206c656e6774687320646f206e6f74206d617463680000606482015260840161038a565b4260006109896301e1338060026112b8565b61099390426112a0565b6001839055600281905590506000805b86811015610ce5578585828181106109bd576109bd6112d7565b90506020020160208101906109d291906112ed565b6001600160c01b0316610a405760405162461bcd60e51b815260206004820152603060248201527f4c696e65617256657374696e673a3a626567696e3a20496e636f72726563742060448201526f105b5bdd5b9d0814dc1958da599a595960821b606482015260840161038a565b6000888883818110610a5457610a546112d7565b9050602002016020810190610a699190611107565b6001600160a01b03161415610adc5760405162461bcd60e51b815260206004820152603360248201527f4c696e65617256657374696e673a3a626567696e3a205a65726f2056657374656044820152721c881059191c995cdcc814dc1958da599a5959606a1b606482015260840161038a565b60036000898984818110610af257610af26112d7565b9050602002016020810190610b079190611107565b6001600160a01b031681526020810191909152604001600020546001600160c01b031615610b965760405162461bcd60e51b815260206004820152603660248201527f4c696e65617256657374696e673a3a626567696e3a204475706c69636174652060448201527515995cdd195c88115b9d1c9e4814dc1958da599a595960521b606482015260840161038a565b6040518060800160405280878784818110610bb357610bb36112d7565b9050602002016020810190610bc891906112ed565b6001600160c01b03168152602001600067ffffffffffffffff168152602001856001600160801b03168152602001846001600160801b0316815250600360008a8a85818110610c1957610c196112d7565b9050602002016020810190610c2e9190611107565b6001600160a01b03168152602080820192909252604090810160002083519284015167ffffffffffffffff16600160c01b026001600160c01b039093169290921782558201516060909201516001600160801b03908116600160801b02921691909117600190910155858582818110610ca957610ca96112d7565b9050602002016020810190610cbe91906112ed565b610cd1906001600160c01b0316836112a0565b915080610cdd81611316565b9150506109a3565b506b0813f3978f894098440000008114610d5e5760405162461bcd60e51b815260206004820152603460248201527f4c696e65617256657374696e673a3a626567696e3a20496e76616c69642056656044820152731cdd08105b5bdd5b9d1cc814dc1958da599a595960621b606482015260840161038a565b6040516370a0823160e01b81523060048201526b0813f3978f89409844000000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b158015610dcb57600080fd5b505afa158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e039190611331565b1015610e775760405162461bcd60e51b815260206004820152603860248201527f4c696e65617256657374696e673a3a626567696e3a205661646572206973206c60448201527f657373207468616e205445414d5f414c4c4f434154494f4e0000000000000000606482015260840161038a565b7f5e1fc654b1f2de8a2a47d73f2ba9a16b9d8973961ed1492c9a74699e2e0e70bd610ea76301e1338060026112b8565b60405190815260200160405180910390a1610ec06105fd565b50505050505050565b6000546001600160a01b03163314610ef35760405162461bcd60e51b815260040161038a9061126b565b6001600160a01b038116610f585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161038a565b610f618161101e565b50565b6001546106315760405162461bcd60e51b815260206004820152603660248201527f4c696e65617256657374696e673a3a5f686173537461727465643a20566573746044820152751a5b99c81a185cdb89dd081cdd185c9d1959081e595d60521b606482015260840161038a565b6000814210610fe2575083611016565b83610feb578293505b610ff5848361134a565b610fff854261134a565b61100990876112b8565b6110139190611361565b90505b949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6004546001600160a01b03163314610631576040805162461bcd60e51b81526020600482015260248101919091527f4c696e65617256657374696e673a3a5f6f6e6c79436f6e7665727465723a204f60448201527f6e6c7920636f6e76657274657220697320616c6c6f77656420746f2063616c6c606482015260840161038a565b80356001600160a01b03811681146102c557600080fd5b60006020828403121561111957600080fd5b611122826110f0565b9392505050565b6000806040838503121561113c57600080fd5b611145836110f0565b946020939093013593505050565b60008083601f84011261116557600080fd5b50813567ffffffffffffffff81111561117d57600080fd5b6020830191508360208260051b850101111561119857600080fd5b9250929050565b600080600080604085870312156111b557600080fd5b843567ffffffffffffffff808211156111cd57600080fd5b6111d988838901611153565b909650945060208701359150808211156111f257600080fd5b506111ff87828801611153565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160c01b03838116908316818110156112415761124161120b565b039392505050565b60006020828403121561125b57600080fd5b8151801515811461112257600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156112b3576112b361120b565b500190565b60008160001904831182151516156112d2576112d261120b565b500290565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156112ff57600080fd5b81356001600160c01b038116811461112257600080fd5b600060001982141561132a5761132a61120b565b5060010190565b60006020828403121561134357600080fd5b5051919050565b60008282101561135c5761135c61120b565b500390565b60008261137e57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220020e780002a7ce9b40e68cfeb67d2d534d1daa61f3cee99362e6ac10437056a264736f6c634300080900330000000000000000000000002602278ee1882889b946eb11dc0e8100756509830000000000000000000000006d4a43ee4770a2bab97460d3a3b783641d85d108
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063bd38837b11610071578063bd38837b14610154578063be9a655514610167578063e6e48a7f14610170578063efbe1c1c14610183578063f2fde38b1461018c578063f3c5f51e1461019f57600080fd5b80631f494b64146100b95780634cd3723a146100fd5780634e71d92d1461011e578063715018a6146101265780638da5cb5b1461013057806394e3516914610141575b600080fd5b6100e07f0000000000000000000000002602278ee1882889b946eb11dc0e81007565098381565b6040516001600160a01b0390911681526020015b60405180910390f35b61011061010b366004611107565b610239565b6040519081526020016100f4565b6101106102ca565b61012e6105fd565b005b6000546001600160a01b03166100e0565b61012e61014f366004611129565b610633565b6004546100e0906001600160a01b031681565b61011060015481565b61012e61017e36600461119f565b6108d8565b61011060025481565b61012e61019a366004611107565b610ec9565b6101f76101ad366004611107565b600360205260009081526040902080546001909101546001600160c01b03821691600160c01b900467ffffffffffffffff16906001600160801b0380821691600160801b90041684565b604080516001600160c01b03909516855267ffffffffffffffff90931660208501526001600160801b03918216928401929092521660608201526080016100f4565b6000610243610f64565b6001600160a01b038216600090815260036020908152604091829020825160808101845281546001600160c01b038116808352600160c01b90910467ffffffffffffffff169382018490526001909201546001600160801b03808216958301869052600160801b909104166060820181905290936102c19391610fd2565b9150505b919050565b336000908152600360209081526040808320815160808101835281546001600160c01b0381168252600160c01b900467ffffffffffffffff1693810193909352600101546001600160801b03808216928401839052600160801b9091041660608301526103935760405162461bcd60e51b815260206004820152602c60248201527f4c696e65617256657374696e673a3a636c61696d3a20496e636f72726563742060448201526b56657374696e67205479706560a01b60648201526084015b60405180910390fd5b4281604001516001600160801b0316106103fd5760405162461bcd60e51b815260206004820152602560248201527f4c696e65617256657374696e673a3a636c61696d3a204e6f7420537461727465604482015264190816595d60da1b606482015260840161038a565b61043e81600001516001600160c01b0316826020015167ffffffffffffffff1683604001516001600160801b031684606001516001600160801b0316610fd2565b91508161049c5760405162461bcd60e51b815260206004820152602660248201527f4c696e65617256657374696e673a3a636c61696d3a204e6f7468696e6720746f60448201526520636c61696d60d01b606482015260840161038a565b81816000018181516104ae9190611221565b6001600160c01b0390811690915267ffffffffffffffff4281166020808601918252336000818152600390925260409182902087519351909416600160c01b02929094169190911782558085015160608601516001600160801b03908116600160801b02911617600190920191909155519091507ed5958799b183a7b738d3ad5e711305293dd5076a37a4e3b7e6611dea6114f3906105509085815260200190565b60405180910390a260405163a9059cbb60e01b8152336004820152602481018390527f0000000000000000000000002602278ee1882889b946eb11dc0e8100756509836001600160a01b03169063a9059cbb90604401602060405180830381600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f89190611249565b505090565b6000546001600160a01b031633146106275760405162461bcd60e51b815260040161038a9061126b565b610631600061101e565b565b61063b61106e565b610643610f64565b6001600160c01b038111156106b35760405162461bcd60e51b815260206004820152603060248201527f4c696e65617256657374696e673a3a76657374466f723a20416d6f756e74204f60448201526f3b32b9333637bbb9903ab4b73a189c9960811b606482015260840161038a565b6001600160a01b0382166000908152600360205260409020546001600160c01b0316156107335760405162461bcd60e51b815260206004820152602860248201527f4c696e65617256657374696e673a3a76657374466f723a20416c72656164792060448201526730903b32b9ba32b960c11b606482015260840161038a565b6040518060800160405280826001600160c01b03168152602001600067ffffffffffffffff168152602001426001600160801b03168152602001426301e1338061077d91906112a0565b6001600160801b039081169091526001600160a01b0384811660009081526003602090815260409182902085519186015167ffffffffffffffff16600160c01b026001600160c01b03909216919091178155848201516060909501518416600160801b02949093169390931760019092019190915590516323b872dd60e01b8152336004820152306024820152604481018390527f0000000000000000000000002602278ee1882889b946eb11dc0e810075650983909116906323b872dd90606401602060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108919190611249565b50604080516001600160a01b0384168152602081018390527f2f5488c5b0350655053f3d00e1693b26a49ecd0242b2c0df881ccda054490d30910160405180910390a15050565b6000546001600160a01b031633146109025760405162461bcd60e51b815260040161038a9061126b565b8281146109775760405162461bcd60e51b815260206004820152603e60248201527f4c696e65617256657374696e673a3a626567696e3a205665737465727320616e60448201527f6420416d6f756e7473206c656e6774687320646f206e6f74206d617463680000606482015260840161038a565b4260006109896301e1338060026112b8565b61099390426112a0565b6001839055600281905590506000805b86811015610ce5578585828181106109bd576109bd6112d7565b90506020020160208101906109d291906112ed565b6001600160c01b0316610a405760405162461bcd60e51b815260206004820152603060248201527f4c696e65617256657374696e673a3a626567696e3a20496e636f72726563742060448201526f105b5bdd5b9d0814dc1958da599a595960821b606482015260840161038a565b6000888883818110610a5457610a546112d7565b9050602002016020810190610a699190611107565b6001600160a01b03161415610adc5760405162461bcd60e51b815260206004820152603360248201527f4c696e65617256657374696e673a3a626567696e3a205a65726f2056657374656044820152721c881059191c995cdcc814dc1958da599a5959606a1b606482015260840161038a565b60036000898984818110610af257610af26112d7565b9050602002016020810190610b079190611107565b6001600160a01b031681526020810191909152604001600020546001600160c01b031615610b965760405162461bcd60e51b815260206004820152603660248201527f4c696e65617256657374696e673a3a626567696e3a204475706c69636174652060448201527515995cdd195c88115b9d1c9e4814dc1958da599a595960521b606482015260840161038a565b6040518060800160405280878784818110610bb357610bb36112d7565b9050602002016020810190610bc891906112ed565b6001600160c01b03168152602001600067ffffffffffffffff168152602001856001600160801b03168152602001846001600160801b0316815250600360008a8a85818110610c1957610c196112d7565b9050602002016020810190610c2e9190611107565b6001600160a01b03168152602080820192909252604090810160002083519284015167ffffffffffffffff16600160c01b026001600160c01b039093169290921782558201516060909201516001600160801b03908116600160801b02921691909117600190910155858582818110610ca957610ca96112d7565b9050602002016020810190610cbe91906112ed565b610cd1906001600160c01b0316836112a0565b915080610cdd81611316565b9150506109a3565b506b0813f3978f894098440000008114610d5e5760405162461bcd60e51b815260206004820152603460248201527f4c696e65617256657374696e673a3a626567696e3a20496e76616c69642056656044820152731cdd08105b5bdd5b9d1cc814dc1958da599a595960621b606482015260840161038a565b6040516370a0823160e01b81523060048201526b0813f3978f89409844000000907f0000000000000000000000002602278ee1882889b946eb11dc0e8100756509836001600160a01b0316906370a082319060240160206040518083038186803b158015610dcb57600080fd5b505afa158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e039190611331565b1015610e775760405162461bcd60e51b815260206004820152603860248201527f4c696e65617256657374696e673a3a626567696e3a205661646572206973206c60448201527f657373207468616e205445414d5f414c4c4f434154494f4e0000000000000000606482015260840161038a565b7f5e1fc654b1f2de8a2a47d73f2ba9a16b9d8973961ed1492c9a74699e2e0e70bd610ea76301e1338060026112b8565b60405190815260200160405180910390a1610ec06105fd565b50505050505050565b6000546001600160a01b03163314610ef35760405162461bcd60e51b815260040161038a9061126b565b6001600160a01b038116610f585760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161038a565b610f618161101e565b50565b6001546106315760405162461bcd60e51b815260206004820152603660248201527f4c696e65617256657374696e673a3a5f686173537461727465643a20566573746044820152751a5b99c81a185cdb89dd081cdd185c9d1959081e595d60521b606482015260840161038a565b6000814210610fe2575083611016565b83610feb578293505b610ff5848361134a565b610fff854261134a565b61100990876112b8565b6110139190611361565b90505b949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6004546001600160a01b03163314610631576040805162461bcd60e51b81526020600482015260248101919091527f4c696e65617256657374696e673a3a5f6f6e6c79436f6e7665727465723a204f60448201527f6e6c7920636f6e76657274657220697320616c6c6f77656420746f2063616c6c606482015260840161038a565b80356001600160a01b03811681146102c557600080fd5b60006020828403121561111957600080fd5b611122826110f0565b9392505050565b6000806040838503121561113c57600080fd5b611145836110f0565b946020939093013593505050565b60008083601f84011261116557600080fd5b50813567ffffffffffffffff81111561117d57600080fd5b6020830191508360208260051b850101111561119857600080fd5b9250929050565b600080600080604085870312156111b557600080fd5b843567ffffffffffffffff808211156111cd57600080fd5b6111d988838901611153565b909650945060208701359150808211156111f257600080fd5b506111ff87828801611153565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160c01b03838116908316818110156112415761124161120b565b039392505050565b60006020828403121561125b57600080fd5b8151801515811461112257600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156112b3576112b361120b565b500190565b60008160001904831182151516156112d2576112d261120b565b500290565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156112ff57600080fd5b81356001600160c01b038116811461112257600080fd5b600060001982141561132a5761132a61120b565b5060010190565b60006020828403121561134357600080fd5b5051919050565b60008282101561135c5761135c61120b565b500390565b60008261137e57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220020e780002a7ce9b40e68cfeb67d2d534d1daa61f3cee99362e6ac10437056a264736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002602278ee1882889b946eb11dc0e8100756509830000000000000000000000006d4a43ee4770a2bab97460d3a3b783641d85d108
-----Decoded View---------------
Arg [0] : _vader (address): 0x2602278EE1882889B946eb11DC0E810075650983
Arg [1] : _converter (address): 0x6D4a43Ee4770a2Bab97460d3a3B783641D85d108
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000002602278ee1882889b946eb11dc0e810075650983
Arg [1] : 0000000000000000000000006d4a43ee4770a2bab97460d3a3b783641d85d108
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000008 | 3,750,213,746.4911 | $29,701.69 |
Loading...
Loading
Loading...
Loading
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.