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 1,638 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Reclaim Tokens | 18554692 | 449 days ago | IN | 0 ETH | 0.00102144 | ||||
Reclaim Tokens | 16003021 | 807 days ago | IN | 0 ETH | 0.00082443 | ||||
Reclaim Tokens | 15978724 | 810 days ago | IN | 0 ETH | 0.00106793 | ||||
Reclaim Tokens | 15957049 | 813 days ago | IN | 0 ETH | 0.00045166 | ||||
Reclaim Tokens | 15957037 | 813 days ago | IN | 0 ETH | 0.00066352 | ||||
Reclaim Tokens | 15948119 | 815 days ago | IN | 0 ETH | 0.00219178 | ||||
Reclaim Tokens | 15946494 | 815 days ago | IN | 0 ETH | 0.00120891 | ||||
Reclaim Tokens | 15944134 | 815 days ago | IN | 0 ETH | 0.00159068 | ||||
Reclaim Tokens | 15937394 | 816 days ago | IN | 0 ETH | 0.00193183 | ||||
Reclaim Tokens | 15935456 | 816 days ago | IN | 0 ETH | 0.00861792 | ||||
Reclaim Tokens | 15903036 | 821 days ago | IN | 0 ETH | 0.00110046 | ||||
Reclaim Tokens | 15896075 | 822 days ago | IN | 0 ETH | 0.00125963 | ||||
Reclaim Tokens | 15878170 | 824 days ago | IN | 0 ETH | 0.00089013 | ||||
Reclaim Tokens | 15875231 | 825 days ago | IN | 0 ETH | 0.00118115 | ||||
Reclaim Tokens | 15874962 | 825 days ago | IN | 0 ETH | 0.00057199 | ||||
Reclaim Tokens | 15873994 | 825 days ago | IN | 0 ETH | 0.00075345 | ||||
Reclaim Tokens | 15855412 | 828 days ago | IN | 0 ETH | 0.00150133 | ||||
Reclaim Tokens | 15843971 | 829 days ago | IN | 0 ETH | 0.00072575 | ||||
Reclaim Tokens | 15842301 | 830 days ago | IN | 0 ETH | 0.00097442 | ||||
Reclaim Tokens | 15839011 | 830 days ago | IN | 0 ETH | 0.00083613 | ||||
Reclaim Tokens | 15818364 | 833 days ago | IN | 0 ETH | 0.00199448 | ||||
Reclaim Tokens | 15781904 | 838 days ago | IN | 0 ETH | 0.00128966 | ||||
Reclaim Tokens | 15621320 | 860 days ago | IN | 0 ETH | 0.00064597 | ||||
Reclaim Tokens | 15532030 | 873 days ago | IN | 0 ETH | 0.00052541 | ||||
Reclaim Tokens | 15450499 | 886 days ago | IN | 0 ETH | 0.00153707 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
WaitlistBatch
Compiler Version
v0.5.16+commit.9c3226ce
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.5.16; pragma experimental ABIEncoderV2; import {Ownable} from "../lib/Ownable.sol"; import {SafeMath} from "../lib/SafeMath.sol"; import {SafeERC20} from "../lib/SafeERC20.sol"; import {IERC20} from "../token/IERC20.sol"; contract WaitlistBatch is Ownable { /* ========== Libraries ========== */ using SafeMath for uint256; /* ========== Types ========== */ struct Batch { uint256 totalSpots; uint256 filledSpots; uint256 batchStartTimestamp; uint256 depositAmount; uint256 approvedAt; } struct UserBatchInfo { bool hasParticipated; uint256 batchNumber; uint256 depositAmount; uint256 depositRetrievalTimestamp; } /* ========== Variables ========== */ address public moderator; IERC20 public depositCurrency; uint256 public nextBatchNumber; uint256 public depositLockupDuration; mapping (uint256 => mapping (address => uint256)) public userDepositMapping; mapping (uint256 => Batch) public batchMapping; mapping (address => uint256) public userBatchMapping; mapping (address => bool) public blacklist; /* ========== Events ========== */ event AppliedToBatch( address indexed user, uint256 batchNumber, uint256 amount ); event NewBatchAdded( uint256 totalSpots, uint256 batchStartTimestamp, uint256 depositAmount, uint256 batchNumber ); event BatchApproved(uint256 _batchNumber); event BatchTimestampChanged( uint256 batchNumber, uint256 batchStartTimstamp ); event BatchTotalSpotsUpdated( uint256 batchNumber, uint256 newTotalSpots ); event TokensReclaimed( address user, uint256 amount ); event TokensReclaimedBlacklist( address user, uint256 amount ); event TokensTransferred( address tokenAddress, uint256 amount, address destination ); event RemovedFromBlacklist( address user ); event AddedToBlacklist( address user ); event ModeratorSet( address user ); event DepositLockupDurationSet(uint256 _depositLockupDuration); /* ========== Modifiers ========== */ modifier onlyModerator() { require( msg.sender == moderator, "WaitlistBatch: caller is not moderator" ); _; } /* ========== Constructor ========== */ constructor( address _depositCurrency, uint256 _depositLockupDuration ) public { depositCurrency = IERC20(_depositCurrency); depositLockupDuration = _depositLockupDuration; // Set the next batch number to 1 to avoid some complications // caused by batch number 0 nextBatchNumber = 1; } /* ========== Public Getters ========== */ function getBatchInfoForUser( address _user ) public view returns (UserBatchInfo memory) { uint256 participatingBatch = userBatchMapping[_user]; return UserBatchInfo({ hasParticipated: participatingBatch > 0, batchNumber: participatingBatch, depositAmount: userDepositMapping[participatingBatch][_user], depositRetrievalTimestamp: getDepositRetrievalTimestamp(_user) }); } function getTotalNumberOfBatches() public view returns (uint256) { return nextBatchNumber - 1; } /** * @notice Returns the epoch when the user can withdraw their deposit */ function getDepositRetrievalTimestamp( address _account ) public view returns (uint256) { uint256 participatingBatch = userBatchMapping[_account]; Batch memory batch = batchMapping[participatingBatch]; return batch.approvedAt == 0 ? 0 : batch.approvedAt.add(depositLockupDuration); } /* ========== Public Functions ========== */ function applyToBatch( uint256 _batchNumber ) public { require( _batchNumber > 0 && _batchNumber < nextBatchNumber, "WaitlistBatch: batch does not exist" ); // Check if user already applied to a batch UserBatchInfo memory batchInfo = getBatchInfoForUser(msg.sender); require( !batchInfo.hasParticipated, "WaitlistBatch: cannot apply to more than one batch" ); Batch storage batch = batchMapping[_batchNumber]; require( batch.filledSpots < batch.totalSpots, "WaitlistBatch: batch is filled" ); require( currentTimestamp() >= batch.batchStartTimestamp, "WaitlistBatch: cannot apply before the start time" ); batch.filledSpots++; userDepositMapping[_batchNumber][msg.sender] = batch.depositAmount; userBatchMapping[msg.sender] = _batchNumber; SafeERC20.safeTransferFrom( depositCurrency, msg.sender, address(this), batch.depositAmount ); emit AppliedToBatch( msg.sender, _batchNumber, batch.depositAmount ); } function reclaimTokens() public { require( blacklist[msg.sender] == false, "WaitlistBatch: user is blacklisted" ); UserBatchInfo memory batchInfo = getBatchInfoForUser(msg.sender); require( batchInfo.hasParticipated, "WaitlistBatch: user did not participate in a batch" ); require( batchInfo.depositAmount > 0, "WaitlistBatch: there are no tokens to reclaim" ); require( batchInfo.depositRetrievalTimestamp > 0, "WaitlistBatch: the batch is not approved yet" ); require( batchInfo.depositRetrievalTimestamp <= currentTimestamp(), "WaitlistBatch: the deposit lockup duration has not passed yet" ); userDepositMapping[batchInfo.batchNumber][msg.sender] -= batchInfo.depositAmount; SafeERC20.safeTransfer( depositCurrency, msg.sender, batchInfo.depositAmount ); emit TokensReclaimed(msg.sender, batchInfo.depositAmount); } /* ========== Admin Functions ========== */ /** * @dev Adds a new batch to the `batchMapping` and increases the * count of `totalNumberOfBatches` */ function addNewBatch( uint256 _totalSpots, uint256 _batchStartTimestamp, uint256 _depositAmount ) public onlyOwner { require( _batchStartTimestamp >= currentTimestamp(), "WaitlistBatch: batch start time cannot be in the past" ); require( _depositAmount > 0, "WaitlistBatch: deposit amount cannot be 0" ); require( _totalSpots > 0, "WaitlistBatch: batch cannot have 0 spots" ); Batch memory batch = Batch( _totalSpots, 0, _batchStartTimestamp, _depositAmount, 0 ); batchMapping[nextBatchNumber] = batch; nextBatchNumber = nextBatchNumber + 1; emit NewBatchAdded( _totalSpots, _batchStartTimestamp, _depositAmount, nextBatchNumber - 1 ); } /** * @dev Approves a batch. Users can then start reclaiming their deposit * after the retrieval date delay. */ function approveBatch( uint256 _batchNumber ) external onlyOwner { require( _batchNumber > 0 && _batchNumber < nextBatchNumber, "WaitlistBatch: the batch does not exist" ); Batch storage batch = batchMapping[_batchNumber]; require( batch.approvedAt == 0, "WaitlistBatch: the batch is already approved" ); batch.approvedAt = currentTimestamp(); emit BatchApproved(_batchNumber); } function changeBatchStartTimestamp( uint256 _batchNumber, uint256 _newStartTimestamp ) public onlyOwner { require( _batchNumber > 0 && _batchNumber < nextBatchNumber, "WaitlistBatch: batch does not exit" ); require( _newStartTimestamp >= currentTimestamp(), "WaitlistBatch: batch start time cannot be in the past" ); Batch storage batch = batchMapping[_batchNumber]; batch.batchStartTimestamp = _newStartTimestamp; emit BatchTimestampChanged( _batchNumber, _newStartTimestamp ); } function changeBatchTotalSpots( uint256 _batchNumber, uint256 _newSpots ) public onlyOwner { require( _batchNumber > 0 && _batchNumber < nextBatchNumber, "WaitlistBatch: the batch does not exist" ); Batch storage batch = batchMapping[_batchNumber]; require( currentTimestamp() < batch.batchStartTimestamp, "WaitlistBatch: the batch start date already passed" ); require( batch.totalSpots < _newSpots, "WaitlistBatch: cannot change total spots to a smaller or equal number" ); batch.totalSpots = _newSpots; emit BatchTotalSpotsUpdated( _batchNumber, _newSpots ); } function transferTokens( address _tokenAddress, uint256 _amount, address _destination ) public onlyOwner { SafeERC20.safeTransfer( IERC20(_tokenAddress), _destination, _amount ); emit TokensTransferred( _tokenAddress, _amount, _destination ); } function setModerator( address _user ) public onlyOwner { moderator = _user; emit ModeratorSet(_user); } function setDepositLockupDuration( uint256 _duration ) external onlyOwner { depositLockupDuration = _duration; emit DepositLockupDurationSet(depositLockupDuration); } /* ========== Moderator Functions ========== */ function addToBlacklist( address _user ) public onlyModerator { blacklist[_user] = true; emit AddedToBlacklist(_user); } function removeFromBlacklist( address _user ) public onlyModerator { blacklist[_user] = false; emit RemovedFromBlacklist(_user); } /* ========== Dev Functions ========== */ function currentTimestamp() public view returns (uint256) { return block.timestamp; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.5.16; /** * @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. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == msg.sender, "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 onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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 onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } }
pragma solidity ^0.5.16; 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, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } }
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.5.16; import {IERC20} from "../token/IERC20.sol"; // helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false library SafeERC20 { function safeApprove( IERC20 token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); /* solium-disable-next-line */ (bool success, bytes memory data) = address(token).call( abi.encodeWithSelector(0x095ea7b3, to, value) ); require( success && (data.length == 0 || abi.decode(data, (bool))), "SafeERC20: APPROVE_FAILED" ); } function safeTransfer( IERC20 token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); /* solium-disable-next-line */ (bool success, bytes memory data) = address(token).call( abi.encodeWithSelector(0xa9059cbb, to, value) ); require( success && (data.length == 0 || abi.decode(data, (bool))), "SafeERC20: TRANSFER_FAILED" ); } function safeTransferFrom( IERC20 token, address from, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); /* solium-disable-next-line */ (bool success, bytes memory data) = address(token).call( abi.encodeWithSelector( 0x23b872dd, from, to, value ) ); require( success && (data.length == 0 || abi.decode(data, (bool))), "SafeERC20: TRANSFER_FROM_FAILED" ); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.5.16; /** * @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 ); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_depositCurrency","type":"address"},{"internalType":"uint256","name":"_depositLockupDuration","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"AddedToBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"batchNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AppliedToBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_batchNumber","type":"uint256"}],"name":"BatchApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"batchNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"batchStartTimstamp","type":"uint256"}],"name":"BatchTimestampChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"batchNumber","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalSpots","type":"uint256"}],"name":"BatchTotalSpotsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_depositLockupDuration","type":"uint256"}],"name":"DepositLockupDurationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"ModeratorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalSpots","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"batchStartTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"batchNumber","type":"uint256"}],"name":"NewBatchAdded","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":false,"internalType":"address","name":"user","type":"address"}],"name":"RemovedFromBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensReclaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokensReclaimedBlacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"TokensTransferred","type":"event"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_totalSpots","type":"uint256"},{"internalType":"uint256","name":"_batchStartTimestamp","type":"uint256"},{"internalType":"uint256","name":"_depositAmount","type":"uint256"}],"name":"addNewBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"addToBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_batchNumber","type":"uint256"}],"name":"applyToBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_batchNumber","type":"uint256"}],"name":"approveBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"batchMapping","outputs":[{"internalType":"uint256","name":"totalSpots","type":"uint256"},{"internalType":"uint256","name":"filledSpots","type":"uint256"},{"internalType":"uint256","name":"batchStartTimestamp","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"approvedAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_batchNumber","type":"uint256"},{"internalType":"uint256","name":"_newStartTimestamp","type":"uint256"}],"name":"changeBatchStartTimestamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_batchNumber","type":"uint256"},{"internalType":"uint256","name":"_newSpots","type":"uint256"}],"name":"changeBatchTotalSpots","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"depositCurrency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"depositLockupDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getBatchInfoForUser","outputs":[{"components":[{"internalType":"bool","name":"hasParticipated","type":"bool"},{"internalType":"uint256","name":"batchNumber","type":"uint256"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"depositRetrievalTimestamp","type":"uint256"}],"internalType":"struct WaitlistBatch.UserBatchInfo","name":"","type":"tuple"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getDepositRetrievalTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalNumberOfBatches","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"moderator","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextBatchNumber","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":false,"inputs":[],"name":"reclaimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"removeFromBlacklist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"setDepositLockupDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"setModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_destination","type":"address"}],"name":"transferTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userBatchMapping","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userDepositMapping","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001f5238038062001f528339810160408190526200003491620000c2565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600280546001600160a01b0319166001600160a01b03939093169290921790915560045560016003556200013b565b8051620000af8162000116565b92915050565b8051620000af8162000130565b60008060408385031215620000d657600080fd5b6000620000e48585620000a2565b9250506020620000f785828601620000b5565b9150509250929050565b60006001600160a01b038216620000af565b90565b620001218162000101565b81146200012d57600080fd5b50565b620001218162000113565b611e07806200014b6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063715018a6116100de578063bad2352811610097578063dd235d9d11610071578063dd235d9d14610322578063f2fde38b14610335578063f9f92be414610348578063fd71c304146103685761018e565b8063bad23528146102ff578063baf4ffdf14610312578063c0decb361461031a5761018e565b8063715018a61461029657806375bba1891461029e5780637af64483146102b15780637fc313af146102c45780638da5cb5b146102e4578063a71762f5146102ec5761018e565b8063433c2e0f1161014b5780634af350eb116101255780634af350eb146102555780634d7745fc14610268578063537df3b61461027b578063547bde5b1461028e5761018e565b8063433c2e0f1461020b57806344337ea11461022f5780634a5a76c4146102425761018e565b8063074cbf271461019357806317c3ab6d146101a85780631e2ff94f146101d15780632d2d78f3146101d957806338743904146101ee5780633c54caa514610203575b600080fd5b6101a66101a1366004611278565b61037b565b005b6101bb6101b636600461123e565b610457565b6040516101c89190611c86565b60405180910390f35b6101bb610474565b6101e1610478565b6040516101c89190611afa565b6101f6610487565b6040516101c89190611a65565b6101a6610496565b61021e610219366004611220565b6105f1565b6040516101c8959493929190611ce0565b6101a661023d366004611197565b610620565b6101a6610250366004611220565b61069d565b6101a66102633660046111b5565b6106fc565b6101a6610276366004611220565b610764565b6101a6610289366004611197565b6108bb565b6101bb610935565b6101a661093f565b6101a66102ac366004611197565b6109b3565b6101bb6102bf366004611197565b610a28565b6102d76102d2366004611197565b610a3a565b6040516101c89190611c78565b6101f6610aa5565b6101a66102fa366004611278565b610ab4565b6101a661030d3660046112a8565b610b98565b6101bb610cd9565b6101bb610cdf565b6101a6610330366004611220565b610ce5565b6101a6610343366004611197565b610db5565b61035b610356366004611197565b610e60565b6040516101c89190611aec565b6101bb610376366004611197565b610e75565b6000546001600160a01b031633146103ae5760405162461bcd60e51b81526004016103a590611c28565b60405180910390fd5b6000821180156103bf575060035482105b6103db5760405162461bcd60e51b81526004016103a590611b28565b6103e3610474565b8110156104025760405162461bcd60e51b81526004016103a590611c18565b600082815260066020526040908190206002810183905590517f707b5df54f30ae354f00badd6f6f5b1eb061d1f5b6a5a981007120c5de988c879061044a9085908590611c94565b60405180910390a1505050565b600560209081526000928352604080842090915290825290205481565b4290565b6002546001600160a01b031681565b6001546001600160a01b031681565b3360009081526008602052604090205460ff16156104c65760405162461bcd60e51b81526004016103a590611c08565b6104ce61111d565b6104d733610a3a565b80519091506104f85760405162461bcd60e51b81526004016103a590611c48565b600081604001511161051c5760405162461bcd60e51b81526004016103a590611b08565b60008160600151116105405760405162461bcd60e51b81526004016103a590611b88565b610548610474565b8160600151111561056b5760405162461bcd60e51b81526004016103a590611ba8565b6040818101805160208085015160009081526005825284812033808352925293909320805491909103905560025490516105b1926001600160a01b039092169190610f10565b7f22a8aff78fe371f7e69a64e6fc4276227e72c6512ccee617ff32eef318f4a9f33382604001516040516105e6929190611a73565b60405180910390a150565b600660205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b6001546001600160a01b0316331461064a5760405162461bcd60e51b81526004016103a590611bb8565b6001600160a01b03811660009081526008602052604090819020805460ff19166001179055517ff9b68063b051b82957fa193585681240904fed808db8b30fc5a2d2202c6ed627906105e6908390611a65565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016103a590611c28565b60048190556040517fef028524737ea1f458a2132357986fe78ce4777dc1ed93bb464aaa8151fdc3c0906105e6908390611c86565b6000546001600160a01b031633146107265760405162461bcd60e51b81526004016103a590611c28565b610731838284610f10565b7f2dc85ecd41a2e25618af6e007abb3ce1ee081d7934fdb986d94c9cb2e0763bef83838360405161044a93929190611ac4565b600081118015610775575060035481105b6107915760405162461bcd60e51b81526004016103a590611c68565b61079961111d565b6107a233610a3a565b8051909150156107c45760405162461bcd60e51b81526004016103a590611be8565b600082815260066020526040902080546001820154106107f65760405162461bcd60e51b81526004016103a590611c58565b8060020154610803610474565b10156108215760405162461bcd60e51b81526004016103a590611b58565b60018082018054909101905560038101805460008581526005602090815260408083203380855290835281842094909455600790915290208590556002549154610877926001600160a01b031691903090610ffe565b600381015460405133917fb4400270f9f533da4f05697f80974e2926277d3a8d35a1e4ad37b1e86dd97331916108ae918791611c94565b60405180910390a2505050565b6001546001600160a01b031633146108e55760405162461bcd60e51b81526004016103a590611bb8565b6001600160a01b03811660009081526008602052604090819020805460ff19169055517f2b6bf71b58b3583add364b3d9060ebf8019650f65f5be35f5464b9cb3e4ba2d4906105e6908390611a65565b6003546000190190565b6000546001600160a01b031633146109695760405162461bcd60e51b81526004016103a590611c28565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109dd5760405162461bcd60e51b81526004016103a590611c28565b600180546001600160a01b0319166001600160a01b0383161790556040517f07abfa597e8dcfbbfa28a386fa0728caf3360f382d92356232125424bcaa6a53906105e6908390611a65565b60076020526000908152604090205481565b610a4261111d565b6001600160a01b0382166000818152600760209081526040808320548151608081018352811515815280840182905281855260058452828520958552949092529182902054918301919091529060608101610a9c85610e75565b90529392505050565b6000546001600160a01b031690565b6000546001600160a01b03163314610ade5760405162461bcd60e51b81526004016103a590611c28565b600082118015610aef575060035482105b610b0b5760405162461bcd60e51b81526004016103a590611b48565b60008281526006602052604090206002810154610b26610474565b10610b435760405162461bcd60e51b81526004016103a590611bd8565b80548211610b635760405162461bcd60e51b81526004016103a590611bc8565b8181556040517ffa9b153d1f6cf996af0270f672231c4d99bcce35f290cb73ce3ef933fd1db97f9061044a9085908590611c94565b6000546001600160a01b03163314610bc25760405162461bcd60e51b81526004016103a590611c28565b610bca610474565b821015610be95760405162461bcd60e51b81526004016103a590611c18565b60008111610c095760405162461bcd60e51b81526004016103a590611c38565b60008311610c295760405162461bcd60e51b81526004016103a590611b78565b610c31611147565b506040805160a081018252848152600060208083018281528385018781526060850187815260808601858152600380548752600690955294879020865181559251600180850191909155915160028401555182840155925160049091015580549182019055915190917f8bb8a081897c04fc27e90f00c642e5128a29c203313d994eb52916fb0e23a8c491610ccb91879187918791611ca2565b60405180910390a150505050565b60045481565b60035481565b6000546001600160a01b03163314610d0f5760405162461bcd60e51b81526004016103a590611c28565b600081118015610d20575060035481105b610d3c5760405162461bcd60e51b81526004016103a590611b48565b6000818152600660205260409020600481015415610d6c5760405162461bcd60e51b81526004016103a590611b98565b610d74610474565b60048201556040517fbee96e551432a70dbd56d04b87c944850a64a94ec2be1af1052d1c03a463875b90610da9908490611c86565b60405180910390a15050565b6000546001600160a01b03163314610ddf5760405162461bcd60e51b81526004016103a590611c28565b6001600160a01b038116610e055760405162461bcd60e51b81526004016103a590611b38565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60086020526000908152604090205460ff1681565b6001600160a01b038116600090815260076020526040812054610e96611147565b50600081815260066020908152604091829020825160a08101845281548152600182015492810192909252600281015492820192909252600382015460608201526004909101546080820181905215610f05576004546080820151610f009163ffffffff6110ef16565b610f08565b60005b949350505050565b60006060846001600160a01b031663a9059cbb8585604051602401610f36929190611ab6565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051610f6f9190611a52565b6000604051808303816000865af19150503d8060008114610fac576040519150601f19603f3d011682016040523d82523d6000602084013e610fb1565b606091505b5091509150818015610fdb575080511580610fdb575080806020019051610fdb9190810190611202565b610ff75760405162461bcd60e51b81526004016103a590611b18565b5050505050565b60006060856001600160a01b03166323b872dd86868660405160240161102693929190611a8e565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161105f9190611a52565b6000604051808303816000865af19150503d806000811461109c576040519150601f19603f3d011682016040523d82523d6000602084013e6110a1565b606091505b50915091508180156110cb5750805115806110cb5750808060200190516110cb9190810190611202565b6110e75760405162461bcd60e51b81526004016103a590611bf8565b505050505050565b6000828201838110156111145760405162461bcd60e51b81526004016103a590611b68565b90505b92915050565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b803561111781611d9b565b805161111781611db2565b803561111781611dbb565b6000602082840312156111a957600080fd5b6000610f088484611176565b6000806000606084860312156111ca57600080fd5b60006111d68686611176565b93505060206111e78682870161118c565b92505060406111f886828701611176565b9150509250925092565b60006020828403121561121457600080fd5b6000610f088484611181565b60006020828403121561123257600080fd5b6000610f08848461118c565b6000806040838503121561125157600080fd5b600061125d858561118c565b925050602061126e85828601611176565b9150509250929050565b6000806040838503121561128b57600080fd5b6000611297858561118c565b925050602061126e8582860161118c565b6000806000606084860312156112bd57600080fd5b60006112c9868661118c565b93505060206112da8682870161118c565b92505060406111f88682870161118c565b6112f481611d5d565b82525050565b6112f481611d3e565b6112f481611d49565b600061131782611d2c565b6113218185611d30565b9350611331818560208601611d6f565b9290920192915050565b6112f481611d64565b6000611351602d83611d35565b7f576169746c69737442617463683a20746865726520617265206e6f20746f6b6581526c6e7320746f207265636c61696d60981b602082015260400192915050565b60006113a0601a83611d35565b7f5361666545524332303a205452414e534645525f4641494c4544000000000000815260200192915050565b60006113d9602283611d35565b7f576169746c69737442617463683a20626174636820646f6573206e6f742065788152611a5d60f21b602082015260400192915050565b600061141d602683611d35565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000611465602783611d35565b7f576169746c69737442617463683a2074686520626174636820646f6573206e6f8152661d08195e1a5cdd60ca1b602082015260400192915050565b60006114ae603183611d35565b7f576169746c69737442617463683a2063616e6e6f74206170706c79206265666f8152707265207468652073746172742074696d6560781b602082015260400192915050565b6000611501601b83611d35565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061153a602883611d35565b7f576169746c69737442617463683a2062617463682063616e6e6f74206861766581526720302073706f747360c01b602082015260400192915050565b6000611584602c83611d35565b7f576169746c69737442617463683a20746865206261746368206973206e6f742081526b185c1c1c9bdd9959081e595d60a21b602082015260400192915050565b60006115d2602c83611d35565b7f576169746c69737442617463683a2074686520626174636820697320616c726581526b18591e48185c1c1c9bdd995960a21b602082015260400192915050565b6000611620603d83611d35565b7f576169746c69737442617463683a20746865206465706f736974206c6f636b7581527f70206475726174696f6e20686173206e6f742070617373656420796574000000602082015260400192915050565b600061167f602683611d35565b7f576169746c69737442617463683a2063616c6c6572206973206e6f74206d6f6481526532b930ba37b960d11b602082015260400192915050565b60006116c7604583611d35565b7f576169746c69737442617463683a2063616e6e6f74206368616e676520746f7481527f616c2073706f747320746f206120736d616c6c6572206f7220657175616c206e6020820152643ab6b132b960d91b604082015260600192915050565b6000611734603283611d35565b7f576169746c69737442617463683a207468652062617463682073746172742064815271185d1948185b1c9958591e481c185cdcd95960721b602082015260400192915050565b6000611788603283611d35565b7f576169746c69737442617463683a2063616e6e6f74206170706c7920746f206d8152710dee4ca40e8d0c2dc40dedcca40c4c2e8c6d60731b602082015260400192915050565b60006117dc601f83611d35565b7f5361666545524332303a205452414e534645525f46524f4d5f4641494c454400815260200192915050565b6000611815602283611d35565b7f576169746c69737442617463683a207573657220697320626c61636b6c697374815261195960f21b602082015260400192915050565b6000611859603583611d35565b7f576169746c69737442617463683a2062617463682073746172742074696d652081527418d85b9b9bdd081899481a5b881d1a19481c185cdd605a1b602082015260400192915050565b60006118b0602083611d35565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006118e9602983611d35565b7f576169746c69737442617463683a206465706f73697420616d6f756e7420636181526806e6e6f7420626520360bc1b602082015260400192915050565b6000611934603283611d35565b7f576169746c69737442617463683a207573657220646964206e6f7420706172748152710d2c6d2e0c2e8ca40d2dc40c240c4c2e8c6d60731b602082015260400192915050565b6000611988601e83611d35565b7f576169746c69737442617463683a2062617463682069732066696c6c65640000815260200192915050565b60006119c1602383611d35565b7f576169746c69737442617463683a20626174636820646f6573206e6f742065788152621a5cdd60ea1b602082015260400192915050565b80516080830190611a0a8482611303565b506020820151611a1d6020850182611a49565b506040820151611a306040850182611a49565b506060820151611a436060850182611a49565b50505050565b6112f481611d5a565b6000611a5e828461130c565b9392505050565b6020810161111782846112fa565b60408101611a8182856112eb565b611a5e6020830184611a49565b60608101611a9c82866112fa565b611aa960208301856112fa565b610f086040830184611a49565b60408101611a8182856112fa565b60608101611ad282866112fa565b611adf6020830185611a49565b610f0860408301846112fa565b602081016111178284611303565b60208101611117828461133b565b6020808252810161111781611344565b6020808252810161111781611393565b60208082528101611117816113cc565b6020808252810161111781611410565b6020808252810161111781611458565b60208082528101611117816114a1565b60208082528101611117816114f4565b602080825281016111178161152d565b6020808252810161111781611577565b60208082528101611117816115c5565b6020808252810161111781611613565b6020808252810161111781611672565b60208082528101611117816116ba565b6020808252810161111781611727565b602080825281016111178161177b565b60208082528101611117816117cf565b6020808252810161111781611808565b602080825281016111178161184c565b60208082528101611117816118a3565b60208082528101611117816118dc565b6020808252810161111781611927565b602080825281016111178161197b565b60208082528101611117816119b4565b6080810161111782846119f9565b602081016111178284611a49565b60408101611a818285611a49565b60808101611cb08287611a49565b611cbd6020830186611a49565b611cca6040830185611a49565b611cd76060830184611a49565b95945050505050565b60a08101611cee8288611a49565b611cfb6020830187611a49565b611d086040830186611a49565b611d156060830185611a49565b611d226080830184611a49565b9695505050505050565b5190565b919050565b90815260200190565b600061111782611d4e565b151590565b6001600160a01b031690565b90565b6000611117825b600061111782611d3e565b60005b83811015611d8a578181015183820152602001611d72565b83811115611a435750506000910152565b611da481611d3e565b8114611daf57600080fd5b50565b611da481611d49565b611da481611d5a56fea365627a7a72315820babd5b698c1fe3be917c700d9de1eb7cd9f6d2de61dd2283f6c9e1ef511318ec6c6578706572696d656e74616cf564736f6c634300051000400000000000000000000000001321f1f1aa541a56c31682c57b80ecfccd9bb2880000000000000000000000000000000000000000000000000000000000127500
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063715018a6116100de578063bad2352811610097578063dd235d9d11610071578063dd235d9d14610322578063f2fde38b14610335578063f9f92be414610348578063fd71c304146103685761018e565b8063bad23528146102ff578063baf4ffdf14610312578063c0decb361461031a5761018e565b8063715018a61461029657806375bba1891461029e5780637af64483146102b15780637fc313af146102c45780638da5cb5b146102e4578063a71762f5146102ec5761018e565b8063433c2e0f1161014b5780634af350eb116101255780634af350eb146102555780634d7745fc14610268578063537df3b61461027b578063547bde5b1461028e5761018e565b8063433c2e0f1461020b57806344337ea11461022f5780634a5a76c4146102425761018e565b8063074cbf271461019357806317c3ab6d146101a85780631e2ff94f146101d15780632d2d78f3146101d957806338743904146101ee5780633c54caa514610203575b600080fd5b6101a66101a1366004611278565b61037b565b005b6101bb6101b636600461123e565b610457565b6040516101c89190611c86565b60405180910390f35b6101bb610474565b6101e1610478565b6040516101c89190611afa565b6101f6610487565b6040516101c89190611a65565b6101a6610496565b61021e610219366004611220565b6105f1565b6040516101c8959493929190611ce0565b6101a661023d366004611197565b610620565b6101a6610250366004611220565b61069d565b6101a66102633660046111b5565b6106fc565b6101a6610276366004611220565b610764565b6101a6610289366004611197565b6108bb565b6101bb610935565b6101a661093f565b6101a66102ac366004611197565b6109b3565b6101bb6102bf366004611197565b610a28565b6102d76102d2366004611197565b610a3a565b6040516101c89190611c78565b6101f6610aa5565b6101a66102fa366004611278565b610ab4565b6101a661030d3660046112a8565b610b98565b6101bb610cd9565b6101bb610cdf565b6101a6610330366004611220565b610ce5565b6101a6610343366004611197565b610db5565b61035b610356366004611197565b610e60565b6040516101c89190611aec565b6101bb610376366004611197565b610e75565b6000546001600160a01b031633146103ae5760405162461bcd60e51b81526004016103a590611c28565b60405180910390fd5b6000821180156103bf575060035482105b6103db5760405162461bcd60e51b81526004016103a590611b28565b6103e3610474565b8110156104025760405162461bcd60e51b81526004016103a590611c18565b600082815260066020526040908190206002810183905590517f707b5df54f30ae354f00badd6f6f5b1eb061d1f5b6a5a981007120c5de988c879061044a9085908590611c94565b60405180910390a1505050565b600560209081526000928352604080842090915290825290205481565b4290565b6002546001600160a01b031681565b6001546001600160a01b031681565b3360009081526008602052604090205460ff16156104c65760405162461bcd60e51b81526004016103a590611c08565b6104ce61111d565b6104d733610a3a565b80519091506104f85760405162461bcd60e51b81526004016103a590611c48565b600081604001511161051c5760405162461bcd60e51b81526004016103a590611b08565b60008160600151116105405760405162461bcd60e51b81526004016103a590611b88565b610548610474565b8160600151111561056b5760405162461bcd60e51b81526004016103a590611ba8565b6040818101805160208085015160009081526005825284812033808352925293909320805491909103905560025490516105b1926001600160a01b039092169190610f10565b7f22a8aff78fe371f7e69a64e6fc4276227e72c6512ccee617ff32eef318f4a9f33382604001516040516105e6929190611a73565b60405180910390a150565b600660205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b6001546001600160a01b0316331461064a5760405162461bcd60e51b81526004016103a590611bb8565b6001600160a01b03811660009081526008602052604090819020805460ff19166001179055517ff9b68063b051b82957fa193585681240904fed808db8b30fc5a2d2202c6ed627906105e6908390611a65565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016103a590611c28565b60048190556040517fef028524737ea1f458a2132357986fe78ce4777dc1ed93bb464aaa8151fdc3c0906105e6908390611c86565b6000546001600160a01b031633146107265760405162461bcd60e51b81526004016103a590611c28565b610731838284610f10565b7f2dc85ecd41a2e25618af6e007abb3ce1ee081d7934fdb986d94c9cb2e0763bef83838360405161044a93929190611ac4565b600081118015610775575060035481105b6107915760405162461bcd60e51b81526004016103a590611c68565b61079961111d565b6107a233610a3a565b8051909150156107c45760405162461bcd60e51b81526004016103a590611be8565b600082815260066020526040902080546001820154106107f65760405162461bcd60e51b81526004016103a590611c58565b8060020154610803610474565b10156108215760405162461bcd60e51b81526004016103a590611b58565b60018082018054909101905560038101805460008581526005602090815260408083203380855290835281842094909455600790915290208590556002549154610877926001600160a01b031691903090610ffe565b600381015460405133917fb4400270f9f533da4f05697f80974e2926277d3a8d35a1e4ad37b1e86dd97331916108ae918791611c94565b60405180910390a2505050565b6001546001600160a01b031633146108e55760405162461bcd60e51b81526004016103a590611bb8565b6001600160a01b03811660009081526008602052604090819020805460ff19169055517f2b6bf71b58b3583add364b3d9060ebf8019650f65f5be35f5464b9cb3e4ba2d4906105e6908390611a65565b6003546000190190565b6000546001600160a01b031633146109695760405162461bcd60e51b81526004016103a590611c28565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109dd5760405162461bcd60e51b81526004016103a590611c28565b600180546001600160a01b0319166001600160a01b0383161790556040517f07abfa597e8dcfbbfa28a386fa0728caf3360f382d92356232125424bcaa6a53906105e6908390611a65565b60076020526000908152604090205481565b610a4261111d565b6001600160a01b0382166000818152600760209081526040808320548151608081018352811515815280840182905281855260058452828520958552949092529182902054918301919091529060608101610a9c85610e75565b90529392505050565b6000546001600160a01b031690565b6000546001600160a01b03163314610ade5760405162461bcd60e51b81526004016103a590611c28565b600082118015610aef575060035482105b610b0b5760405162461bcd60e51b81526004016103a590611b48565b60008281526006602052604090206002810154610b26610474565b10610b435760405162461bcd60e51b81526004016103a590611bd8565b80548211610b635760405162461bcd60e51b81526004016103a590611bc8565b8181556040517ffa9b153d1f6cf996af0270f672231c4d99bcce35f290cb73ce3ef933fd1db97f9061044a9085908590611c94565b6000546001600160a01b03163314610bc25760405162461bcd60e51b81526004016103a590611c28565b610bca610474565b821015610be95760405162461bcd60e51b81526004016103a590611c18565b60008111610c095760405162461bcd60e51b81526004016103a590611c38565b60008311610c295760405162461bcd60e51b81526004016103a590611b78565b610c31611147565b506040805160a081018252848152600060208083018281528385018781526060850187815260808601858152600380548752600690955294879020865181559251600180850191909155915160028401555182840155925160049091015580549182019055915190917f8bb8a081897c04fc27e90f00c642e5128a29c203313d994eb52916fb0e23a8c491610ccb91879187918791611ca2565b60405180910390a150505050565b60045481565b60035481565b6000546001600160a01b03163314610d0f5760405162461bcd60e51b81526004016103a590611c28565b600081118015610d20575060035481105b610d3c5760405162461bcd60e51b81526004016103a590611b48565b6000818152600660205260409020600481015415610d6c5760405162461bcd60e51b81526004016103a590611b98565b610d74610474565b60048201556040517fbee96e551432a70dbd56d04b87c944850a64a94ec2be1af1052d1c03a463875b90610da9908490611c86565b60405180910390a15050565b6000546001600160a01b03163314610ddf5760405162461bcd60e51b81526004016103a590611c28565b6001600160a01b038116610e055760405162461bcd60e51b81526004016103a590611b38565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60086020526000908152604090205460ff1681565b6001600160a01b038116600090815260076020526040812054610e96611147565b50600081815260066020908152604091829020825160a08101845281548152600182015492810192909252600281015492820192909252600382015460608201526004909101546080820181905215610f05576004546080820151610f009163ffffffff6110ef16565b610f08565b60005b949350505050565b60006060846001600160a01b031663a9059cbb8585604051602401610f36929190611ab6565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051610f6f9190611a52565b6000604051808303816000865af19150503d8060008114610fac576040519150601f19603f3d011682016040523d82523d6000602084013e610fb1565b606091505b5091509150818015610fdb575080511580610fdb575080806020019051610fdb9190810190611202565b610ff75760405162461bcd60e51b81526004016103a590611b18565b5050505050565b60006060856001600160a01b03166323b872dd86868660405160240161102693929190611a8e565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161105f9190611a52565b6000604051808303816000865af19150503d806000811461109c576040519150601f19603f3d011682016040523d82523d6000602084013e6110a1565b606091505b50915091508180156110cb5750805115806110cb5750808060200190516110cb9190810190611202565b6110e75760405162461bcd60e51b81526004016103a590611bf8565b505050505050565b6000828201838110156111145760405162461bcd60e51b81526004016103a590611b68565b90505b92915050565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b803561111781611d9b565b805161111781611db2565b803561111781611dbb565b6000602082840312156111a957600080fd5b6000610f088484611176565b6000806000606084860312156111ca57600080fd5b60006111d68686611176565b93505060206111e78682870161118c565b92505060406111f886828701611176565b9150509250925092565b60006020828403121561121457600080fd5b6000610f088484611181565b60006020828403121561123257600080fd5b6000610f08848461118c565b6000806040838503121561125157600080fd5b600061125d858561118c565b925050602061126e85828601611176565b9150509250929050565b6000806040838503121561128b57600080fd5b6000611297858561118c565b925050602061126e8582860161118c565b6000806000606084860312156112bd57600080fd5b60006112c9868661118c565b93505060206112da8682870161118c565b92505060406111f88682870161118c565b6112f481611d5d565b82525050565b6112f481611d3e565b6112f481611d49565b600061131782611d2c565b6113218185611d30565b9350611331818560208601611d6f565b9290920192915050565b6112f481611d64565b6000611351602d83611d35565b7f576169746c69737442617463683a20746865726520617265206e6f20746f6b6581526c6e7320746f207265636c61696d60981b602082015260400192915050565b60006113a0601a83611d35565b7f5361666545524332303a205452414e534645525f4641494c4544000000000000815260200192915050565b60006113d9602283611d35565b7f576169746c69737442617463683a20626174636820646f6573206e6f742065788152611a5d60f21b602082015260400192915050565b600061141d602683611d35565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000611465602783611d35565b7f576169746c69737442617463683a2074686520626174636820646f6573206e6f8152661d08195e1a5cdd60ca1b602082015260400192915050565b60006114ae603183611d35565b7f576169746c69737442617463683a2063616e6e6f74206170706c79206265666f8152707265207468652073746172742074696d6560781b602082015260400192915050565b6000611501601b83611d35565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061153a602883611d35565b7f576169746c69737442617463683a2062617463682063616e6e6f74206861766581526720302073706f747360c01b602082015260400192915050565b6000611584602c83611d35565b7f576169746c69737442617463683a20746865206261746368206973206e6f742081526b185c1c1c9bdd9959081e595d60a21b602082015260400192915050565b60006115d2602c83611d35565b7f576169746c69737442617463683a2074686520626174636820697320616c726581526b18591e48185c1c1c9bdd995960a21b602082015260400192915050565b6000611620603d83611d35565b7f576169746c69737442617463683a20746865206465706f736974206c6f636b7581527f70206475726174696f6e20686173206e6f742070617373656420796574000000602082015260400192915050565b600061167f602683611d35565b7f576169746c69737442617463683a2063616c6c6572206973206e6f74206d6f6481526532b930ba37b960d11b602082015260400192915050565b60006116c7604583611d35565b7f576169746c69737442617463683a2063616e6e6f74206368616e676520746f7481527f616c2073706f747320746f206120736d616c6c6572206f7220657175616c206e6020820152643ab6b132b960d91b604082015260600192915050565b6000611734603283611d35565b7f576169746c69737442617463683a207468652062617463682073746172742064815271185d1948185b1c9958591e481c185cdcd95960721b602082015260400192915050565b6000611788603283611d35565b7f576169746c69737442617463683a2063616e6e6f74206170706c7920746f206d8152710dee4ca40e8d0c2dc40dedcca40c4c2e8c6d60731b602082015260400192915050565b60006117dc601f83611d35565b7f5361666545524332303a205452414e534645525f46524f4d5f4641494c454400815260200192915050565b6000611815602283611d35565b7f576169746c69737442617463683a207573657220697320626c61636b6c697374815261195960f21b602082015260400192915050565b6000611859603583611d35565b7f576169746c69737442617463683a2062617463682073746172742074696d652081527418d85b9b9bdd081899481a5b881d1a19481c185cdd605a1b602082015260400192915050565b60006118b0602083611d35565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006118e9602983611d35565b7f576169746c69737442617463683a206465706f73697420616d6f756e7420636181526806e6e6f7420626520360bc1b602082015260400192915050565b6000611934603283611d35565b7f576169746c69737442617463683a207573657220646964206e6f7420706172748152710d2c6d2e0c2e8ca40d2dc40c240c4c2e8c6d60731b602082015260400192915050565b6000611988601e83611d35565b7f576169746c69737442617463683a2062617463682069732066696c6c65640000815260200192915050565b60006119c1602383611d35565b7f576169746c69737442617463683a20626174636820646f6573206e6f742065788152621a5cdd60ea1b602082015260400192915050565b80516080830190611a0a8482611303565b506020820151611a1d6020850182611a49565b506040820151611a306040850182611a49565b506060820151611a436060850182611a49565b50505050565b6112f481611d5a565b6000611a5e828461130c565b9392505050565b6020810161111782846112fa565b60408101611a8182856112eb565b611a5e6020830184611a49565b60608101611a9c82866112fa565b611aa960208301856112fa565b610f086040830184611a49565b60408101611a8182856112fa565b60608101611ad282866112fa565b611adf6020830185611a49565b610f0860408301846112fa565b602081016111178284611303565b60208101611117828461133b565b6020808252810161111781611344565b6020808252810161111781611393565b60208082528101611117816113cc565b6020808252810161111781611410565b6020808252810161111781611458565b60208082528101611117816114a1565b60208082528101611117816114f4565b602080825281016111178161152d565b6020808252810161111781611577565b60208082528101611117816115c5565b6020808252810161111781611613565b6020808252810161111781611672565b60208082528101611117816116ba565b6020808252810161111781611727565b602080825281016111178161177b565b60208082528101611117816117cf565b6020808252810161111781611808565b602080825281016111178161184c565b60208082528101611117816118a3565b60208082528101611117816118dc565b6020808252810161111781611927565b602080825281016111178161197b565b60208082528101611117816119b4565b6080810161111782846119f9565b602081016111178284611a49565b60408101611a818285611a49565b60808101611cb08287611a49565b611cbd6020830186611a49565b611cca6040830185611a49565b611cd76060830184611a49565b95945050505050565b60a08101611cee8288611a49565b611cfb6020830187611a49565b611d086040830186611a49565b611d156060830185611a49565b611d226080830184611a49565b9695505050505050565b5190565b919050565b90815260200190565b600061111782611d4e565b151590565b6001600160a01b031690565b90565b6000611117825b600061111782611d3e565b60005b83811015611d8a578181015183820152602001611d72565b83811115611a435750506000910152565b611da481611d3e565b8114611daf57600080fd5b50565b611da481611d49565b611da481611d5a56fea365627a7a72315820babd5b698c1fe3be917c700d9de1eb7cd9f6d2de61dd2283f6c9e1ef511318ec6c6578706572696d656e74616cf564736f6c63430005100040
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001321f1f1aa541a56c31682c57b80ecfccd9bb2880000000000000000000000000000000000000000000000000000000000127500
-----Decoded View---------------
Arg [0] : _depositCurrency (address): 0x1321f1f1aa541A56C31682c57b80ECfCCd9bB288
Arg [1] : _depositLockupDuration (uint256): 1209600
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001321f1f1aa541a56c31682c57b80ecfccd9bb288
Arg [1] : 0000000000000000000000000000000000000000000000000000000000127500
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.