More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 71 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 12954580 | 1246 days ago | IN | 0 ETH | 0.00121628 | ||||
Withdraw | 12954304 | 1246 days ago | IN | 0 ETH | 0.00167266 | ||||
Withdraw | 12846067 | 1263 days ago | IN | 0 ETH | 0.00062656 | ||||
Withdraw | 12805515 | 1269 days ago | IN | 0 ETH | 0.00053957 | ||||
Withdraw | 12551544 | 1309 days ago | IN | 0 ETH | 0.00066397 | ||||
Claim | 12551445 | 1309 days ago | IN | 0 ETH | 0.00098446 | ||||
Withdraw | 12548427 | 1309 days ago | IN | 0 ETH | 0.0004623 | ||||
Withdraw | 12547346 | 1309 days ago | IN | 0 ETH | 0.00075 | ||||
Claim | 12546690 | 1310 days ago | IN | 0 ETH | 0.0004574 | ||||
Withdraw | 12546574 | 1310 days ago | IN | 0 ETH | 0.00052224 | ||||
Withdraw | 12546401 | 1310 days ago | IN | 0 ETH | 0.00061023 | ||||
Claim | 12546329 | 1310 days ago | IN | 0 ETH | 0.00057176 | ||||
Withdraw | 12546258 | 1310 days ago | IN | 0 ETH | 0.00140776 | ||||
Withdraw | 12545989 | 1310 days ago | IN | 0 ETH | 0.00054366 | ||||
Claim | 12545989 | 1310 days ago | IN | 0 ETH | 0.00163177 | ||||
Withdraw | 12503177 | 1316 days ago | IN | 0 ETH | 0.00264389 | ||||
Claim | 12450847 | 1324 days ago | IN | 0 ETH | 0.00282577 | ||||
Withdraw | 12441411 | 1326 days ago | IN | 0 ETH | 0.00393886 | ||||
Withdraw | 12393742 | 1333 days ago | IN | 0 ETH | 0.00346455 | ||||
Withdraw | 12392645 | 1333 days ago | IN | 0 ETH | 0.00329774 | ||||
Withdraw | 12392645 | 1333 days ago | IN | 0 ETH | 0.00320528 | ||||
Withdraw | 12392645 | 1333 days ago | IN | 0 ETH | 0.00294856 | ||||
Claim | 12379888 | 1335 days ago | IN | 0 ETH | 0.00128646 | ||||
Withdraw | 12379888 | 1335 days ago | IN | 0 ETH | 0.0023741 | ||||
Withdraw | 12379682 | 1335 days ago | IN | 0 ETH | 0.0027518 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Stake
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.6.0; import "SafeMath.sol"; import "ReentrancyGuard.sol"; import "TransferHelper.sol"; contract Stake is ReentrancyGuard { using SafeMath for uint256; address token; address private owner; uint256 public stakePeriod; uint256 public totalStake; uint256 totalWeight; uint256 public totalTokenReceived; uint256 public startTime; mapping(address => uint256) public staked; mapping(address => uint256) public timelock; mapping(address => uint256) weighted; mapping(address => uint256) accumulated; event logStake(address indexed stakeHolder, uint256 amount); event logWithdraw(address indexed stakeHolder, uint256 amount, uint256 reward); event logDeposit(address indexed depositor, uint256 amount); constructor(address _token, uint256 periodInDays, uint256 start, address _owner) public { token = _token; stakePeriod = periodInDays.mul(86400); startTime = start; owner = _owner; } modifier onlyOwner() { require(owner == msg.sender, "Ownable: caller is not the owner"); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); owner = newOwner; } function setStakePeriod(uint256 periodInDays) public onlyOwner { require(periodInDays > 0, "Period greater than 0"); stakePeriod = periodInDays.mul(86400); } function getStakeData() public view returns(uint256, uint256, uint256, uint256) { return (startTime, stakePeriod, totalStake, totalTokenReceived); } function getStakeHolderData(address stakeHolderAddress) public view returns(uint256, uint256, uint256, uint256, uint256) { uint256 tokenOut = staked[msg.sender]; uint256 reward = tokenOut.mul(totalWeight.sub(weighted[msg.sender])).div(10**18).add(accumulated[msg.sender]); return (staked[stakeHolderAddress], timelock[stakeHolderAddress], weighted[stakeHolderAddress], accumulated[stakeHolderAddress], reward); } function stake(uint256 amount) nonReentrant public { require(block.timestamp >= startTime, "Stake not begin"); require(amount > 0, "Nothing to stake"); _stake(amount); timelock[msg.sender] = block.timestamp.add(stakePeriod); TransferHelper.safeTransferFrom(token, msg.sender, address(this), amount); } function withdraw() nonReentrant public returns (uint256 amount, uint256 reward) { require(block.timestamp >= timelock[msg.sender], "Stake is locked"); (amount, reward) = _applyReward(); emit logWithdraw(msg.sender, amount, reward); timelock[msg.sender] = 0; TransferHelper.safeTransfer(token, msg.sender, amount); if (reward > 0) { TransferHelper.safeTransfer(token, msg.sender, reward); } } function claim() nonReentrant public returns (uint256 reward) { (uint256 amount, uint256 _reward) = _applyReward(); emit logWithdraw(msg.sender, amount, _reward); reward = _reward; require(reward > 0, "Nothing to pay out"); TransferHelper.safeTransfer(token, msg.sender, reward); // restake after withdrawal _stake(amount); timelock[msg.sender] = block.timestamp.add(stakePeriod); } function deposit(uint amount) nonReentrant external payable { require(amount > 0, "Nothing to deposit"); require(totalStake > 0, "Nothing staked"); TransferHelper.safeTransferFrom(token, msg.sender, address(this), amount); totalTokenReceived = totalTokenReceived.add(amount); emit logDeposit(msg.sender, amount); _distribute(amount, totalStake); } function _stake(uint256 tokenIn) private { uint256 addBack; if (staked[msg.sender] > 0) { (uint256 tokenOut, uint256 reward) = _applyReward(); addBack = tokenOut; accumulated[msg.sender] = reward; staked[msg.sender] = tokenOut; } staked[msg.sender] = staked[msg.sender].add(tokenIn); weighted[msg.sender] = totalWeight; totalStake = totalStake.add(tokenIn); if (addBack > 0) { totalStake = totalStake.add(addBack); } emit logStake(msg.sender, tokenIn); } function _applyReward() private returns (uint256 tokenOut, uint256 reward) { require(staked[msg.sender] > 0, "Nothing staked"); tokenOut = staked[msg.sender]; reward = tokenOut .mul(totalWeight.sub(weighted[msg.sender])) .div(10**18) .add(accumulated[msg.sender]); totalStake = totalStake.sub(tokenOut); accumulated[msg.sender] = 0; staked[msg.sender] = 0; } function _distribute(uint256 _value, uint256 _totalStake) private { totalWeight = totalWeight.add(_value.mul(10**18).div(_totalStake)); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.0 <0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor () internal { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } }
// 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, with an overflow flag. */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a / b); } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } /** * @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) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); 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) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } /** * @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) { if (a == 0) return 0; uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers, reverting 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) { require(b > 0, "SafeMath: division by zero"); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * 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); return a - b; } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryDiv}. * * 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); return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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; } }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity >=0.6.0; // helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false library TransferHelper { function safeApprove( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::safeApprove: approve failed' ); } function safeTransfer( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::safeTransfer: transfer failed' ); } function safeTransferFrom( address token, address from, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::transferFrom: transferFrom failed' ); } function safeTransferETH(address to, uint256 value) internal { (bool success, ) = to.call{value: value}(new bytes(0)); require(success, 'TransferHelper::safeTransferETH: ETH transfer failed'); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"periodInDays","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"logDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakeHolder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"logStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"stakeHolder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"logWithdraw","type":"event"},{"inputs":[],"name":"claim","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getStakeData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakeHolderAddress","type":"address"}],"name":"getStakeHolderData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodInDays","type":"uint256"}],"name":"setStakePeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timelock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokenReceived","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":"withdraw","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516112db3803806112db8339818101604052608081101561003357600080fd5b50805160208083015160408401516060909401516001600081905580546001600160a01b0319166001600160a01b03861617905592939092909161008590849062015180906100b5811b610a8e17901c565b600355600791909155600280546001600160a01b0319166001600160a01b03909216919091179055506101179050565b6000826100c457506000610111565b828202828482816100d157fe5b041461010e5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ba6021913960400191505060405180910390fd5b90505b92915050565b611194806101266000396000f3fe6080604052600436106100dd5760003560e01c80638b3101801161007f578063a694fc3a11610059578063a694fc3a146102a1578063b6b55f25146102cb578063c1699a99146102e8578063f2fde38b146102fd576100dd565b80638b3101801461021e57806398807d8414610233578063a16a09af14610266576100dd565b80634e71d92d116100bb5780634e71d92d1461019a5780636b143bb8146101c157806378e97925146101f45780638b0e9f3f14610209576100dd565b80631e6b4c6f146100e2578063349c6d621461010e5780633ccfd60b1461016c575b600080fd5b3480156100ee57600080fd5b5061010c6004803603602081101561010557600080fd5b5035610330565b005b34801561011a57600080fd5b506101416004803603602081101561013157600080fd5b50356001600160a01b03166103ef565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561017857600080fd5b5061018161049f565b6040805192835260208301919091528051918290030190f35b3480156101a657600080fd5b506101af6105db565b60408051918252519081900360200190f35b3480156101cd57600080fd5b506101af600480360360208110156101e457600080fd5b50356001600160a01b031661070e565b34801561020057600080fd5b506101af610720565b34801561021557600080fd5b506101af610726565b34801561022a57600080fd5b506101af61072c565b34801561023f57600080fd5b506101af6004803603602081101561025657600080fd5b50356001600160a01b0316610732565b34801561027257600080fd5b5061027b610744565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156102ad57600080fd5b5061010c600480360360208110156102c457600080fd5b5035610756565b61010c600480360360208110156102e157600080fd5b503561087e565b3480156102f457600080fd5b506101af6109c2565b34801561030957600080fd5b5061010c6004803603602081101561032057600080fd5b50356001600160a01b03166109c8565b6002546001600160a01b0316331461038f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600081116103dc576040805162461bcd60e51b81526020600482015260156024820152740506572696f642067726561746572207468616e203605c1b604482015290519081900360640190fd5b6103e98162015180610a8e565b60035550565b33600090815260086020908152604080832054600b835281842054600a909352908320546005548493849384938493919284926104549261044e91670de0b6b3a7640000916104489161044191610af0565b8790610a8e565b90610b4d565b90610bb4565b6001600160a01b03989098166000908152600860209081526040808320546009835281842054600a845282852054600b9094529190932054929b909a91995091975095509350505050565b600080600260005414156104e8576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815533815260096020526040902054421015610542576040805162461bcd60e51b815260206004820152600f60248201526e14dd185ad9481a5cc81b1bd8dad959608a1b604482015290519081900360640190fd5b61054a610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2336000818152600960205260408120556001546105b5916001600160a01b039091169084610cdf565b80156105d2576001546105d2906001600160a01b03163383610cdf565b60016000559091565b600060026000541415610623576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815580610633610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2809250600083116106c2576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc81c185e481bdd5d60721b604482015290519081900360640190fd5b6001546106d9906001600160a01b03163385610cdf565b6106e282610e33565b6003546106f0904290610bb4565b33600090815260096020526040812091909155600190555090919050565b60096020526000908152604090205481565b60075481565b60045481565b60065481565b60086020526000908152604090205481565b60075460035460045460065490919293565b6002600054141561079c576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b60026000556007544210156107ea576040805162461bcd60e51b815260206004820152600f60248201526e29ba30b5b2903737ba103132b3b4b760891b604482015290519081900360640190fd5b60008111610832576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f207374616b6560801b604482015290519081900360640190fd5b61083b81610e33565b600354610849904290610bb4565b33600081815260096020526040902091909155600154610876916001600160a01b03909116903084610f13565b506001600055565b600260005414156108c4576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b600260005580610910576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc819195c1bdcda5d60721b604482015290519081900360640190fd5b600060045411610958576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b600154610970906001600160a01b0316333084610f13565b60065461097d9082610bb4565b60065560408051828152905133917f23009393721a27d6803b599bf9f0747edfd97c6fe82522bedeb95c05150c9b40919081900360200190a261087681600454611070565b60035481565b6002546001600160a01b03163314610a27576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a6c5760405162461bcd60e51b81526004018080602001828103825260268152602001806110ba6026913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600082610a9d57506000610aea565b82820282848281610aaa57fe5b0414610ae75760405162461bcd60e51b81526004018080602001828103825260218152602001806111116021913960400191505060405180910390fd5b90505b92915050565b600082821115610b47576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610ba3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610bac57fe5b049392505050565b600082820183811015610ae7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b336000908152600860205260408120548190610c62576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b33600090815260086020908152604080832054600b835281842054600a909352922054600554929450610cab9261044e91670de0b6b3a764000091610448916104419190610af0565b600454909150610cbb9083610af0565b600455336000908152600b6020908152604080832083905560089091528120559091565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610d5c5780518252601f199092019160209182019101610d3d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610dbe576040519150601f19603f3d011682016040523d82523d6000602084013e610dc3565b606091505b5091509150818015610df1575080511580610df15750808060200190516020811015610dee57600080fd5b50515b610e2c5760405162461bcd60e51b815260040180806020018281038252602d815260200180611132602d913960400191505060405180910390fd5b5050505050565b3360009081526008602052604081205415610e7657600080610e53610c0e565b336000908152600b60209081526040808320939093556008905220819055925050505b33600090815260086020526040902054610e909083610bb4565b33600090815260086020908152604080832093909355600554600a90915291902055600454610ebf9083610bb4565b6004558015610ed957600454610ed59082610bb4565b6004555b60408051838152905133917f834f98a15649c4cbfdb3226d70adcf647023e59f7ca69899e5ba13ec6e354403919081900360200190a25050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b60208310610f985780518252601f199092019160209182019101610f79565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ffa576040519150601f19603f3d011682016040523d82523d6000602084013e610fff565b606091505b509150915081801561102d57508051158061102d575080806020019051602081101561102a57600080fd5b50515b6110685760405162461bcd60e51b81526004018080602001828103825260318152602001806110e06031913960400191505060405180910390fd5b505050505050565b6110926110898261044885670de0b6b3a7640000610a8e565b60055490610bb4565b600555505056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a26469706673582212208ba29462f0e45998f25b47c9f6a0edacdb6cb7e8d5c934f9581af487f2021f6d64736f6c634300060c0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77000000000000000000000000361887c1d1b73557018c47c8001711168128cf69000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000603e4be8000000000000000000000000286d6e8a28e71acc62f25cefe23e118ab3ec4726
Deployed Bytecode
0x6080604052600436106100dd5760003560e01c80638b3101801161007f578063a694fc3a11610059578063a694fc3a146102a1578063b6b55f25146102cb578063c1699a99146102e8578063f2fde38b146102fd576100dd565b80638b3101801461021e57806398807d8414610233578063a16a09af14610266576100dd565b80634e71d92d116100bb5780634e71d92d1461019a5780636b143bb8146101c157806378e97925146101f45780638b0e9f3f14610209576100dd565b80631e6b4c6f146100e2578063349c6d621461010e5780633ccfd60b1461016c575b600080fd5b3480156100ee57600080fd5b5061010c6004803603602081101561010557600080fd5b5035610330565b005b34801561011a57600080fd5b506101416004803603602081101561013157600080fd5b50356001600160a01b03166103ef565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561017857600080fd5b5061018161049f565b6040805192835260208301919091528051918290030190f35b3480156101a657600080fd5b506101af6105db565b60408051918252519081900360200190f35b3480156101cd57600080fd5b506101af600480360360208110156101e457600080fd5b50356001600160a01b031661070e565b34801561020057600080fd5b506101af610720565b34801561021557600080fd5b506101af610726565b34801561022a57600080fd5b506101af61072c565b34801561023f57600080fd5b506101af6004803603602081101561025657600080fd5b50356001600160a01b0316610732565b34801561027257600080fd5b5061027b610744565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156102ad57600080fd5b5061010c600480360360208110156102c457600080fd5b5035610756565b61010c600480360360208110156102e157600080fd5b503561087e565b3480156102f457600080fd5b506101af6109c2565b34801561030957600080fd5b5061010c6004803603602081101561032057600080fd5b50356001600160a01b03166109c8565b6002546001600160a01b0316331461038f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600081116103dc576040805162461bcd60e51b81526020600482015260156024820152740506572696f642067726561746572207468616e203605c1b604482015290519081900360640190fd5b6103e98162015180610a8e565b60035550565b33600090815260086020908152604080832054600b835281842054600a909352908320546005548493849384938493919284926104549261044e91670de0b6b3a7640000916104489161044191610af0565b8790610a8e565b90610b4d565b90610bb4565b6001600160a01b03989098166000908152600860209081526040808320546009835281842054600a845282852054600b9094529190932054929b909a91995091975095509350505050565b600080600260005414156104e8576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815533815260096020526040902054421015610542576040805162461bcd60e51b815260206004820152600f60248201526e14dd185ad9481a5cc81b1bd8dad959608a1b604482015290519081900360640190fd5b61054a610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2336000818152600960205260408120556001546105b5916001600160a01b039091169084610cdf565b80156105d2576001546105d2906001600160a01b03163383610cdf565b60016000559091565b600060026000541415610623576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b6002600090815580610633610c0e565b6040805183815260208101839052815193955091935033927fff68bac75290440ad4e2e04952d4eb6b308d5a3dc9e284319beca871101ce9f29281900390910190a2809250600083116106c2576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc81c185e481bdd5d60721b604482015290519081900360640190fd5b6001546106d9906001600160a01b03163385610cdf565b6106e282610e33565b6003546106f0904290610bb4565b33600090815260096020526040812091909155600190555090919050565b60096020526000908152604090205481565b60075481565b60045481565b60065481565b60086020526000908152604090205481565b60075460035460045460065490919293565b6002600054141561079c576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b60026000556007544210156107ea576040805162461bcd60e51b815260206004820152600f60248201526e29ba30b5b2903737ba103132b3b4b760891b604482015290519081900360640190fd5b60008111610832576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f207374616b6560801b604482015290519081900360640190fd5b61083b81610e33565b600354610849904290610bb4565b33600081815260096020526040902091909155600154610876916001600160a01b03909116903084610f13565b506001600055565b600260005414156108c4576040805162461bcd60e51b815260206004820152601f602482015260008051602061109a833981519152604482015290519081900360640190fd5b600260005580610910576040805162461bcd60e51b8152602060048201526012602482015271139bdd1a1a5b99c81d1bc819195c1bdcda5d60721b604482015290519081900360640190fd5b600060045411610958576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b600154610970906001600160a01b0316333084610f13565b60065461097d9082610bb4565b60065560408051828152905133917f23009393721a27d6803b599bf9f0747edfd97c6fe82522bedeb95c05150c9b40919081900360200190a261087681600454611070565b60035481565b6002546001600160a01b03163314610a27576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a6c5760405162461bcd60e51b81526004018080602001828103825260268152602001806110ba6026913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600082610a9d57506000610aea565b82820282848281610aaa57fe5b0414610ae75760405162461bcd60e51b81526004018080602001828103825260218152602001806111116021913960400191505060405180910390fd5b90505b92915050565b600082821115610b47576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610ba3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610bac57fe5b049392505050565b600082820183811015610ae7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b336000908152600860205260408120548190610c62576040805162461bcd60e51b815260206004820152600e60248201526d139bdd1a1a5b99c81cdd185ad95960921b604482015290519081900360640190fd5b33600090815260086020908152604080832054600b835281842054600a909352922054600554929450610cab9261044e91670de0b6b3a764000091610448916104419190610af0565b600454909150610cbb9083610af0565b600455336000908152600b6020908152604080832083905560089091528120559091565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610d5c5780518252601f199092019160209182019101610d3d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610dbe576040519150601f19603f3d011682016040523d82523d6000602084013e610dc3565b606091505b5091509150818015610df1575080511580610df15750808060200190516020811015610dee57600080fd5b50515b610e2c5760405162461bcd60e51b815260040180806020018281038252602d815260200180611132602d913960400191505060405180910390fd5b5050505050565b3360009081526008602052604081205415610e7657600080610e53610c0e565b336000908152600b60209081526040808320939093556008905220819055925050505b33600090815260086020526040902054610e909083610bb4565b33600090815260086020908152604080832093909355600554600a90915291902055600454610ebf9083610bb4565b6004558015610ed957600454610ed59082610bb4565b6004555b60408051838152905133917f834f98a15649c4cbfdb3226d70adcf647023e59f7ca69899e5ba13ec6e354403919081900360200190a25050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b60208310610f985780518252601f199092019160209182019101610f79565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ffa576040519150601f19603f3d011682016040523d82523d6000602084013e610fff565b606091505b509150915081801561102d57508051158061102d575080806020019051602081101561102a57600080fd5b50515b6110685760405162461bcd60e51b81526004018080602001828103825260318152602001806110e06031913960400191505060405180910390fd5b505050505050565b6110926110898261044885670de0b6b3a7640000610a8e565b60055490610bb4565b600555505056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a26469706673582212208ba29462f0e45998f25b47c9f6a0edacdb6cb7e8d5c934f9581af487f2021f6d64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000361887c1d1b73557018c47c8001711168128cf69000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000603e4be8000000000000000000000000286d6e8a28e71acc62f25cefe23e118ab3ec4726
-----Decoded View---------------
Arg [0] : _token (address): 0x361887C1D1B73557018c47c8001711168128cf69
Arg [1] : periodInDays (uint256): 30
Arg [2] : start (uint256): 1614695400
Arg [3] : _owner (address): 0x286d6e8a28E71AcC62F25ceFe23e118Ab3ec4726
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000361887c1d1b73557018c47c8001711168128cf69
Arg [1] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [2] : 00000000000000000000000000000000000000000000000000000000603e4be8
Arg [3] : 000000000000000000000000286d6e8a28e71acc62f25cefe23e118ab3ec4726
Deployed Bytecode Sourcemap
162:5065:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1419:180;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1419:180:3;;:::i;:::-;;1785:444;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1785:444:3;-1:-1:-1;;;;;1785:444:3;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:479;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3087:463;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;504:43;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;504:43:3;-1:-1:-1;;;;;504:43:3;;:::i;419:24::-;;;;;;;;;;;;;:::i;321:25::-;;;;;;;;;;;;;:::i;379:33::-;;;;;;;;;;;;;:::i;456:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;456:41:3;-1:-1:-1;;;;;456:41:3;;:::i;1611:162::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2237:355;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2237:355:3;;:::i;3558:422::-;;;;;;;;;;;;;;;;-1:-1:-1;3558:422:3;;:::i;288:26::-;;;;;;;;;;;;;:::i;1226:181::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1226:181:3;-1:-1:-1;;;;;1226:181:3;;:::i;1419:180::-;1138:5;;-1:-1:-1;;;;;1138:5:3;1147:10;1138:19;1130:64;;;;;-1:-1:-1;;;1130:64:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1516:1:::1;1501:12;:16;1493:50;;;::::0;;-1:-1:-1;;;1493:50:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1493:50:3;;;;;;;;;;;;;::::1;;1568:23;:12:::0;1585:5:::1;1568:16;:23::i;:::-;1554:11;:37:::0;-1:-1:-1;1419:180:3:o;1785:444::-;1943:10;1861:7;1936:18;;;:6;:18;;;;;;;;;2050:11;:23;;;;;;2011:8;:20;;;;;;;1995:11;;1861:7;;;;;;;;1936:18;;1861:7;;1982:92;;:63;;2038:6;;1982:51;;1995:37;;:15;:37::i;:::-;1982:8;;:12;:51::i;:::-;:55;;:63::i;:::-;:67;;:92::i;:::-;-1:-1:-1;;;;;2093:26:3;;;;;;;;:6;:26;;;;;;;;;2121:8;:28;;;;;;2151:8;:28;;;;;;2181:11;:31;;;;;;;;2093:26;;2121:28;;2151;;-1:-1:-1;2181:31:3;;-1:-1:-1;1965:109:3;-1:-1:-1;1785:444:3;-1:-1:-1;;;;1785:444:3:o;2600:479::-;2649:14;2665;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;;;2728:10:3::1;2719:20:::0;;:8:::1;:20;::::0;;;;;2700:15:::1;:39;;2692:67;;;::::0;;-1:-1:-1;;;2692:67:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;2692:67:3;;;;;;;;;;;;;::::1;;2791:14;:12;:14::i;:::-;2821:39;::::0;;;;;::::1;::::0;::::1;::::0;;;;;2772:33;;-1:-1:-1;2772:33:3;;-1:-1:-1;2833:10:3::1;::::0;2821:39:::1;::::0;;;;;;;;::::1;2882:10;2896:1;2873:20:::0;;;:8:::1;:20;::::0;;;;:24;2938:5:::1;::::0;2910:54:::1;::::0;-1:-1:-1;;;;;2938:5:3;;::::1;::::0;2957:6;2910:27:::1;:54::i;:::-;2979:10:::0;;2975:97:::1;;3034:5;::::0;3006:54:::1;::::0;-1:-1:-1;;;;;3034:5:3::1;3041:10;3053:6:::0;3006:27:::1;:54::i;:::-;1677:1:0::0;2639:7;:22;2600:479:3;;:::o;3087:463::-;3133:14;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;;;:7;3196:14:3::1;:12;:14::i;:::-;3226:40;::::0;;;;;::::1;::::0;::::1;::::0;;;;;3160:50;;-1:-1:-1;3160:50:3;;-1:-1:-1;3238:10:3::1;::::0;3226:40:::1;::::0;;;;;;;;::::1;3286:7;3277:16;;3323:1;3314:6;:10;3306:41;;;::::0;;-1:-1:-1;;;3306:41:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3306:41:3;;;;;;;;;;;;;::::1;;3386:5;::::0;3358:54:::1;::::0;-1:-1:-1;;;;;3386:5:3::1;3393:10;3405:6:::0;3358:27:::1;:54::i;:::-;3462:14;3469:6;3462;:14::i;:::-;3530:11;::::0;3510:32:::1;::::0;:15:::1;::::0;:19:::1;:32::i;:::-;3496:10;3487:20;::::0;;;:8:::1;:20;::::0;;;;:55;;;;1677:1:0;2639:22;;-1:-1:-1;3087:463:3;;;-1:-1:-1;3087:463:3:o;504:43::-;;;;;;;;;;;;;:::o;419:24::-;;;;:::o;321:25::-;;;;:::o;379:33::-;;;;:::o;456:41::-;;;;;;;;;;;;;:::o;1611:162::-;1710:9;;1721:11;;1734:10;;1746:18;;1611:162;;;;:::o;2237:355::-;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;2326:9:3::1;::::0;2307:15:::1;:28;;2299:56;;;::::0;;-1:-1:-1;;;2299:56:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;2299:56:3;;;;;;;;;;;;;::::1;;2383:1;2374:6;:10;2366:39;;;::::0;;-1:-1:-1;;;2366:39:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;2366:39:3;;;;;;;;;;;;;::::1;;2418:14;2425:6;2418;:14::i;:::-;2486:11;::::0;2466:32:::1;::::0;:15:::1;::::0;:19:::1;:32::i;:::-;2452:10;2443:20;::::0;;;:8:::1;:20;::::0;;;;:55;;;;2543:5:::1;::::0;2511:73:::1;::::0;-1:-1:-1;;;;;2543:5:3;;::::1;::::0;2570:4:::1;2577:6:::0;2511:31:::1;:73::i;:::-;-1:-1:-1::0;1677:1:0;2639:7;:22;2237:355:3:o;3558:422::-;1721:1:0;2327:7;;:19;;2319:63;;;;;-1:-1:-1;;;2319:63:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2319:63:0;;;;;;;;;;;;;;;1721:1;2460:7;:18;3637:10:3;3629:41:::1;;;::::0;;-1:-1:-1;;;3629:41:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3629:41:3;;;;;;;;;;;;;::::1;;3702:1;3689:10;;:14;3681:41;;;::::0;;-1:-1:-1;;;3681:41:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3681:41:3;;;;;;;;;;;;;::::1;;3775:5;::::0;3743:73:::1;::::0;-1:-1:-1;;;;;3775:5:3::1;3782:10;3802:4;3809:6:::0;3743:31:::1;:73::i;:::-;3850:18;::::0;:30:::1;::::0;3873:6;3850:22:::1;:30::i;:::-;3829:18;:51:::0;3898:30:::1;::::0;;;;;;;3909:10:::1;::::0;3898:30:::1;::::0;;;;;::::1;::::0;;::::1;3941:31;3953:6;3961:10;;3941:11;:31::i;288:26::-:0;;;;:::o;1226:181::-;1138:5;;-1:-1:-1;;;;;1138:5:3;1147:10;1138:19;1130:64;;;;;-1:-1:-1;;;1130:64:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1307:22:3;::::1;1299:73;;;;-1:-1:-1::0;;;1299:73:3::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1383:5;:16:::0;;-1:-1:-1;;;;;;1383:16:3::1;-1:-1:-1::0;;;;;1383:16:3;;;::::1;::::0;;;::::1;::::0;;1226:181::o;3453:220:1:-;3511:7;3535:6;3531:20;;-1:-1:-1;3550:1:1;3543:8;;3531:20;3574:5;;;3578:1;3574;:5;:1;3598:5;;;;;:10;3590:56;;;;-1:-1:-1;;;3590:56:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3664:1;-1:-1:-1;3453:220:1;;;;;:::o;3036:158::-;3094:7;3127:1;3122;:6;;3114:49;;;;;-1:-1:-1;;;3114:49:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3181:5:1;;;3036:158::o;4151:153::-;4209:7;4241:1;4237;:5;4229:44;;;;;-1:-1:-1;;;4229:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;4295:1;4291;:5;;;;;;;4151:153;-1:-1:-1;;;4151:153:1:o;2574:179::-;2632:7;2664:5;;;2688:6;;;;2680:46;;;;;-1:-1:-1;;;2680:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;4607:458:3;4708:10;4648:16;4701:18;;;:6;:18;;;;;;4648:16;;4693:49;;;;;-1:-1:-1;;;4693:49:3;;;;;;;;;;;;-1:-1:-1;;;4693:49:3;;;;;;;;;;;;;;;4773:10;4766:18;;;;:6;:18;;;;;;;;;4914:11;:23;;;;;;4847:8;:20;;;;;;4831:11;;4766:18;;-1:-1:-1;4804:134:3;;:91;;4888:6;;4804:65;;4831:37;;:11;:15;:37::i;4804:134::-;4962:10;;4795:143;;-1:-1:-1;4962:24:3;;4977:8;4962:14;:24::i;:::-;4949:10;:37;5009:10;5023:1;4997:23;;;:11;:23;;;;;;;;:27;;;5035:6;:18;;;;;:22;4607:458;;:::o;671:449:2:-;903:45;;;-1:-1:-1;;;;;903:45:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;903:45:2;-1:-1:-1;;;903:45:2;;;892:57;;;;857:12;;871:17;;892:10;;;;903:45;892:57;;;903:45;892:57;;903:45;892:57;;;;;;;;;;-1:-1:-1;;892:57:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;856:93;;;;982:7;:57;;;;-1:-1:-1;994:11:2;;:16;;:44;;;1025:4;1014:24;;;;;;;;;;;;;;;-1:-1:-1;1014:24:2;994:44;960:152;;;;-1:-1:-1;;;960:152:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:449;;;;;:::o;3988:611:3:-;4077:10;4040:15;4070:18;;;:6;:18;;;;;;:22;4066:230;;4110:16;4128:14;4146;:12;:14::i;:::-;4220:10;4208:23;;;;:11;:23;;;;;;;;:32;;;;4255:6;:18;;;:29;;;4109:51;-1:-1:-1;;;4066:230:3;4336:10;4329:18;;;;:6;:18;;;;;;:31;;4352:7;4329:22;:31::i;:::-;4315:10;4308:18;;;;:6;:18;;;;;;;;:52;;;;4394:11;;4371:8;:20;;;;;;:34;4429:10;;:23;;4444:7;4429:14;:23::i;:::-;4416:10;:36;4469:11;;4465:80;;4510:10;;:23;;4525:7;4510:14;:23::i;:::-;4497:10;:36;4465:80;4562:29;;;;;;;;4571:10;;4562:29;;;;;;;;;;3988:611;;:::o;1128:498:2:-;1399:51;;;-1:-1:-1;;;;;1399:51:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1399:51:2;-1:-1:-1;;;1399:51:2;;;1388:63;;;;1353:12;;1367:17;;1388:10;;;;1399:51;1388:63;;;1399:51;1388:63;;1399:51;1388:63;;;;;;;;;;-1:-1:-1;;1388:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1352:99;;;;1484:7;:57;;;;-1:-1:-1;1496:11:2;;:16;;:44;;;1527:4;1516:24;;;;;;;;;;;;;;;-1:-1:-1;1516:24:2;1496:44;1462:156;;;;-1:-1:-1;;;1462:156:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:498;;;;;;:::o;5073:151:3:-;5164:52;5180:35;5203:11;5180:18;:6;5191;5180:10;:18::i;:35::-;5164:11;;;:15;:52::i;:::-;5150:11;:66;-1:-1:-1;;5073:151:3:o
Swarm Source
ipfs://8ba29462f0e45998f25b47c9f6a0edacdb6cb7e8d5c934f9581af487f2021f6d
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.