More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 367 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 21169293 | 36 days ago | IN | 0 ETH | 0.00254215 | ||||
Withdraw | 21119703 | 43 days ago | IN | 0 ETH | 0.00046282 | ||||
Withdraw | 21091471 | 47 days ago | IN | 0 ETH | 0.00071752 | ||||
Withdraw | 21090272 | 47 days ago | IN | 0 ETH | 0.00060602 | ||||
Withdraw | 21090268 | 47 days ago | IN | 0 ETH | 0.00068777 | ||||
Withdraw | 20989295 | 61 days ago | IN | 0 ETH | 0.00172243 | ||||
Withdraw | 20966224 | 65 days ago | IN | 0 ETH | 0.00204397 | ||||
Withdraw | 20914565 | 72 days ago | IN | 0 ETH | 0.0040007 | ||||
Withdraw | 20886222 | 76 days ago | IN | 0 ETH | 0.00173807 | ||||
Withdraw | 20871553 | 78 days ago | IN | 0 ETH | 0.00355788 | ||||
Withdraw | 20823686 | 84 days ago | IN | 0 ETH | 0.00154516 | ||||
Withdraw | 20789461 | 89 days ago | IN | 0 ETH | 0.00132769 | ||||
Withdraw | 20788143 | 89 days ago | IN | 0 ETH | 0.00042685 | ||||
Withdraw | 20788142 | 89 days ago | IN | 0 ETH | 0.00148668 | ||||
Withdraw | 20788114 | 89 days ago | IN | 0 ETH | 0.00218126 | ||||
Withdraw | 20770500 | 92 days ago | IN | 0 ETH | 0.00066941 | ||||
Withdraw | 20759942 | 93 days ago | IN | 0 ETH | 0.00025173 | ||||
Withdraw | 20757342 | 94 days ago | IN | 0 ETH | 0.00029049 | ||||
Withdraw | 20747326 | 95 days ago | IN | 0 ETH | 0.00025136 | ||||
Withdraw | 20724121 | 98 days ago | IN | 0 ETH | 0.00040785 | ||||
Withdraw | 20717574 | 99 days ago | IN | 0 ETH | 0.00027059 | ||||
Withdraw | 20711389 | 100 days ago | IN | 0 ETH | 0.00018567 | ||||
Withdraw | 20711366 | 100 days ago | IN | 0 ETH | 0.00003452 | ||||
Withdraw | 20711364 | 100 days ago | IN | 0 ETH | 0.00003569 | ||||
Withdraw | 20711363 | 100 days ago | IN | 0 ETH | 0.00013951 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
PlanetStaking
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-05-21 */ // SPDX-License-Identifier: GPL-3.0 AND MIT // File @openzeppelin/contracts/utils/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } } // File @openzeppelin/contracts/access/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; /** * @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. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File @openzeppelin/contracts/token/ERC20/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) 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 a `value` amount of tokens 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 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); } // File contracts/PlanetStaking.sol // Original license: SPDX_License_Identifier: GPL-3.0 pragma solidity >=0.8.20; contract PlanetStaking is Ownable { fallback() external payable{} receive() external payable{} struct LockType { uint256 id; address owner; uint256 amount; uint256 lockDate; uint256 unlockDate; uint256 userLockIndex; bool isUnlocked; } // address constant WETH_ADDRESS = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c; // WBNB // address constant PLANET_ADDRESS = 0xCa6d678e74f553f0E59cccC03ae644a3c2c5EE7d; // Bsc address constant WETH_ADDRESS = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; // WETH address constant PLANET_ADDRESS = 0x2aD9adDD0d97EC3cDBA27F92bF6077893b76Ab0b; // Eth uint256 public lockEnd; uint256 public minimumAmount; uint256 public totalStaked; uint256 public activeLocks; uint256 public locksCount; address public claimContract; address public operator; mapping(uint256 => LockType) public locks; mapping(address => uint256[]) public userLocks; event Locked(uint256 indexed lockId, address indexed owner, uint256 amount, uint256 from, uint256 to); event Unlocked(uint256 indexed lockId, address indexed owner, uint256 amount, uint256 from, uint256 to); event RewardClaimed(uint256 indexed lockId, address indexed owner); constructor(uint256 _lockEnd, uint256 _minimumAmount) Ownable(msg.sender) { lockEnd = _lockEnd; minimumAmount = _minimumAmount; operator = msg.sender; } modifier onlyOperator() { require(msg.sender == operator || msg.sender == owner(), "only operator"); _; } modifier onlyClaimContract() { require(msg.sender == claimContract, "only claimContract"); _; } function lockAll() external { IERC20 planet = IERC20(PLANET_ADDRESS); lock(planet.balanceOf(msg.sender)); } function lock(uint256 _amount) public { require(block.timestamp < lockEnd, "Lock period ended"); require(_amount > 0, "_amount must be > 0"); require(_amount >= minimumAmount, "_amount below minimumAmount"); IERC20 planet = IERC20(PLANET_ADDRESS); uint256[] storage thisUserLocks = userLocks[msg.sender]; // Take the tokens uint256 balanceBefore = planet.balanceOf(address(this)); planet.transferFrom(msg.sender, address(this), _amount); uint256 balanceAfter = planet.balanceOf(address(this)); require(balanceAfter - balanceBefore == _amount, "transferFrom failed"); // Add a new lock, use the current locksCount as the lock id thisUserLocks.push(locksCount); LockType storage l = locks[locksCount]; // Save lock data l.id = locksCount; l.owner = msg.sender; l.amount = _amount; l.lockDate = block.timestamp; l.unlockDate = lockEnd; l.userLockIndex = thisUserLocks.length - 1; emit Locked(locksCount, msg.sender, _amount, block.timestamp, lockEnd); totalStaked += _amount; activeLocks++; locksCount++; } function withdraw(uint256 _lockId) external { LockType storage l = locks[_lockId]; require(l.owner == msg.sender, "!l.owner"); return _withdraw(_lockId); } function withdrawOnBehalf(uint256 _lockId, address _owner) external onlyOperator { LockType storage l = locks[_lockId]; require(l.owner == _owner, "!l.owner"); return _withdraw(_lockId); } function _withdraw(uint256 _lockId) internal { LockType storage l = locks[_lockId]; require(l.owner != address(0), "l.owner == 0"); require(l.unlockDate <= block.timestamp, "!expired"); require(l.isUnlocked == false, "l.isUnlocked == true"); require(IERC20(PLANET_ADDRESS).balanceOf(address(this)) >= l.amount, "!balance"); IERC20(PLANET_ADDRESS).transfer(l.owner, l.amount); emit Unlocked(_lockId, l.owner, l.amount, l.lockDate, l.unlockDate); // Mark the lock as withdrawn, but the lock will remain active until the owner claims his rewards in a separate contract l.isUnlocked = true; } function claimRewardOnBehalfOf(uint256 _lockId) external onlyOperator returns (uint256) { return _claimReward(_lockId); } function claimReward(uint256 _lockId, address _requester) external onlyClaimContract returns (uint256) { LockType storage l = locks[_lockId]; require(l.owner == _requester, "l.owner != _requester"); require(l.isUnlocked == true, "l.isUnlocked != true"); return _claimReward(_lockId); } function _claimReward(uint256 _lockId) internal returns (uint256 amount) { LockType storage l = locks[_lockId]; amount = l.amount; emit RewardClaimed(_lockId, l.owner); // The lock is no longer active after the user claims his rewards activeLocks--; // Delete the lock id from the userLocks array uint256[] storage thisUserLocks = userLocks[l.owner]; thisUserLocks[l.userLockIndex] = thisUserLocks[thisUserLocks.length - 1]; locks[thisUserLocks[thisUserLocks.length - 1]].userLockIndex = l.userLockIndex; thisUserLocks.pop(); // Delete the lock delete locks[_lockId]; } function userLocksLength(address _user) external view returns (uint256) { return userLocks[_user].length; } function getUserLocks(address _user) external view returns (LockType[] memory) { uint256[] storage userLocksIds = userLocks[_user]; LockType[] memory result = new LockType[](userLocksIds.length); for (uint256 i = 0; i < userLocksIds.length; i++) { result[i] = locks[userLocksIds[i]]; } return result; } function isUnlockable(uint256 _lockId) external view returns (bool) { LockType storage l = locks[_lockId]; require(l.owner != address(0), "l.owner == 0"); return l.unlockDate <= block.timestamp; } function setLockEnd(uint256 _lockEnd) external onlyOperator { lockEnd = _lockEnd; } function setMinimumAmount(uint256 _amount) external onlyOperator { require(_amount > 0, "_amount == 0"); minimumAmount = _amount; } function setClaimContract(address _claimContract) external onlyOperator { claimContract = _claimContract; } function rescueTokens(address _token, uint256 _amount) external onlyOwner { IERC20(_token).transfer(msg.sender, _amount); } function rescueETH() external onlyOwner { payable(msg.sender).transfer(address(this).balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_lockEnd","type":"uint256"},{"internalType":"uint256","name":"_minimumAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"lockId","type":"uint256"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"from","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"to","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"lockId","type":"uint256"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"RewardClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"lockId","type":"uint256"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"from","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"to","type":"uint256"}],"name":"Unlocked","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"activeLocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lockId","type":"uint256"},{"internalType":"address","name":"_requester","type":"address"}],"name":"claimReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lockId","type":"uint256"}],"name":"claimRewardOnBehalfOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserLocks","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"unlockDate","type":"uint256"},{"internalType":"uint256","name":"userLockIndex","type":"uint256"},{"internalType":"bool","name":"isUnlocked","type":"bool"}],"internalType":"struct PlanetStaking.LockType[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lockId","type":"uint256"}],"name":"isUnlockable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"locks","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockDate","type":"uint256"},{"internalType":"uint256","name":"unlockDate","type":"uint256"},{"internalType":"uint256","name":"userLockIndex","type":"uint256"},{"internalType":"bool","name":"isUnlocked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"locksCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimContract","type":"address"}],"name":"setClaimContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lockEnd","type":"uint256"}],"name":"setLockEnd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinimumAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalStaked","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":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userLocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"userLocksLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lockId","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lockId","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"withdrawOnBehalf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161184238038061184283398101604081905261002f916100cf565b338061005557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61005e8161007f565b50600191909155600255600780546001600160a01b031916331790556100f3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080604083850312156100e257600080fd5b505080516020909101519092909150565b611740806101026000396000f3fe6080604052600436106101735760003560e01c806385cb7202116100c8578063c28aa3d811610084578063eeb4a9c811610061578063eeb4a9c814610449578063f2c47ef014610469578063f2fde38b14610489578063f4dadc61146104a957005b8063c28aa3d8146103d3578063dd46706414610409578063e70eb3921461042957005b806385cb7202146103235780638da5cb5b14610339578063a0ee450114610357578063a51270b41461036d578063aa33fedb1461039d578063bb0c8298146103bd57005b806353e9bf1d1161012f57806366345da41161010c57806366345da4146102c3578063715018a6146102e357806376e44ed8146102f8578063817b1cd21461030d57005b806353e9bf1d1461024b578063570ca7351461026b57806357376198146102a357005b806320800a001461017c57806323a35de9146101915780632c79569a146101c75780632e1a7d4d146101f557806347eeccca146102155780634a30d3eb1461022b57005b3661017a57005b005b34801561018857600080fd5b5061017a61054d565b34801561019d57600080fd5b506101b16101ac3660046114dc565b610584565b6040516101be91906114fe565b60405180910390f35b3480156101d357600080fd5b506101e76101e236600461158b565b61070c565b6040519081526020016101be565b34801561020157600080fd5b5061017a61021036600461158b565b610768565b34801561022157600080fd5b506101e760045481565b34801561023757600080fd5b5061017a6102463660046114dc565b6107ca565b34801561025757600080fd5b5061017a6102663660046115a4565b61082b565b34801561027757600080fd5b5060075461028b906001600160a01b031681565b6040516001600160a01b0390911681526020016101be565b3480156102af57600080fd5b5061017a6102be3660046115d0565b6108d0565b3480156102cf57600080fd5b5060065461028b906001600160a01b031681565b3480156102ef57600080fd5b5061017a610949565b34801561030457600080fd5b5061017a61095d565b34801561031957600080fd5b506101e760035481565b34801561032f57600080fd5b506101e760055481565b34801561034557600080fd5b506000546001600160a01b031661028b565b34801561036357600080fd5b506101e760015481565b34801561037957600080fd5b5061038d61038836600461158b565b6109d6565b60405190151581526020016101be565b3480156103a957600080fd5b506101e76103b83660046115d0565b610a3a565b3480156103c957600080fd5b506101e760025481565b3480156103df57600080fd5b506101e76103ee3660046114dc565b6001600160a01b031660009081526009602052604090205490565b34801561041557600080fd5b5061017a61042436600461158b565b610a6b565b34801561043557600080fd5b506101e76104443660046115a4565b610e01565b34801561045557600080fd5b5061017a61046436600461158b565b610f1b565b34801561047557600080fd5b5061017a61048436600461158b565b610f9e565b34801561049557600080fd5b5061017a6104a43660046114dc565b610fe2565b3480156104b557600080fd5b5061050e6104c436600461158b565b600860205260009081526040902080546001820154600283015460038401546004850154600586015460069096015494956001600160a01b03909416949293919290919060ff1687565b604080519788526001600160a01b039096166020880152948601939093526060850191909152608084015260a0830152151560c082015260e0016101be565b61055561101d565b60405133904780156108fc02916000818181858888f19350505050158015610581573d6000803e3d6000fd5b50565b6001600160a01b038116600090815260096020526040812080546060929067ffffffffffffffff8111156105ba576105ba6115fa565b60405190808252806020026020018201604052801561063657816020015b6106236040518060e001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816105d85790505b50905060005b8254811015610704576008600084838154811061065b5761065b611610565b600091825260208083209091015483528281019390935260409182019020815160e0810183528154815260018201546001600160a01b0316938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a08301526006015460ff16151560c082015282518390839081106106e6576106e6611610565b602002602001018190525080806106fc9061163c565b91505061063c565b509392505050565b6007546000906001600160a01b031633148061073257506000546001600160a01b031633145b6107575760405162461bcd60e51b815260040161074e90611655565b60405180910390fd5b6107608261104a565b90505b919050565b600081815260086020526040902060018101546001600160a01b031633146107bd5760405162461bcd60e51b815260206004820152600860248201526710b61737bbb732b960c11b604482015260640161074e565b6107c6826111e0565b5050565b6007546001600160a01b03163314806107ed57506000546001600160a01b031633145b6108095760405162461bcd60e51b815260040161074e90611655565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031633148061084e57506000546001600160a01b031633145b61086a5760405162461bcd60e51b815260040161074e90611655565b600082815260086020526040902060018101546001600160a01b038381169116146108c25760405162461bcd60e51b815260206004820152600860248201526710b61737bbb732b960c11b604482015260640161074e565b6108cb836111e0565b505050565b6108d861101d565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb919061167c565b61095161101d565b61095b6000611475565b565b6040516370a0823160e01b8152336004820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b906105819082906370a0823190602401602060405180830381865afa1580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610424919061169e565b600081815260086020526040812060018101546001600160a01b0316610a2d5760405162461bcd60e51b815260206004820152600c60248201526b06c2e6f776e6572203d3d20360a41b604482015260640161074e565b6004015442101592915050565b60096020528160005260406000208181548110610a5657600080fd5b90600052602060002001600091509150505481565b6001544210610ab05760405162461bcd60e51b8152602060048201526011602482015270131bd8dac81c195c9a5bd908195b991959607a1b604482015260640161074e565b60008111610af65760405162461bcd60e51b815260206004820152601360248201527205f616d6f756e74206d757374206265203e203606c1b604482015260640161074e565b600254811015610b485760405162461bcd60e51b815260206004820152601b60248201527f5f616d6f756e742062656c6f77206d696e696d756d416d6f756e740000000000604482015260640161074e565b3360009081526009602052604080822090516370a0823160e01b8152306004820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b929083906370a0823190602401602060405180830381865afa158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd919061169e565b6040516323b872dd60e01b8152336004820152306024820152604481018690529091506001600160a01b038416906323b872dd906064016020604051808303816000875af1158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c47919061167c565b506040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb3919061169e565b905084610cc083836116b7565b14610d035760405162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b604482015260640161074e565b60058054845460018181018755600087815260208082209093019390935592548083526008909152604090912090815580820180546001600160a01b03191633179055600281018790554260038201558154600482015584549091610d67916116b7565b6005808301919091555460015460408051898152426020820152908101919091523391907fd5987d72b516fb12b1d31e6a7ab75f0c975e512aba9225ebbbb1b58c25cbb7a79060600160405180910390a38560036000828254610dca91906116ca565b909155505060048054906000610ddf8361163c565b909155505060058054906000610df48361163c565b9190505550505050505050565b6006546000906001600160a01b03163314610e535760405162461bcd60e51b81526020600482015260126024820152711bdb9b1e4818db185a5b50dbdb9d1c9858dd60721b604482015260640161074e565b600083815260086020526040902060018101546001600160a01b03848116911614610eb85760405162461bcd60e51b8152602060048201526015602482015274361737bbb732b910109e902fb932b8bab2b9ba32b960591b604482015260640161074e565b600681015460ff161515600114610f085760405162461bcd60e51b81526020600482015260146024820152736c2e6973556e6c6f636b656420213d207472756560601b604482015260640161074e565b610f118461104a565b9150505b92915050565b6007546001600160a01b0316331480610f3e57506000546001600160a01b031633145b610f5a5760405162461bcd60e51b815260040161074e90611655565b60008111610f995760405162461bcd60e51b815260206004820152600c60248201526b05f616d6f756e74203d3d20360a41b604482015260640161074e565b600255565b6007546001600160a01b0316331480610fc157506000546001600160a01b031633145b610fdd5760405162461bcd60e51b815260040161074e90611655565b600155565b610fea61101d565b6001600160a01b03811661101457604051631e4fbdf760e01b81526000600482015260240161074e565b61058181611475565b6000546001600160a01b0316331461095b5760405163118cdaa760e01b815233600482015260240161074e565b600081815260086020526040808220600281015460018201549251909391926001600160a01b03169185917f5dd59f4285b36241394b73f8f7ae03d0290b030a86803cf2562ecf33eeb617bd9190a3600480549060006110a9836116dd565b90915550506001808201546001600160a01b031660009081526009602052604090208054909182916110db91906116b7565b815481106110eb576110eb611610565b90600052602060002001548183600501548154811061110c5761110c611610565b9060005260206000200181905550816005015460086000836001858054905061113591906116b7565b8154811061114557611145611610565b906000526020600020015481526020019081526020016000206005018190555080805480611175576111756116f4565b60008281526020808220830160001990810183905590920190925594815260089094525050604082208281556001810180546001600160a01b031916905560028101839055600381018390556004810183905560058101929092556006909101805460ff1916905590565b600081815260086020526040902060018101546001600160a01b03166112375760405162461bcd60e51b815260206004820152600c60248201526b06c2e6f776e6572203d3d20360a41b604482015260640161074e565b42816004015411156112765760405162461bcd60e51b815260206004820152600860248201526708595e1c1a5c995960c21b604482015260640161074e565b600681015460ff16156112c25760405162461bcd60e51b81526020600482015260146024820152736c2e6973556e6c6f636b6564203d3d207472756560601b604482015260640161074e565b60028101546040516370a0823160e01b8152306004820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b906370a0823190602401602060405180830381865afa158015611316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133a919061169e565b10156113735760405162461bcd60e51b81526020600482015260086024820152672162616c616e636560c01b604482015260640161074e565b6001810154600282015460405163a9059cbb60e01b81526001600160a01b0390921660048301526024820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b9063a9059cbb906044016020604051808303816000875af11580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611401919061167c565b506001810154600282015460038301546004840154604080519384526020840192909252908201526001600160a01b039091169083907f303dac047084ce180e65372ee02404b9f7ccfe82face1624c79ea1f75a51236f9060600160405180910390a3600601805460ff1916600117905550565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461076357600080fd5b6000602082840312156114ee57600080fd5b6114f7826114c5565b9392505050565b602080825282518282018190526000919060409081850190868401855b8281101561157e57815180518552868101516001600160a01b0316878601528581015186860152606080820151908601526080808201519086015260a0808201519086015260c09081015115159085015260e0909301929085019060010161151b565b5091979650505050505050565b60006020828403121561159d57600080fd5b5035919050565b600080604083850312156115b757600080fd5b823591506115c7602084016114c5565b90509250929050565b600080604083850312156115e357600080fd5b6115ec836114c5565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164e5761164e611626565b5060010190565b6020808252600d908201526c37b7363c9037b832b930ba37b960991b604082015260600190565b60006020828403121561168e57600080fd5b815180151581146114f757600080fd5b6000602082840312156116b057600080fd5b5051919050565b81810381811115610f1557610f15611626565b80820180821115610f1557610f15611626565b6000816116ec576116ec611626565b506000190190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220cf6d10b0ae924e980275dea3f1efdaa279481e3beb42357cead4baddb5e4db9564736f6c634300081400330000000000000000000000000000000000000000000000000000000066c364f800000000000000000000000000000000000000000000152d02c7e14af6800000
Deployed Bytecode
0x6080604052600436106101735760003560e01c806385cb7202116100c8578063c28aa3d811610084578063eeb4a9c811610061578063eeb4a9c814610449578063f2c47ef014610469578063f2fde38b14610489578063f4dadc61146104a957005b8063c28aa3d8146103d3578063dd46706414610409578063e70eb3921461042957005b806385cb7202146103235780638da5cb5b14610339578063a0ee450114610357578063a51270b41461036d578063aa33fedb1461039d578063bb0c8298146103bd57005b806353e9bf1d1161012f57806366345da41161010c57806366345da4146102c3578063715018a6146102e357806376e44ed8146102f8578063817b1cd21461030d57005b806353e9bf1d1461024b578063570ca7351461026b57806357376198146102a357005b806320800a001461017c57806323a35de9146101915780632c79569a146101c75780632e1a7d4d146101f557806347eeccca146102155780634a30d3eb1461022b57005b3661017a57005b005b34801561018857600080fd5b5061017a61054d565b34801561019d57600080fd5b506101b16101ac3660046114dc565b610584565b6040516101be91906114fe565b60405180910390f35b3480156101d357600080fd5b506101e76101e236600461158b565b61070c565b6040519081526020016101be565b34801561020157600080fd5b5061017a61021036600461158b565b610768565b34801561022157600080fd5b506101e760045481565b34801561023757600080fd5b5061017a6102463660046114dc565b6107ca565b34801561025757600080fd5b5061017a6102663660046115a4565b61082b565b34801561027757600080fd5b5060075461028b906001600160a01b031681565b6040516001600160a01b0390911681526020016101be565b3480156102af57600080fd5b5061017a6102be3660046115d0565b6108d0565b3480156102cf57600080fd5b5060065461028b906001600160a01b031681565b3480156102ef57600080fd5b5061017a610949565b34801561030457600080fd5b5061017a61095d565b34801561031957600080fd5b506101e760035481565b34801561032f57600080fd5b506101e760055481565b34801561034557600080fd5b506000546001600160a01b031661028b565b34801561036357600080fd5b506101e760015481565b34801561037957600080fd5b5061038d61038836600461158b565b6109d6565b60405190151581526020016101be565b3480156103a957600080fd5b506101e76103b83660046115d0565b610a3a565b3480156103c957600080fd5b506101e760025481565b3480156103df57600080fd5b506101e76103ee3660046114dc565b6001600160a01b031660009081526009602052604090205490565b34801561041557600080fd5b5061017a61042436600461158b565b610a6b565b34801561043557600080fd5b506101e76104443660046115a4565b610e01565b34801561045557600080fd5b5061017a61046436600461158b565b610f1b565b34801561047557600080fd5b5061017a61048436600461158b565b610f9e565b34801561049557600080fd5b5061017a6104a43660046114dc565b610fe2565b3480156104b557600080fd5b5061050e6104c436600461158b565b600860205260009081526040902080546001820154600283015460038401546004850154600586015460069096015494956001600160a01b03909416949293919290919060ff1687565b604080519788526001600160a01b039096166020880152948601939093526060850191909152608084015260a0830152151560c082015260e0016101be565b61055561101d565b60405133904780156108fc02916000818181858888f19350505050158015610581573d6000803e3d6000fd5b50565b6001600160a01b038116600090815260096020526040812080546060929067ffffffffffffffff8111156105ba576105ba6115fa565b60405190808252806020026020018201604052801561063657816020015b6106236040518060e001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816105d85790505b50905060005b8254811015610704576008600084838154811061065b5761065b611610565b600091825260208083209091015483528281019390935260409182019020815160e0810183528154815260018201546001600160a01b0316938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a08301526006015460ff16151560c082015282518390839081106106e6576106e6611610565b602002602001018190525080806106fc9061163c565b91505061063c565b509392505050565b6007546000906001600160a01b031633148061073257506000546001600160a01b031633145b6107575760405162461bcd60e51b815260040161074e90611655565b60405180910390fd5b6107608261104a565b90505b919050565b600081815260086020526040902060018101546001600160a01b031633146107bd5760405162461bcd60e51b815260206004820152600860248201526710b61737bbb732b960c11b604482015260640161074e565b6107c6826111e0565b5050565b6007546001600160a01b03163314806107ed57506000546001600160a01b031633145b6108095760405162461bcd60e51b815260040161074e90611655565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b031633148061084e57506000546001600160a01b031633145b61086a5760405162461bcd60e51b815260040161074e90611655565b600082815260086020526040902060018101546001600160a01b038381169116146108c25760405162461bcd60e51b815260206004820152600860248201526710b61737bbb732b960c11b604482015260640161074e565b6108cb836111e0565b505050565b6108d861101d565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cb919061167c565b61095161101d565b61095b6000611475565b565b6040516370a0823160e01b8152336004820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b906105819082906370a0823190602401602060405180830381865afa1580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610424919061169e565b600081815260086020526040812060018101546001600160a01b0316610a2d5760405162461bcd60e51b815260206004820152600c60248201526b06c2e6f776e6572203d3d20360a41b604482015260640161074e565b6004015442101592915050565b60096020528160005260406000208181548110610a5657600080fd5b90600052602060002001600091509150505481565b6001544210610ab05760405162461bcd60e51b8152602060048201526011602482015270131bd8dac81c195c9a5bd908195b991959607a1b604482015260640161074e565b60008111610af65760405162461bcd60e51b815260206004820152601360248201527205f616d6f756e74206d757374206265203e203606c1b604482015260640161074e565b600254811015610b485760405162461bcd60e51b815260206004820152601b60248201527f5f616d6f756e742062656c6f77206d696e696d756d416d6f756e740000000000604482015260640161074e565b3360009081526009602052604080822090516370a0823160e01b8152306004820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b929083906370a0823190602401602060405180830381865afa158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd919061169e565b6040516323b872dd60e01b8152336004820152306024820152604481018690529091506001600160a01b038416906323b872dd906064016020604051808303816000875af1158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c47919061167c565b506040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb3919061169e565b905084610cc083836116b7565b14610d035760405162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b604482015260640161074e565b60058054845460018181018755600087815260208082209093019390935592548083526008909152604090912090815580820180546001600160a01b03191633179055600281018790554260038201558154600482015584549091610d67916116b7565b6005808301919091555460015460408051898152426020820152908101919091523391907fd5987d72b516fb12b1d31e6a7ab75f0c975e512aba9225ebbbb1b58c25cbb7a79060600160405180910390a38560036000828254610dca91906116ca565b909155505060048054906000610ddf8361163c565b909155505060058054906000610df48361163c565b9190505550505050505050565b6006546000906001600160a01b03163314610e535760405162461bcd60e51b81526020600482015260126024820152711bdb9b1e4818db185a5b50dbdb9d1c9858dd60721b604482015260640161074e565b600083815260086020526040902060018101546001600160a01b03848116911614610eb85760405162461bcd60e51b8152602060048201526015602482015274361737bbb732b910109e902fb932b8bab2b9ba32b960591b604482015260640161074e565b600681015460ff161515600114610f085760405162461bcd60e51b81526020600482015260146024820152736c2e6973556e6c6f636b656420213d207472756560601b604482015260640161074e565b610f118461104a565b9150505b92915050565b6007546001600160a01b0316331480610f3e57506000546001600160a01b031633145b610f5a5760405162461bcd60e51b815260040161074e90611655565b60008111610f995760405162461bcd60e51b815260206004820152600c60248201526b05f616d6f756e74203d3d20360a41b604482015260640161074e565b600255565b6007546001600160a01b0316331480610fc157506000546001600160a01b031633145b610fdd5760405162461bcd60e51b815260040161074e90611655565b600155565b610fea61101d565b6001600160a01b03811661101457604051631e4fbdf760e01b81526000600482015260240161074e565b61058181611475565b6000546001600160a01b0316331461095b5760405163118cdaa760e01b815233600482015260240161074e565b600081815260086020526040808220600281015460018201549251909391926001600160a01b03169185917f5dd59f4285b36241394b73f8f7ae03d0290b030a86803cf2562ecf33eeb617bd9190a3600480549060006110a9836116dd565b90915550506001808201546001600160a01b031660009081526009602052604090208054909182916110db91906116b7565b815481106110eb576110eb611610565b90600052602060002001548183600501548154811061110c5761110c611610565b9060005260206000200181905550816005015460086000836001858054905061113591906116b7565b8154811061114557611145611610565b906000526020600020015481526020019081526020016000206005018190555080805480611175576111756116f4565b60008281526020808220830160001990810183905590920190925594815260089094525050604082208281556001810180546001600160a01b031916905560028101839055600381018390556004810183905560058101929092556006909101805460ff1916905590565b600081815260086020526040902060018101546001600160a01b03166112375760405162461bcd60e51b815260206004820152600c60248201526b06c2e6f776e6572203d3d20360a41b604482015260640161074e565b42816004015411156112765760405162461bcd60e51b815260206004820152600860248201526708595e1c1a5c995960c21b604482015260640161074e565b600681015460ff16156112c25760405162461bcd60e51b81526020600482015260146024820152736c2e6973556e6c6f636b6564203d3d207472756560601b604482015260640161074e565b60028101546040516370a0823160e01b8152306004820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b906370a0823190602401602060405180830381865afa158015611316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133a919061169e565b10156113735760405162461bcd60e51b81526020600482015260086024820152672162616c616e636560c01b604482015260640161074e565b6001810154600282015460405163a9059cbb60e01b81526001600160a01b0390921660048301526024820152732ad9addd0d97ec3cdba27f92bf6077893b76ab0b9063a9059cbb906044016020604051808303816000875af11580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611401919061167c565b506001810154600282015460038301546004840154604080519384526020840192909252908201526001600160a01b039091169083907f303dac047084ce180e65372ee02404b9f7ccfe82face1624c79ea1f75a51236f9060600160405180910390a3600601805460ff1916600117905550565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461076357600080fd5b6000602082840312156114ee57600080fd5b6114f7826114c5565b9392505050565b602080825282518282018190526000919060409081850190868401855b8281101561157e57815180518552868101516001600160a01b0316878601528581015186860152606080820151908601526080808201519086015260a0808201519086015260c09081015115159085015260e0909301929085019060010161151b565b5091979650505050505050565b60006020828403121561159d57600080fd5b5035919050565b600080604083850312156115b757600080fd5b823591506115c7602084016114c5565b90509250929050565b600080604083850312156115e357600080fd5b6115ec836114c5565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164e5761164e611626565b5060010190565b6020808252600d908201526c37b7363c9037b832b930ba37b960991b604082015260600190565b60006020828403121561168e57600080fd5b815180151581146114f757600080fd5b6000602082840312156116b057600080fd5b5051919050565b81810381811115610f1557610f15611626565b80820180821115610f1557610f15611626565b6000816116ec576116ec611626565b506000190190565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220cf6d10b0ae924e980275dea3f1efdaa279481e3beb42357cead4baddb5e4db9564736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000066c364f800000000000000000000000000000000000000000000152d02c7e14af6800000
-----Decoded View---------------
Arg [0] : _lockEnd (uint256): 1724081400
Arg [1] : _minimumAmount (uint256): 100000000000000000000000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000066c364f8
Arg [1] : 00000000000000000000000000000000000000000000152d02c7e14af6800000
Deployed Bytecode Sourcemap
7428:6841:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14156:110;;;;;;;;;;;;;:::i;13002:369::-;;;;;;;;;;-1:-1:-1;13002:369:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11696:135;;;;;;;;;;-1:-1:-1;11696:135:0;;;;;:::i;:::-;;:::i;:::-;;;1924:25:1;;;1912:2;1897:18;11696:135:0;1778:177:1;10585:187:0;;;;;;;;;;-1:-1:-1;10585:187:0;;;;;:::i;:::-;;:::i;8221:26::-;;;;;;;;;;;;;;;;13882:121;;;;;;;;;;-1:-1:-1;13882:121:0;;;;;:::i;:::-;;:::i;10780:220::-;;;;;;;;;;-1:-1:-1;10780:220:0;;;;;:::i;:::-;;:::i;8321:23::-;;;;;;;;;;-1:-1:-1;8321:23:0;;;;-1:-1:-1;;;;;8321:23:0;;;;;;-1:-1:-1;;;;;2383:32:1;;;2365:51;;2353:2;2338:18;8321:23:0;2219:203:1;14011:137:0;;;;;;;;;;-1:-1:-1;14011:137:0;;;;;:::i;:::-;;:::i;8286:28::-;;;;;;;;;;-1:-1:-1;8286:28:0;;;;-1:-1:-1;;;;;8286:28:0;;;3518:103;;;;;;;;;;;;;:::i;9203:130::-;;;;;;;;;;;;;:::i;8188:26::-;;;;;;;;;;;;;;;;8254:25;;;;;;;;;;;;;;;;2843:87;;;;;;;;;;-1:-1:-1;2889:7:0;2916:6;-1:-1:-1;;;;;2916:6:0;2843:87;;8124:22;;;;;;;;;;;;;;;;13379:228;;;;;;;;;;-1:-1:-1;13379:228:0;;;;;:::i;:::-;;:::i;:::-;;;2851:14:1;;2844:22;2826:41;;2814:2;2799:18;13379:228:0;2686:187:1;8401:46:0;;;;;;;;;;-1:-1:-1;8401:46:0;;;;;:::i;:::-;;:::i;8153:28::-;;;;;;;;;;;;;;;;12873:121;;;;;;;;;;-1:-1:-1;12873:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;12963:16:0;12936:7;12963:16;;;:9;:16;;;;;:23;;12873:121;9341:1236;;;;;;;;;;-1:-1:-1;9341:1236:0;;;;;:::i;:::-;;:::i;11839:326::-;;;;;;;;;;-1:-1:-1;11839:326:0;;;;;:::i;:::-;;:::i;13720:154::-;;;;;;;;;;-1:-1:-1;13720:154:0;;;;;:::i;:::-;;:::i;13615:97::-;;;;;;;;;;-1:-1:-1;13615:97:0;;;;;:::i;:::-;;:::i;3776:220::-;;;;;;;;;;-1:-1:-1;3776:220:0;;;;;:::i;:::-;;:::i;8353:41::-;;;;;;;;;;-1:-1:-1;8353:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8353:41:0;;;;;;;;;;;;;;;;;;;3187:25:1;;;-1:-1:-1;;;;;3248:32:1;;;3243:2;3228:18;;3221:60;3297:18;;;3290:34;;;;3355:2;3340:18;;3333:34;;;;3398:3;3383:19;;3376:35;3268:3;3427:19;;3420:35;3499:14;3492:22;3486:3;3471:19;;3464:51;3174:3;3159:19;8353:41:0;2878:643:1;14156:110:0;2729:13;:11;:13::i;:::-;14207:51:::1;::::0;14215:10:::1;::::0;14236:21:::1;14207:51:::0;::::1;;;::::0;::::1;::::0;;;14236:21;14215:10;14207:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14156:110::o:0;13002:369::-;-1:-1:-1;;;;;13125:16:0;;13092:30;13125:16;;;:9;:16;;;;;13194:19;;13062:17;;13092:30;13179:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13179:35:0;;;;;;;;;;;;;;;;;13152:62;;13232:9;13227:111;13251:19;;13247:23;;13227:111;;;13304:5;:22;13310:12;13323:1;13310:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;13304:22;;;;;;;;;;;;;;;13292:34;;;;;;;;;;;;;;;-1:-1:-1;;;;;13292:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;;:6;;13299:1;;13292:9;;;;;;:::i;:::-;;;;;;:34;;;;13272:3;;;;;:::i;:::-;;;;13227:111;;;-1:-1:-1;13357:6:0;13002:369;-1:-1:-1;;;13002:369:0:o;11696:135::-;8998:8;;11775:7;;-1:-1:-1;;;;;8998:8:0;8984:10;:22;;:47;;-1:-1:-1;2889:7:0;2916:6;-1:-1:-1;;;;;2916:6:0;9010:10;:21;8984:47;8976:73;;;;-1:-1:-1;;;8976:73:0;;;;;;;:::i;:::-;;;;;;;;;11802:21:::1;11815:7;11802:12;:21::i;:::-;11795:28;;9060:1;11696:135:::0;;;:::o;10585:187::-;10640:18;10661:14;;;:5;:14;;;;;10694:7;;;;-1:-1:-1;;;;;10694:7:0;10705:10;10694:21;10686:42;;;;-1:-1:-1;;;10686:42:0;;4606:2:1;10686:42:0;;;4588:21:1;4645:1;4625:18;;;4618:29;-1:-1:-1;;;4663:18:1;;;4656:38;4711:18;;10686:42:0;4404:331:1;10686:42:0;10746:18;10756:7;10746:9;:18::i;:::-;10739:25;10585:187;:::o;13882:121::-;8998:8;;-1:-1:-1;;;;;8998:8:0;8984:10;:22;;:47;;-1:-1:-1;2889:7:0;2916:6;-1:-1:-1;;;;;2916:6:0;9010:10;:21;8984:47;8976:73;;;;-1:-1:-1;;;8976:73:0;;;;;;;:::i;:::-;13965:13:::1;:30:::0;;-1:-1:-1;;;;;;13965:30:0::1;-1:-1:-1::0;;;;;13965:30:0;;;::::1;::::0;;;::::1;::::0;;13882:121::o;10780:220::-;8998:8;;-1:-1:-1;;;;;8998:8:0;8984:10;:22;;:47;;-1:-1:-1;2889:7:0;2916:6;-1:-1:-1;;;;;2916:6:0;9010:10;:21;8984:47;8976:73;;;;-1:-1:-1;;;8976:73:0;;;;;;;:::i;:::-;10872:18:::1;10893:14:::0;;;:5:::1;:14;::::0;;;;10926:7:::1;::::0;::::1;::::0;-1:-1:-1;;;;;10926:17:0;;::::1;:7:::0;::::1;:17;10918:38;;;::::0;-1:-1:-1;;;10918:38:0;;4606:2:1;10918:38:0::1;::::0;::::1;4588:21:1::0;4645:1;4625:18;;;4618:29;-1:-1:-1;;;4663:18:1;;;4656:38;4711:18;;10918:38:0::1;4404:331:1::0;10918:38:0::1;10974:18;10984:7;10974:9;:18::i;:::-;10967:25;10780:220:::0;;:::o;14011:137::-;2729:13;:11;:13::i;:::-;14096:44:::1;::::0;-1:-1:-1;;;14096:44:0;;14120:10:::1;14096:44;::::0;::::1;4914:51:1::0;4981:18;;;4974:34;;;-1:-1:-1;;;;;14096:23:0;::::1;::::0;::::1;::::0;4887:18:1;;14096:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3518:103::-:0;2729:13;:11;:13::i;:::-;3583:30:::1;3610:1;3583:18;:30::i;:::-;3518:103::o:0;9203:130::-;9296:28;;-1:-1:-1;;;9296:28:0;;9313:10;9296:28;;;2365:51:1;8066:42:0;;9291:34;;8066:42;;9296:16;;2338:18:1;;9296:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13379:228::-;13441:4;13479:14;;;:5;:14;;;;;13512:7;;;;-1:-1:-1;;;;;13512:7:0;13504:46;;;;-1:-1:-1;;;13504:46:0;;5692:2:1;13504:46:0;;;5674:21:1;5731:2;5711:18;;;5704:30;-1:-1:-1;;;5750:18:1;;;5743:42;5802:18;;13504:46:0;5490:336:1;13504:46:0;13568:12;;;13584:15;-1:-1:-1;13568:31:0;;13379:228;-1:-1:-1;;13379:228:0:o;8401:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9341:1236::-;9416:7;;9398:15;:25;9390:55;;;;-1:-1:-1;;;9390:55:0;;6033:2:1;9390:55:0;;;6015:21:1;6072:2;6052:18;;;6045:30;-1:-1:-1;;;6091:18:1;;;6084:47;6148:18;;9390:55:0;5831:341:1;9390:55:0;9474:1;9464:7;:11;9456:43;;;;-1:-1:-1;;;9456:43:0;;6379:2:1;9456:43:0;;;6361:21:1;6418:2;6398:18;;;6391:30;-1:-1:-1;;;6437:18:1;;;6430:49;6496:18;;9456:43:0;6177:343:1;9456:43:0;9529:13;;9518:7;:24;;9510:64;;;;-1:-1:-1;;;9510:64:0;;6727:2:1;9510:64:0;;;6709:21:1;6766:2;6746:18;;;6739:30;6805:29;6785:18;;;6778:57;6852:18;;9510:64:0;6525:351:1;9510:64:0;9680:10;9587:13;9670:21;;;:9;:21;;;;;;9756:31;;-1:-1:-1;;;9756:31:0;;9781:4;9756:31;;;2365:51:1;8066:42:0;;9587:13;8066:42;;9756:16;;2338:18:1;;9756:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9798:55;;-1:-1:-1;;;9798:55:0;;9818:10;9798:55;;;7121:34:1;9838:4:0;7171:18:1;;;7164:43;7223:18;;;7216:34;;;9732:55:0;;-1:-1:-1;;;;;;9798:19:0;;;;;7056:18:1;;9798:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9887:31:0;;-1:-1:-1;;;9887:31:0;;9912:4;9887:31;;;2365:51:1;9864:20:0;;-1:-1:-1;;;;;9887:16:0;;;;;2338:18:1;;9887:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9864:54;-1:-1:-1;9969:7:0;9937:28;9952:13;9864:54;9937:28;:::i;:::-;:39;9929:71;;;;-1:-1:-1;;;9929:71:0;;7596:2:1;9929:71:0;;;7578:21:1;7635:2;7615:18;;;7608:30;-1:-1:-1;;;7654:18:1;;;7647:49;7713:18;;9929:71:0;7394:343:1;9929:71:0;10102:10;;;10083:30;;;;;;;;-1:-1:-1;10083:30:0;;;;;;;;;;;;;;10151:10;;10145:17;;;:5;:17;;;;;;;10202;;;10230:7;;;:20;;-1:-1:-1;;;;;;10230:20:0;10240:10;10230:20;;;10261:8;;;:18;;;10303:15;10290:10;;;:28;10344:7;;10329:12;;;:22;10380:20;;10145:17;;10380:24;;;:::i;:::-;10362:15;;;;:42;;;;10429:10;10479:7;;10422:65;;;7944:25:1;;;10462:15:0;8000:2:1;7985:18;;7978:34;8028:18;;;8021:34;;;;10441:10:0;;10429;10422:65;;7932:2:1;7917:18;10422:65:0;;;;;;;10515:7;10500:11;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;10533:11:0;:13;;;:11;:13;;;:::i;:::-;;;;-1:-1:-1;;10557:10:0;:12;;;:10;:12;;;:::i;:::-;;;;;;9379:1198;;;;;9341:1236;:::o;11839:326::-;9139:13;;11933:7;;-1:-1:-1;;;;;9139:13:0;9125:10;:27;9117:58;;;;-1:-1:-1;;;9117:58:0;;8398:2:1;9117:58:0;;;8380:21:1;8437:2;8417:18;;;8410:30;-1:-1:-1;;;8456:18:1;;;8449:48;8514:18;;9117:58:0;8196:342:1;9117:58:0;11953:18:::1;11974:14:::0;;;:5:::1;:14;::::0;;;;12007:7:::1;::::0;::::1;::::0;-1:-1:-1;;;;;12007:21:0;;::::1;:7:::0;::::1;:21;11999:55;;;::::0;-1:-1:-1;;;11999:55:0;;8745:2:1;11999:55:0::1;::::0;::::1;8727:21:1::0;8784:2;8764:18;;;8757:30;-1:-1:-1;;;8803:18:1;;;8796:51;8864:18;;11999:55:0::1;8543:345:1::0;11999:55:0::1;12073:12;::::0;::::1;::::0;::::1;;:20;;:12:::0;:20:::1;12065:53;;;::::0;-1:-1:-1;;;12065:53:0;;9095:2:1;12065:53:0::1;::::0;::::1;9077:21:1::0;9134:2;9114:18;;;9107:30;-1:-1:-1;;;9153:18:1;;;9146:50;9213:18;;12065:53:0::1;8893:344:1::0;12065:53:0::1;12136:21;12149:7;12136:12;:21::i;:::-;12129:28;;;9186:1;11839:326:::0;;;;:::o;13720:154::-;8998:8;;-1:-1:-1;;;;;8998:8:0;8984:10;:22;;:47;;-1:-1:-1;2889:7:0;2916:6;-1:-1:-1;;;;;2916:6:0;9010:10;:21;8984:47;8976:73;;;;-1:-1:-1;;;8976:73:0;;;;;;;:::i;:::-;13814:1:::1;13804:7;:11;13796:36;;;::::0;-1:-1:-1;;;13796:36:0;;9444:2:1;13796:36:0::1;::::0;::::1;9426:21:1::0;9483:2;9463:18;;;9456:30;-1:-1:-1;;;9502:18:1;;;9495:42;9554:18;;13796:36:0::1;9242:336:1::0;13796:36:0::1;13843:13;:23:::0;13720:154::o;13615:97::-;8998:8;;-1:-1:-1;;;;;8998:8:0;8984:10;:22;;:47;;-1:-1:-1;2889:7:0;2916:6;-1:-1:-1;;;;;2916:6:0;9010:10;:21;8984:47;8976:73;;;;-1:-1:-1;;;8976:73:0;;;;;;;:::i;:::-;13686:7:::1;:18:::0;13615:97::o;3776:220::-;2729:13;:11;:13::i;:::-;-1:-1:-1;;;;;3861:22:0;::::1;3857:93;;3907:31;::::0;-1:-1:-1;;;3907:31:0;;3935:1:::1;3907:31;::::0;::::1;2365:51:1::0;2338:18;;3907:31:0::1;2219:203:1::0;3857:93:0::1;3960:28;3979:8;3960:18;:28::i;3008:166::-:0;2889:7;2916:6;-1:-1:-1;;;;;2916:6:0;877:10;3068:23;3064:103;;3115:40;;-1:-1:-1;;;3115:40:0;;877:10;3115:40;;;2365:51:1;2338:18;;3115:40:0;2219:203:1;12173:692:0;12230:14;12278;;;:5;:14;;;;;;12314:8;;;;12363:7;;;;12340:31;;12314:8;;12278:14;;-1:-1:-1;;;;;12363:7:0;;12284;;12340:31;;12230:14;12340:31;12459:11;:13;;;:11;:13;;;:::i;:::-;;;;-1:-1:-1;;12585:7:0;;;;;-1:-1:-1;;;;;12585:7:0;12541:31;12575:18;;;:9;:18;;;;;12651:20;;12575:18;;;;12651:24;;12585:7;12651:24;:::i;:::-;12637:39;;;;;;;;:::i;:::-;;;;;;;;;12604:13;12618:1;:15;;;12604:30;;;;;;;;:::i;:::-;;;;;;;;:72;;;;12750:1;:15;;;12687:5;:46;12693:13;12730:1;12707:13;:20;;;;:24;;;;:::i;:::-;12693:39;;;;;;;;:::i;:::-;;;;;;;;;12687:46;;;;;;;;;;;:60;;:78;;;;12776:13;:19;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;12776:19:0;;;;;;;;;;;;12843:14;;;:5;:14;;;-1:-1:-1;;12843:14:0;;;12836:21;;;12776:19;12836:21;;;;-1:-1:-1;;;;;;12836:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12836:21:0;;;12173:692;:::o;11008:680::-;11064:18;11085:14;;;:5;:14;;;;;11118:7;;;;-1:-1:-1;;;;;11118:7:0;11110:46;;;;-1:-1:-1;;;11110:46:0;;5692:2:1;11110:46:0;;;5674:21:1;5731:2;5711:18;;;5704:30;-1:-1:-1;;;5750:18:1;;;5743:42;5802:18;;11110:46:0;5490:336:1;11110:46:0;11191:15;11175:1;:12;;;:31;;11167:52;;;;-1:-1:-1;;;11167:52:0;;10058:2:1;11167:52:0;;;10040:21:1;10097:1;10077:18;;;10070:29;-1:-1:-1;;;10115:18:1;;;10108:38;10163:18;;11167:52:0;9856:331:1;11167:52:0;11238:12;;;;;;:21;11230:54;;;;-1:-1:-1;;;11230:54:0;;10394:2:1;11230:54:0;;;10376:21:1;10433:2;10413:18;;;10406:30;-1:-1:-1;;;10452:18:1;;;10445:50;10512:18;;11230:54:0;10192:344:1;11230:54:0;11354:8;;;;11303:47;;-1:-1:-1;;;11303:47:0;;11344:4;11303:47;;;2365:51:1;8066:42:0;;11303:32;;2338:18:1;;11303:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:59;;11295:80;;;;-1:-1:-1;;;11295:80:0;;10743:2:1;11295:80:0;;;10725:21:1;10782:1;10762:18;;;10755:29;-1:-1:-1;;;10800:18:1;;;10793:38;10848:18;;11295:80:0;10541:331:1;11295:80:0;11420:7;;;;11429:8;;;;11388:50;;-1:-1:-1;;;11388:50:0;;-1:-1:-1;;;;;11420:7:0;;;11388:50;;;4914:51:1;4981:18;;;4974:34;8066:42:0;;11388:31;;4887:18:1;;11388:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11474:7:0;;;;11483:8;;;;11493:10;;;;11505:12;;;;11456:62;;;7944:25:1;;;8000:2;7985:18;;7978:34;;;;8028:18;;;8021:34;-1:-1:-1;;;;;11474:7:0;;;;11465;;11456:62;;7932:2:1;7917:18;11456:62:0;;;;;;;11661:12;;:19;;-1:-1:-1;;11661:19:0;11676:4;11661:19;;;-1:-1:-1;11008:680:0:o;4156:191::-;4230:16;4249:6;;-1:-1:-1;;;;;4266:17:0;;;-1:-1:-1;;;;;;4266:17:0;;;;;;4299:40;;4249:6;;;;;;;4299:40;;4230:16;4299:40;4219:128;4156:191;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;192:186;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:1205::-;604:2;656:21;;;726:13;;629:18;;;748:22;;;575:4;;604:2;789;;807:18;;;;848:15;;;575:4;891:671;905:6;902:1;899:13;891:671;;;964:13;;1002:9;;990:22;;1056:11;;;1050:18;-1:-1:-1;;;;;1046:44:1;1032:12;;;1025:66;1131:11;;;1125:18;1111:12;;;1104:40;1167:4;1211:11;;;1205:18;1191:12;;;1184:40;1247:4;1291:11;;;1285:18;1271:12;;;1264:40;1078:3;1371:11;;;1365:18;1351:12;;;1344:40;1407:4;1465:11;;;1459:18;1452:26;1445:34;1431:12;;;1424:56;1509:4;1500:14;;;;1537:15;;;;1087:1;920:9;891:671;;;-1:-1:-1;1579:3:1;;383:1205;-1:-1:-1;;;;;;;383:1205:1:o;1593:180::-;1652:6;1705:2;1693:9;1684:7;1680:23;1676:32;1673:52;;;1721:1;1718;1711:12;1673:52;-1:-1:-1;1744:23:1;;1593:180;-1:-1:-1;1593:180:1:o;1960:254::-;2028:6;2036;2089:2;2077:9;2068:7;2064:23;2060:32;2057:52;;;2105:1;2102;2095:12;2057:52;2141:9;2128:23;2118:33;;2170:38;2204:2;2193:9;2189:18;2170:38;:::i;:::-;2160:48;;1960:254;;;;;:::o;2427:::-;2495:6;2503;2556:2;2544:9;2535:7;2531:23;2527:32;2524:52;;;2572:1;2569;2562:12;2524:52;2595:29;2614:9;2595:29;:::i;:::-;2585:39;2671:2;2656:18;;;;2643:32;;-1:-1:-1;;;2427:254:1:o;3526:127::-;3587:10;3582:3;3578:20;3575:1;3568:31;3618:4;3615:1;3608:15;3642:4;3639:1;3632:15;3658:127;3719:10;3714:3;3710:20;3707:1;3700:31;3750:4;3747:1;3740:15;3774:4;3771:1;3764:15;3790:127;3851:10;3846:3;3842:20;3839:1;3832:31;3882:4;3879:1;3872:15;3906:4;3903:1;3896:15;3922:135;3961:3;3982:17;;;3979:43;;4002:18;;:::i;:::-;-1:-1:-1;4049:1:1;4038:13;;3922:135::o;4062:337::-;4264:2;4246:21;;;4303:2;4283:18;;;4276:30;-1:-1:-1;;;4337:2:1;4322:18;;4315:43;4390:2;4375:18;;4062:337::o;5019:277::-;5086:6;5139:2;5127:9;5118:7;5114:23;5110:32;5107:52;;;5155:1;5152;5145:12;5107:52;5187:9;5181:16;5240:5;5233:13;5226:21;5219:5;5216:32;5206:60;;5262:1;5259;5252:12;5301:184;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;-1:-1:-1;5463:16:1;;5301:184;-1:-1:-1;5301:184:1:o;7261:128::-;7328:9;;;7349:11;;;7346:37;;;7363:18;;:::i;8066:125::-;8131:9;;;8152:10;;;8149:36;;;8165:18;;:::i;9583:136::-;9622:3;9650:5;9640:39;;9659:18;;:::i;:::-;-1:-1:-1;;;9695:18:1;;9583:136::o;9724:127::-;9785:10;9780:3;9776:20;9773:1;9766:31;9816:4;9813:1;9806:15;9840:4;9837:1;9830:15
Swarm Source
ipfs://cf6d10b0ae924e980275dea3f1efdaa279481e3beb42357cead4baddb5e4db95
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.