More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,041 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 21446223 | 2 days ago | IN | 0 ETH | 0.00070683 | ||||
Withdraw | 21409659 | 7 days ago | IN | 0 ETH | 0.00043707 | ||||
Withdraw | 21409471 | 7 days ago | IN | 0 ETH | 0.00059454 | ||||
Withdraw | 21403816 | 8 days ago | IN | 0 ETH | 0.00079974 | ||||
Withdraw | 21403808 | 8 days ago | IN | 0 ETH | 0.00088088 | ||||
Withdraw | 21399871 | 9 days ago | IN | 0 ETH | 0.00052676 | ||||
Withdraw | 21399814 | 9 days ago | IN | 0 ETH | 0.00040796 | ||||
Withdraw | 21397002 | 9 days ago | IN | 0 ETH | 0.00053878 | ||||
Withdraw | 21396967 | 9 days ago | IN | 0 ETH | 0.00072789 | ||||
Withdraw | 21396545 | 9 days ago | IN | 0 ETH | 0.00072121 | ||||
Withdraw | 21389734 | 10 days ago | IN | 0 ETH | 0.00096985 | ||||
Withdraw | 21372040 | 12 days ago | IN | 0 ETH | 0.00109813 | ||||
Withdraw | 21327212 | 19 days ago | IN | 0 ETH | 0.00092073 | ||||
Withdraw | 21290622 | 24 days ago | IN | 0 ETH | 0.00033818 | ||||
Withdraw | 21268831 | 27 days ago | IN | 0 ETH | 0.00047331 | ||||
Withdraw | 21268460 | 27 days ago | IN | 0 ETH | 0.0004563 | ||||
Withdraw | 21235867 | 32 days ago | IN | 0 ETH | 0.00076085 | ||||
Withdraw | 21234375 | 32 days ago | IN | 0 ETH | 0.00068091 | ||||
Withdraw | 21154361 | 43 days ago | IN | 0 ETH | 0.00045717 | ||||
Withdraw | 21140894 | 45 days ago | IN | 0 ETH | 0.00044646 | ||||
Withdraw | 21137657 | 45 days ago | IN | 0 ETH | 0.00123134 | ||||
Withdraw | 21131525 | 46 days ago | IN | 0 ETH | 0.00138735 | ||||
Withdraw | 21119979 | 48 days ago | IN | 0 ETH | 0.00026149 | ||||
Withdraw | 21105525 | 50 days ago | IN | 0 ETH | 0.00017102 | ||||
Withdraw | 21102865 | 50 days ago | IN | 0 ETH | 0.00022298 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
VestingVault
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-08 */ pragma solidity 0.5.17; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) return 0; uint256 c = a * b; require(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner, "permission denied"); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "invalid address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } 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); } library Address { /** * @dev Returns true if `account` is a contract. * * This test is non-exhaustive, and there may be false-negatives: during the * execution of a contract's constructor, its address will be reported as * not containing a contract. * * IMPORTANT: It is unsafe to assume that an address for which this * function returns false is an externally-owned account (EOA) and not a * contract. */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != 0x0 && codehash != accountHash); } /** * @dev Converts an `address` into `address payable`. Note that this is * simply a type cast: the actual underlying value is not changed. * * _Available since v2.4.0._ */ function toPayable(address account) internal pure returns (address payable) { return address(uint160(account)); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. * * _Available since v2.4.0._ */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-call-value (bool success, ) = recipient.call.value(amount)(""); require(success, "Address: unable to send value, recipient may have reverted"); } } library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. // A Solidity high level call has three parts: // 1. The target address is checked to verify it contains contract code // 2. The call itself is made, and success asserted // 3. The return value is decoded, which in turn checks the size of the returned data. // solhint-disable-next-line max-line-length require(address(token).isContract(), "SafeERC20: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } contract VestingVault is Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; IERC20 public constant hakka = IERC20(0x0E29e5AbbB5FD88e28b2d355774e73BD47dE3bcd); uint256 public constant vestingPeriod = 19 days; uint256 public constant proportion = 173831376164413312; //17.38% mapping(address => uint256) public balanceOf; mapping(address => uint256) public lastWithdrawalTime; event Deposit(address indexed from, address indexed to, uint256 amount); event Withdraw(address indexed from, uint256 amount); function deposit(address to, uint256 amount) external { hakka.safeTransferFrom(msg.sender, address(this), amount); balanceOf[to] = balanceOf[to].add(amount); emit Deposit(msg.sender, to, amount); } function withdraw() external returns (uint256 amount) { address from = msg.sender; require(lastWithdrawalTime[from].add(vestingPeriod) < now); lastWithdrawalTime[from] = now; amount = balanceOf[from].mul(proportion).div(1e18); balanceOf[from] = balanceOf[from].sub(amount); hakka.safeTransfer(from, amount); emit Withdraw(msg.sender, amount); } function inCaseTokenGetsStuckPartial(IERC20 _TokenAddress, uint256 _amount) onlyOwner public { require(_TokenAddress != hakka); _TokenAddress.safeTransfer(msg.sender, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hakka","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_TokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"inCaseTokenGetsStuckPartial","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastWithdrawalTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vestingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600080546001600160a01b03191633179055610912806100256000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a08231146101455780637313ee5a1461016b5780638da5cb5b1461017357806392f0c26414610197578063f2fde38b1461019f5761009e565b80633ccfd60b146100a357806347e7ef24146100bd5780634de5120e146100eb5780634f97e491146101115780635b4246d41461013d575b600080fd5b6100ab6101c5565b60408051918252519081900360200190f35b6100e9600480360360408110156100d357600080fd5b506001600160a01b0381351690602001356102f3565b005b6100ab6004803603602081101561010157600080fd5b50356001600160a01b031661039b565b6100e96004803603604081101561012757600080fd5b506001600160a01b0381351690602001356103ad565b6100ab610448565b6100ab6004803603602081101561015b57600080fd5b50356001600160a01b0316610454565b6100ab610466565b61017b61046d565b604080516001600160a01b039092168252519081900360200190f35b61017b61047c565b6100e9600480360360208110156101b557600080fd5b50356001600160a01b0316610494565b3360008181526002602052604081205490919042906101ed9062190c8063ffffffff61058f16565b106101f757600080fd5b6001600160a01b0381166000908152600260209081526040808320429055600190915290205461024f90670de0b6b3a7640000906102439067026992b73318df8063ffffffff6105aa16565b9063ffffffff6105d116565b6001600160a01b03821660009081526001602052604090205490925061027b908363ffffffff6105f316565b6001600160a01b0382166000908152600160205260409020556102b9730e29e5abbb5fd88e28b2d355774e73bd47de3bcd828463ffffffff61060816565b60408051838152905133917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a25090565b610319730e29e5abbb5fd88e28b2d355774e73bd47de3bcd33308463ffffffff61065f16565b6001600160a01b038216600090815260016020526040902054610342908263ffffffff61058f16565b6001600160a01b0383166000818152600160209081526040918290209390935580518481529051919233927f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f629281900390910190a35050565b60026020526000908152604090205481565b6000546001600160a01b03163314610400576040805162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b6001600160a01b038216730e29e5abbb5fd88e28b2d355774e73bd47de3bcd141561042a57600080fd5b6104446001600160a01b038316338363ffffffff61060816565b5050565b67026992b73318df8081565b60016020526000908152604090205481565b62190c8081565b6000546001600160a01b031681565b730e29e5abbb5fd88e28b2d355774e73bd47de3bcd81565b6000546001600160a01b031633146104e7576040805162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b6001600160a01b038116610534576040805162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000828201838110156105a157600080fd5b90505b92915050565b6000826105b9575060006105a4565b828202828482816105c657fe5b04146105a157600080fd5b60008082116105df57600080fd5b60008284816105ea57fe5b04949350505050565b60008282111561060257600080fd5b50900390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261065a9084906106bf565b505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526106b99085906106bf565b50505050565b6106d1826001600160a01b0316610877565b610722576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106107605780518252601f199092019160209182019101610741565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146107c2576040519150601f19603f3d011682016040523d82523d6000602084013e6107c7565b606091505b50915091508161081e576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156106b95780806020019051602081101561083a57600080fd5b50516106b95760405162461bcd60e51b815260040180806020018281038252602a8152602001806108b4602a913960400191505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906108ab5750808214155b94935050505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158208d1de3a00c12e5a1a946ad4c5fc3172ff0f5ce2d6bf4ed935a1aac0ee7a79be164736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a08231146101455780637313ee5a1461016b5780638da5cb5b1461017357806392f0c26414610197578063f2fde38b1461019f5761009e565b80633ccfd60b146100a357806347e7ef24146100bd5780634de5120e146100eb5780634f97e491146101115780635b4246d41461013d575b600080fd5b6100ab6101c5565b60408051918252519081900360200190f35b6100e9600480360360408110156100d357600080fd5b506001600160a01b0381351690602001356102f3565b005b6100ab6004803603602081101561010157600080fd5b50356001600160a01b031661039b565b6100e96004803603604081101561012757600080fd5b506001600160a01b0381351690602001356103ad565b6100ab610448565b6100ab6004803603602081101561015b57600080fd5b50356001600160a01b0316610454565b6100ab610466565b61017b61046d565b604080516001600160a01b039092168252519081900360200190f35b61017b61047c565b6100e9600480360360208110156101b557600080fd5b50356001600160a01b0316610494565b3360008181526002602052604081205490919042906101ed9062190c8063ffffffff61058f16565b106101f757600080fd5b6001600160a01b0381166000908152600260209081526040808320429055600190915290205461024f90670de0b6b3a7640000906102439067026992b73318df8063ffffffff6105aa16565b9063ffffffff6105d116565b6001600160a01b03821660009081526001602052604090205490925061027b908363ffffffff6105f316565b6001600160a01b0382166000908152600160205260409020556102b9730e29e5abbb5fd88e28b2d355774e73bd47de3bcd828463ffffffff61060816565b60408051838152905133917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a25090565b610319730e29e5abbb5fd88e28b2d355774e73bd47de3bcd33308463ffffffff61065f16565b6001600160a01b038216600090815260016020526040902054610342908263ffffffff61058f16565b6001600160a01b0383166000818152600160209081526040918290209390935580518481529051919233927f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f629281900390910190a35050565b60026020526000908152604090205481565b6000546001600160a01b03163314610400576040805162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b6001600160a01b038216730e29e5abbb5fd88e28b2d355774e73bd47de3bcd141561042a57600080fd5b6104446001600160a01b038316338363ffffffff61060816565b5050565b67026992b73318df8081565b60016020526000908152604090205481565b62190c8081565b6000546001600160a01b031681565b730e29e5abbb5fd88e28b2d355774e73bd47de3bcd81565b6000546001600160a01b031633146104e7576040805162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b6001600160a01b038116610534576040805162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000828201838110156105a157600080fd5b90505b92915050565b6000826105b9575060006105a4565b828202828482816105c657fe5b04146105a157600080fd5b60008082116105df57600080fd5b60008284816105ea57fe5b04949350505050565b60008282111561060257600080fd5b50900390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261065a9084906106bf565b505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526106b99085906106bf565b50505050565b6106d1826001600160a01b0316610877565b610722576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106107605780518252601f199092019160209182019101610741565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146107c2576040519150601f19603f3d011682016040523d82523d6000602084013e6107c7565b606091505b50915091508161081e576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156106b95780806020019051602081101561083a57600080fd5b50516106b95760405162461bcd60e51b815260040180806020018281038252602a8152602001806108b4602a913960400191505060405180910390fd5b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906108ab5750808214155b94935050505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158208d1de3a00c12e5a1a946ad4c5fc3172ff0f5ce2d6bf4ed935a1aac0ee7a79be164736f6c63430005110032
Deployed Bytecode Sourcemap
9639:1444:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9639:1444:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10455:414;;;:::i;:::-;;;;;;;;;;;;;;;;10216:231;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10216:231:0;;;;;;;;:::i;:::-;;10015:53;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10015:53:0;-1:-1:-1;;;;;10015:53:0;;:::i;10877:201::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10877:201:0;;;;;;;;:::i;9891:55::-;;;:::i;9964:44::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9964:44:0;-1:-1:-1;;;;;9964:44:0;;:::i;9837:47::-;;;:::i;880:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;880:20:0;;;;;;;;;;;;;;9747:81;;;:::i;1176:211::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1176:211:0;-1:-1:-1;;;;;1176:211:0;;:::i;10455:414::-;10535:10;10493:14;10564:24;;;:18;:24;;;;;;10493:14;;10535:10;10610:3;;10564:43;;9877:7;10564:43;:28;:43;:::i;:::-;:49;10556:58;;;;;;-1:-1:-1;;;;;10625:24:0;;;;;;:18;:24;;;;;;;;10652:3;10625:30;;10675:9;:15;;;;;;:41;;10711:4;;10675:31;;9928:18;10675:31;:19;:31;:::i;:::-;:35;:41;:35;:41;:::i;:::-;-1:-1:-1;;;;;10745:15:0;;;;;;:9;:15;;;;;;10666:50;;-1:-1:-1;10745:27:0;;10666:50;10745:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;10727:15:0;;;;;;:9;:15;;;;;:45;10783:32;9785:42;10737:4;10808:6;10783:32;:18;:32;:::i;:::-;10833:28;;;;;;;;10842:10;;10833:28;;;;;;;;;;10455:414;;:::o;10216:231::-;10281:57;9785:42;10304:10;10324:4;10331:6;10281:57;:22;:57;:::i;:::-;-1:-1:-1;;;;;10365:13:0;;;;;;:9;:13;;;;;;:25;;10383:6;10365:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;10349:13:0;;;;;;:9;:13;;;;;;;;;:41;;;;10408:31;;;;;;;10349:13;;10416:10;;10408:31;;;;;;;;;;10216:231;;:::o;10015:53::-;;;;;;;;;;;;;:::o;10877:201::-;1121:5;;-1:-1:-1;;;;;1121:5:0;1107:10;:19;1099:49;;;;;-1:-1:-1;;;1099:49:0;;;;;;;;;;;;-1:-1:-1;;;1099:49:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10989:22:0;;9785:42;10989:22;;10981:31;;;;;;11023:47;-1:-1:-1;;;;;11023:26:0;;11050:10;11062:7;11023:47;:26;:47;:::i;:::-;10877:201;;:::o;9891:55::-;9928:18;9891:55;:::o;9964:44::-;;;;;;;;;;;;;:::o;9837:47::-;9877:7;9837:47;:::o;880:20::-;;;-1:-1:-1;;;;;880:20:0;;:::o;9747:81::-;9785:42;9747:81;:::o;1176:211::-;1121:5;;-1:-1:-1;;;;;1121:5:0;1107:10;:19;1099:49;;;;;-1:-1:-1;;;1099:49:0;;;;;;;;;;;;-1:-1:-1;;;1099:49:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;1257:22:0;;1249:50;;;;;-1:-1:-1;;;1249:50:0;;;;;;;;;;;;-1:-1:-1;;;1249:50:0;;;;;;;;;;;;;;;1336:5;;;1315:37;;-1:-1:-1;;;;;1315:37:0;;;;1336:5;;;1315:37;;;1363:5;:16;;-1:-1:-1;;;;;;1363:16:0;-1:-1:-1;;;;;1363:16:0;;;;;;;;;;1176:211::o;569:148::-;627:7;659:5;;;683:6;;;;675:15;;;;;;708:1;-1:-1:-1;569:148:0;;;;;:::o;53:197::-;111:7;135:6;131:34;;-1:-1:-1;164:1:0;157:8;;131:34;188:5;;;192:1;188;:5;:1;212:5;;;;;:10;204:19;;;;;258:147;316:7;348:1;344;:5;336:14;;;;;;361:9;377:1;373;:5;;;;;;;258:147;-1:-1:-1;;;;258:147:0:o;413:148::-;471:7;504:1;499;:6;;491:15;;;;;;-1:-1:-1;529:5:0;;;413:148::o;7110:176::-;7219:58;;;-1:-1:-1;;;;;7219:58:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7219:58:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;7193:85:0;;7212:5;;7193:18;:85::i;:::-;7110:176;;;:::o;7294:204::-;7421:68;;;-1:-1:-1;;;;;7421:68:0;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7421:68:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;7395:95:0;;7414:5;;7395:18;:95::i;:::-;7294:204;;;;:::o;8518:1114::-;9122:27;9130:5;-1:-1:-1;;;;;9122:25:0;;:27::i;:::-;9114:71;;;;;-1:-1:-1;;;9114:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9259:12;9273:23;9308:5;-1:-1:-1;;;;;9300:19:0;9320:4;9300:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;9300:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;9258:67:0;;;;9344:7;9336:52;;;;;-1:-1:-1;;;9336:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9405:17;;:21;9401:224;;9547:10;9536:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9536:30:0;9528:85;;;;-1:-1:-1;;;9528:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4509:810;4569:4;5228:20;;5071:66;5268:15;;;;;:42;;;5299:11;5287:8;:23;;5268:42;5260:51;4509:810;-1:-1:-1;;;;4509:810:0:o
Swarm Source
bzzr://8d1de3a00c12e5a1a946ad4c5fc3172ff0f5ce2d6bf4ed935a1aac0ee7a79be1
Loading...
Loading
Loading...
Loading
OVERVIEW
This is the vesting contract of Hakka Finance's liquidity mining reward.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.