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 591 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Reward | 13308109 | 1069 days ago | IN | 0 ETH | 0.00559659 | ||||
Unstake Now | 13082941 | 1104 days ago | IN | 0 ETH | 0.00376485 | ||||
Stake Now | 12957720 | 1123 days ago | IN | 0 ETH | 0.01370017 | ||||
Claim Reward | 12957660 | 1123 days ago | IN | 0 ETH | 0.00239275 | ||||
Unstake Now | 12957632 | 1123 days ago | IN | 0 ETH | 0.00167809 | ||||
Unstake Now | 12827893 | 1144 days ago | IN | 0 ETH | 0.00180279 | ||||
Claim Reward | 12679722 | 1167 days ago | IN | 0 ETH | 0.0034971 | ||||
Unstake Now | 12679716 | 1167 days ago | IN | 0 ETH | 0.00238805 | ||||
Stake Now | 12575687 | 1183 days ago | IN | 0 ETH | 0.00814489 | ||||
Claim Reward | 12527855 | 1190 days ago | IN | 0 ETH | 0.0019326 | ||||
Unstake Now | 12527844 | 1190 days ago | IN | 0 ETH | 0.00099628 | ||||
Stake Now | 12483834 | 1197 days ago | IN | 0 ETH | 0.02108828 | ||||
Unstake Now | 12483519 | 1197 days ago | IN | 0 ETH | 0.00175535 | ||||
Claim Reward | 12483519 | 1197 days ago | IN | 0 ETH | 0.00403777 | ||||
Unstake Now | 12444124 | 1203 days ago | IN | 0 ETH | 0.0032271 | ||||
Claim Reward | 12384308 | 1212 days ago | IN | 0 ETH | 0.0041413 | ||||
Stake Now | 12347496 | 1218 days ago | IN | 0 ETH | 0.01548643 | ||||
Claim Reward | 12343325 | 1219 days ago | IN | 0 ETH | 0.0063776 | ||||
Unstake Now | 12343162 | 1219 days ago | IN | 0 ETH | 0.00332094 | ||||
Claim Reward | 12334597 | 1220 days ago | IN | 0 ETH | 0.00468771 | ||||
Unstake Now | 12334529 | 1220 days ago | IN | 0 ETH | 0.00310564 | ||||
Claim Reward | 12334495 | 1220 days ago | IN | 0 ETH | 0.00441196 | ||||
Unstake Now | 12323952 | 1222 days ago | IN | 0 ETH | 0.00492537 | ||||
Claim Reward | 12317771 | 1223 days ago | IN | 0 ETH | 0.00368116 | ||||
Unstake Now | 12317760 | 1223 days ago | IN | 0 ETH | 0.00213489 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
YFDOTStake
Compiler Version
v0.7.3+commit.9bfce1f6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-09 */ // SPDX-License-Identifier: none pragma solidity >=0.5.0 <0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } 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) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from,address indexed to,uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(IERC20 token, address spender, uint256 value) internal { require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function callOptionalReturn(IERC20 token, bytes memory data) private { require(address(token).isContract(), "SafeERC20: call to non-contract"); (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } contract YFDOTStake is Context { using SafeERC20 for IERC20; using Address for address; using SafeMath for uint256; struct periodList{ uint256 periodTime; uint256 cooldownTime; uint256 formulaParam1; uint256 formulaParam2; uint256 formulaPenalty1; uint256 formulaPenalty2; } struct userStaking{ bool activeStake; uint periodChoosed; address tokenWantStake; uint256 amountStaked; uint256 startStake; uint256 claimStake; uint256 endStake; uint256 cooldownDate; uint256 claimed; } struct rewardDetail{ string symboltoken; uint256 equalReward; } mapping (uint => periodList) private period; mapping (address => rewardDetail) private ERC20perYFDOT; mapping (address => userStaking) private stakerDetail; address private _owner; address private _YFDOTtoken; address[] private _tokenStakeList; address[] private _stakerList; uint[] private _periodList; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event Stake(address indexed staker, address indexed tokenStakeTarget, uint256 indexed amountTokenStaked); event Unstake(address indexed staker, address indexed tokenStakeTarget, uint256 indexed amountTokenStaked); event Claim(address indexed staker, address indexed tokenStakeTarget, uint256 indexed amountReward); constructor(address YFDOTAddress){ rewardDetail storage est = ERC20perYFDOT[YFDOTAddress]; rewardDetail storage nul = ERC20perYFDOT[address(0)]; require(YFDOTAddress.isContract() == true,"This address is not Smartcontract"); require(IERC20(YFDOTAddress).totalSupply() != 0, "This address is not ERC20 Token"); address msgSender = _msgSender(); _YFDOTtoken = YFDOTAddress; _owner = msgSender; _tokenStakeList.push(YFDOTAddress); est.equalReward = 10**18; est.symboltoken = "YFDOT"; nul.symboltoken = "N/A"; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "New owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function addTokenReward(address erc20Token, uint256 amountEqual, string memory symboltokens) public virtual onlyOwner{ require(erc20Token.isContract() == true,"This address is not Smartcontract"); require(IERC20(erc20Token).totalSupply() != 0, "This address is not ERC20 Token"); rewardDetail storage est = ERC20perYFDOT[erc20Token]; est.equalReward = amountEqual; est.symboltoken = symboltokens; _tokenStakeList.push(erc20Token); } function editTokenReward(address erc20Token, uint256 amountEqual, string memory symboltokens) public virtual onlyOwner{ require(erc20Token.isContract() == true,"This address is not Smartcontract"); require(IERC20(erc20Token).totalSupply() != 0, "This address is not ERC20 Token"); rewardDetail storage est = ERC20perYFDOT[erc20Token]; est.equalReward = amountEqual; est.symboltoken = symboltokens; } function addPeriod(uint256 timePeriodStake, uint256 timeCooldownUnstake, uint256 formula1, uint256 formula2, uint256 fpel1, uint256 fpel2) public virtual onlyOwner{ uint newPeriod = _periodList.length; if(newPeriod == 0){ newPeriod = 1; }else{ newPeriod = newPeriod + 1; } periodList storage sys = period[newPeriod]; sys.periodTime = timePeriodStake; sys.cooldownTime = timeCooldownUnstake; sys.formulaParam1 = formula1; sys.formulaParam2 = formula2; sys.formulaPenalty1 = fpel1; sys.formulaPenalty2 = fpel2; _periodList.push(newPeriod); } function editPeriod(uint periodEdit, uint256 timePeriodStake, uint256 timeCooldownUnstake, uint256 formula1, uint256 formula2, uint256 fpel1, uint256 fpel2) public virtual onlyOwner{ periodList storage sys = period[periodEdit]; sys.periodTime = timePeriodStake; sys.cooldownTime = timeCooldownUnstake; sys.formulaParam1 = formula1; sys.formulaParam2 = formula2; sys.formulaPenalty1 = fpel1; sys.formulaPenalty2 = fpel2; } function claimReward() public virtual{ address msgSender = _msgSender(); userStaking storage usr = stakerDetail[msgSender]; uint256 getrewardbalance = IERC20(usr.tokenWantStake).balanceOf(address(this)); uint256 getReward = getRewardClaimable(msgSender); uint256 today = block.timestamp; require(getrewardbalance >= getReward, "Please wait until reward pool filled, try again later."); require(usr.claimStake < block.timestamp, "Please wait until wait time reached."); usr.claimed = usr.claimed.add(getReward); usr.claimStake = today.add(7 days); IERC20(usr.tokenWantStake).safeTransfer(msgSender, getReward); emit Claim(msgSender, usr.tokenWantStake, getReward); } function stakeNow(address tokenTargetStake, uint256 amountWantStake, uint periodwant) public virtual{ address msgSender = _msgSender(); uint256 getallowance = IERC20(_YFDOTtoken).allowance(msgSender, address(this)); if(getRewardClaimable(msgSender) > 0){ revert("Please claim your reward from previous staking"); } require(amountWantStake >= 500000000000, "Minimum staking 0.00005 YFDOT"); require(getallowance >= amountWantStake, "Insufficient YFDOT token approval balance, you must increase your allowance" ); uint256 today = block.timestamp; userStaking storage usr = stakerDetail[msgSender]; periodList storage sys = period[periodwant]; usr.activeStake = true; usr.periodChoosed = periodwant; usr.tokenWantStake = tokenTargetStake; usr.amountStaked = amountWantStake; usr.startStake = today; usr.claimStake = today.add(7 days); usr.cooldownDate = today.add(sys.cooldownTime); usr.endStake = today.add(sys.periodTime); usr.claimed = 0; bool checkregis = false; for(uint i = 0; i < _stakerList.length; i++){ if(_stakerList[i] == msgSender){ checkregis = true; } } if(checkregis == false){ _stakerList.push(msgSender); } IERC20(_YFDOTtoken).safeTransferFrom(msgSender, address(this), amountWantStake); emit Stake(msgSender, tokenTargetStake, amountWantStake); } function unstakeNow() public virtual{ address msgSender = _msgSender(); userStaking storage usr = stakerDetail[msgSender]; periodList storage sys = period[usr.periodChoosed]; require(usr.activeStake == true, "Stake not active yet" ); uint256 tokenUnstake; if(block.timestamp < usr.cooldownDate){ uint256 penfee = usr.amountStaked.mul(sys.formulaPenalty1); penfee = penfee.div(sys.formulaPenalty2); penfee = penfee.div(100); tokenUnstake = usr.amountStaked.sub(penfee); }else{ tokenUnstake = usr.amountStaked; } usr.activeStake = false; if(block.timestamp < usr.endStake){ usr.endStake = block.timestamp; } IERC20(_YFDOTtoken).safeTransfer(msgSender, tokenUnstake); emit Unstake(msgSender, usr.tokenWantStake, usr.amountStaked); } function getEqualReward(address erc20Token) public view returns(uint256, string memory){ rewardDetail storage est = ERC20perYFDOT[erc20Token]; return( est.equalReward, est.symboltoken ); } function getTotalStaker() public view returns(uint256){ return _stakerList.length; } function getActiveStaker() view public returns(uint256){ uint256 activeStake; for(uint i = 0; i < _stakerList.length; i++){ userStaking memory l = stakerDetail[_stakerList[i]]; if(l.activeStake == true){ activeStake = activeStake + 1; } } return activeStake; } function getTokenList() public view returns(address[] memory){ return _tokenStakeList; } function getPeriodList() public view returns(uint[] memory){ return _periodList; } function getPeriodDetail(uint periodwant) public view returns(uint256, uint256, uint256, uint256, uint256, uint256){ periodList storage sys = period[periodwant]; return( sys.periodTime, sys.cooldownTime, sys.formulaParam1, sys.formulaParam2, sys.formulaPenalty1, sys.formulaPenalty2 ); } function getUserInfo(address stakerAddress) public view returns(bool, uint, address, string memory, uint256, uint256, uint256, uint256, uint256, uint256){ userStaking storage usr = stakerDetail[stakerAddress]; rewardDetail storage est = ERC20perYFDOT[usr.tokenWantStake]; uint256 amountTotalStaked; if(usr.activeStake == false){ amountTotalStaked = 0; }else{ amountTotalStaked = usr.amountStaked; } return( usr.activeStake, usr.periodChoosed, usr.tokenWantStake, est.symboltoken, amountTotalStaked, usr.startStake, usr.claimStake, usr.endStake, usr.cooldownDate, usr.claimed ); } function getRewardClaimable(address stakerAddress) public view returns(uint256){ userStaking storage usr = stakerDetail[stakerAddress]; periodList storage sys = period[usr.periodChoosed]; rewardDetail storage est = ERC20perYFDOT[usr.tokenWantStake]; uint256 rewards; if(usr.amountStaked == 0 && usr.tokenWantStake == address(0)){ rewards = 0; }else{ uint256 perSec = usr.amountStaked.mul(sys.formulaParam1); perSec = perSec.div(sys.formulaParam2); perSec = perSec.div(100); uint256 today = block.timestamp; uint256 diffTime; if(today > usr.endStake){ diffTime = usr.endStake.sub(usr.startStake); }else{ diffTime = today.sub(usr.startStake); } rewards = perSec.mul(diffTime); uint256 getTokenEqual = est.equalReward; rewards = rewards.mul(getTokenEqual); rewards = rewards.div(10**18); rewards = rewards.sub(usr.claimed); } return rewards; } function getRewardObtained(address stakerAddress) public view returns(uint256){ userStaking storage usr = stakerDetail[stakerAddress]; periodList storage sys = period[usr.periodChoosed]; rewardDetail storage est = ERC20perYFDOT[usr.tokenWantStake]; uint256 rewards; if(usr.amountStaked == 0 && usr.tokenWantStake == address(0)){ rewards = 0; }else{ uint256 perSec = usr.amountStaked.mul(sys.formulaParam1); perSec = perSec.div(sys.formulaParam2); perSec = perSec.div(100); uint256 today = block.timestamp; uint256 diffTime; if(today > usr.endStake){ diffTime = usr.endStake.sub(usr.startStake); }else{ diffTime = today.sub(usr.startStake); } rewards = perSec.mul(diffTime); uint256 getTokenEqual = est.equalReward; rewards = rewards.mul(getTokenEqual); rewards = rewards.div(10**18); } return rewards; } function getRewardEstimator(address stakerAddress) public view returns(uint256,uint256,uint256,uint256,uint256,uint256){ userStaking storage usr = stakerDetail[stakerAddress]; periodList storage sys = period[usr.periodChoosed]; rewardDetail storage est = ERC20perYFDOT[usr.tokenWantStake]; uint256 amountStakedNow; if(usr.activeStake == true){ amountStakedNow = usr.amountStaked; uint256 perSec = amountStakedNow.mul(sys.formulaParam1); uint256 getTokenEqual = est.equalReward; perSec = perSec.div(sys.formulaParam2); perSec = perSec.div(100); perSec = perSec.mul(getTokenEqual); perSec = perSec.div(10**18); return( perSec, perSec.mul(60), perSec.mul(3600), perSec.mul(86400), perSec.mul(604800), perSec.mul(2592000) ); }else{ return(0,0,0,0,0,0); } } function getRewardCalculator(address tokenWantStake, uint256 amountWantStake, uint periodwant) public view returns(uint256){ periodList storage sys = period[periodwant]; rewardDetail storage est = ERC20perYFDOT[tokenWantStake]; uint256 perSec = amountWantStake.mul(sys.formulaParam1); perSec = perSec.div(sys.formulaParam2); perSec = perSec.div(100); uint256 startDate = block.timestamp; uint256 endDate = startDate.add(sys.periodTime); uint256 diffTime = endDate.sub(startDate); uint256 rewards = perSec.mul(diffTime); uint256 getTokenEqual = est.equalReward; rewards = rewards.mul(getTokenEqual); rewards = rewards.div(10**18); return rewards; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"YFDOTAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"address","name":"tokenStakeTarget","type":"address"},{"indexed":true,"internalType":"uint256","name":"amountReward","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"address","name":"tokenStakeTarget","type":"address"},{"indexed":true,"internalType":"uint256","name":"amountTokenStaked","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"address","name":"tokenStakeTarget","type":"address"},{"indexed":true,"internalType":"uint256","name":"amountTokenStaked","type":"uint256"}],"name":"Unstake","type":"event"},{"inputs":[{"internalType":"uint256","name":"timePeriodStake","type":"uint256"},{"internalType":"uint256","name":"timeCooldownUnstake","type":"uint256"},{"internalType":"uint256","name":"formula1","type":"uint256"},{"internalType":"uint256","name":"formula2","type":"uint256"},{"internalType":"uint256","name":"fpel1","type":"uint256"},{"internalType":"uint256","name":"fpel2","type":"uint256"}],"name":"addPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"erc20Token","type":"address"},{"internalType":"uint256","name":"amountEqual","type":"uint256"},{"internalType":"string","name":"symboltokens","type":"string"}],"name":"addTokenReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodEdit","type":"uint256"},{"internalType":"uint256","name":"timePeriodStake","type":"uint256"},{"internalType":"uint256","name":"timeCooldownUnstake","type":"uint256"},{"internalType":"uint256","name":"formula1","type":"uint256"},{"internalType":"uint256","name":"formula2","type":"uint256"},{"internalType":"uint256","name":"fpel1","type":"uint256"},{"internalType":"uint256","name":"fpel2","type":"uint256"}],"name":"editPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"erc20Token","type":"address"},{"internalType":"uint256","name":"amountEqual","type":"uint256"},{"internalType":"string","name":"symboltokens","type":"string"}],"name":"editTokenReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getActiveStaker","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"erc20Token","type":"address"}],"name":"getEqualReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"periodwant","type":"uint256"}],"name":"getPeriodDetail","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPeriodList","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenWantStake","type":"address"},{"internalType":"uint256","name":"amountWantStake","type":"uint256"},{"internalType":"uint256","name":"periodwant","type":"uint256"}],"name":"getRewardCalculator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakerAddress","type":"address"}],"name":"getRewardClaimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakerAddress","type":"address"}],"name":"getRewardEstimator","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakerAddress","type":"address"}],"name":"getRewardObtained","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokenList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalStaker","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakerAddress","type":"address"}],"name":"getUserInfo","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenTargetStake","type":"address"},{"internalType":"uint256","name":"amountWantStake","type":"uint256"},{"internalType":"uint256","name":"periodwant","type":"uint256"}],"name":"stakeNow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakeNow","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200269238038062002692833981810160405260208110156200003757600080fd5b50516001600160a01b0381166000818152600160209081526040822091805290917fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49916200008f919062001bd5620002b2821b17901c565b1515600114620000d15760405162461bcd60e51b8152600401808060200182810382526021815260200180620026716021913960400191505060405180910390fd5b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200010b57600080fd5b505afa15801562000120573d6000803e3d6000fd5b505050506040513d60208110156200013757600080fd5b50516200018b576040805162461bcd60e51b815260206004820152601f60248201527f546869732061646472657373206973206e6f7420455243323020546f6b656e00604482015290519081900360640190fd5b600062000197620002b8565b600480546001600160a01b038088166001600160a01b0319928316811790935560038054918516918316919091179055600580546001818101835560008390527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db09091018054909316909317909155670de0b6b3a764000091860191909155604080518082019091528181526416519113d560da1b60209190910190815291925062000245918591620002bc565b50604080518082019091526003808252624e2f4160e81b602090920191825262000271918491620002bc565b506040516001600160a01b038216906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35050505062000358565b3b151590565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ff57805160ff19168380011785556200032f565b828001600101855582156200032f579182015b828111156200032f57825182559160200191906001019062000312565b506200033d92915062000341565b5090565b5b808211156200033d576000815560010162000342565b61230980620003686000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063b88a802f1161007c578063b88a802f146105b2578063d4259bb6146105ba578063d92ee2fe1461065f578063e48f0de614610667578063ef19433f14610699578063f2fde38b146106a157610137565b80638da5cb5b146104e45780638e87872914610508578063a08c288814610543578063a3d7418c1461054b578063aeaa1c941461057157610137565b80636386c1c7116100ff5780636386c1c7146102e457806370cc190e146103cc578063715018a6146103e95780637e103ce8146103f157806385dece88146104ac57610137565b8063150edb341461013c5780631513bb3714610146578063268f1a2514610178578063273cbaa014610233578063301f77cf1461028b575b600080fd5b6101446106c7565b005b6101446004803603606081101561015c57600080fd5b506001600160a01b03813516906020810135906040013561083b565b6101446004803603606081101561018e57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156101be57600080fd5b8201836020820111156101d057600080fd5b803590602001918460018302840111640100000000831117156101f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b56945050505050565b61023b610cf0565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027757818101518382015260200161025f565b505050509050019250505060405180910390f35b6102b1600480360360208110156102a157600080fd5b50356001600160a01b0316610d52565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61030a600480360360208110156102fa57600080fd5b50356001600160a01b0316610e84565b604051808b151581526020018a8152602001896001600160a01b0316815260200180602001888152602001878152602001868152602001858152602001848152602001838152602001828103825289818151815260200191508051906020019080838360005b83811015610388578181015183820152602001610370565b50505050905090810190601f1680156103b55780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b6102b1600480360360208110156103e257600080fd5b5035610fcf565b610144611003565b6101446004803603606081101561040757600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561043757600080fd5b82018360208201111561044957600080fd5b8035906020019184600183028401116401000000008311171561046b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110a5945050505050565b6104d2600480360360208110156104c257600080fd5b50356001600160a01b031661128f565b60408051918252519081900360200190f35b6104ec6113d5565b604080516001600160a01b039092168252519081900360200190f35b610144600480360360c081101561051e57600080fd5b5080359060208101359060408101359060608101359060808101359060a001356113e4565b6104d26114bb565b6104d26004803603602081101561056157600080fd5b50356001600160a01b03166114c1565b610144600480360360e081101561058757600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356115de565b610144611668565b6105e0600480360360208110156105d057600080fd5b50356001600160a01b0316611817565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61023b6118d1565b6104d26004803603606081101561067d57600080fd5b506001600160a01b038135169060208101359060400135611928565b6104d26119e9565b610144600480360360208110156106b757600080fd5b50356001600160a01b0316611ac6565b60006106d1611bdb565b6001600160a01b038116600090815260026020908152604080832060018082015485529284905292208254939450919260ff1615151461074f576040805162461bcd60e51b815260206004820152601460248201527314dd185ad9481b9bdd081858dd1a5d99481e595d60621b604482015290519081900360640190fd5b600082600701544210156107ba57600061077a83600401548560030154611bdf90919063ffffffff16565b9050610793836005015482611c4190919063ffffffff16565b90506107a0816064611c41565b60038501549091506107b29082611c83565b9150506107c1565b5060038201545b825460ff1916835560068301544210156107dc574260068401555b6004546107f3906001600160a01b03168583611cc5565b600383015460028401546040516001600160a01b03918216918716907f390b1276974b9463e5d66ab10df69b6f3d7b930eb066a0e66df327edd2cc811c90600090a450505050565b6000610845611bdb565b6004805460408051636eb1769f60e11b81526001600160a01b03808616948201949094523060248201529051939450600093929091169163dd62ed3e91604480820192602092909190829003018186803b1580156108a257600080fd5b505afa1580156108b6573d6000803e3d6000fd5b505050506040513d60208110156108cc57600080fd5b5051905060006108db8361128f565b11156109185760405162461bcd60e51b815260040180806020018281038252602e815260200180612195602e913960400191505060405180910390fd5b64746a528800841015610972576040805162461bcd60e51b815260206004820152601d60248201527f4d696e696d756d207374616b696e6720302e3030303035205946444f54000000604482015290519081900360640190fd5b838110156109b15760405162461bcd60e51b815260040180806020018281038252604b81526020018061221a604b913960600191505060405180910390fd5b6001600160a01b038281166000908152600260208181526040808420888552918490529092208254600160ff1990911681178455830187905590820180546001600160a01b0319169389169390931790925560038101869055426004820181905591610a208362093a80611d1c565b60058301556001810154610a35908490611d1c565b60078301558054610a47908490611d1c565b6006830155600060088301819055805b600654811015610aa057866001600160a01b031660068281548110610a7857fe5b6000918252602090912001546001600160a01b03161415610a9857600191505b600101610a57565b5080610af257600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b0388161790555b600454610b0a906001600160a01b031687308b611d76565b87896001600160a01b0316876001600160a01b03167f99039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f760405160405180910390a4505050505050505050565b610b5e611bdb565b6003546001600160a01b03908116911614610bae576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b610bc0836001600160a01b0316611bd5565b1515600114610c005760405162461bcd60e51b81526004018080602001828103825260218152602001806122656021913960400191505060405180910390fd5b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3957600080fd5b505afa158015610c4d573d6000803e3d6000fd5b505050506040513d6020811015610c6357600080fd5b5051610cb6576040805162461bcd60e51b815260206004820152601f60248201527f546869732061646472657373206973206e6f7420455243323020546f6b656e00604482015290519081900360640190fd5b6001600160a01b038316600090815260016020818152604090922090810184905582519091610ce991839185019061208a565b5050505050565b60606005805480602002602001604051908101604052809291908181526020018280548015610d4857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d2a575b5050505050905090565b6001600160a01b0380821660009081526002602081815260408084206001808201548652858452828620948201549096168552918590528320815493948594859485948594859491939091859160ff1615151415610e61575060038301546002830154600090610dc3908390611bdf565b6001840154600386015491925090610ddc908390611c41565b9150610de9826064611c41565b9150610df58282611bdf565b9150610e0982670de0b6b3a7640000611c41565b915081610e1781603c611bdf565b610e2384610e10611bdf565b610e308562015180611bdf565b610e3d8662093a80611bdf565b610e4a8762278d00611bdf565b9b509b509b509b509b509b50505050505050610e7b565b600080600080600080995099509950995099509950505050505b91939550919395565b6001600160a01b03808216600090815260026020818152604080842092830154909416835260019052918120825491928392839260609284928392839283928392839291839060ff16610ed957506000610ee0565b5060038201545b82546001808501546002808701546004880154600589015460068a015460078b015460088c01548b546040805160206101009c8416159c909c026000190190921698909804601f81018b90048b0282018b0190985287815260ff909a169997986001600160a01b03909616978c978c97899190830182828015610fa45780601f10610f7957610100808354040283529160200191610fa4565b820191906000526020600020905b815481529060010190602001808311610f8757829003601f168201915b505050505096509c509c509c509c509c509c509c509c509c509c505050509193959799509193959799565b6000908152602081905260409020805460018201546002830154600384015460048501546005909501549395929491939092565b61100b611bdb565b6003546001600160a01b0390811691161461105b576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b6110ad611bdb565b6003546001600160a01b039081169116146110fd576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b61110f836001600160a01b0316611bd5565b151560011461114f5760405162461bcd60e51b81526004018080602001828103825260218152602001806122656021913960400191505060405180910390fd5b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118857600080fd5b505afa15801561119c573d6000803e3d6000fd5b505050506040513d60208110156111b257600080fd5b5051611205576040805162461bcd60e51b815260206004820152601f60248201527f546869732061646472657373206973206e6f7420455243323020546f6b656e00604482015290519081900360640190fd5b6001600160a01b03831660009081526001602081815260409092209081018490558251909161123891839185019061208a565b5050600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0394909416939093179092555050565b6001600160a01b0380821660009081526002602081815260408084206001808201548652858452828620948201549096168552949091528220600384015492939284901580156112ea575060028401546001600160a01b0316155b156112f7575060006113cc565b600061131484600201548660030154611bdf90919063ffffffff16565b905061132d846003015482611c4190919063ffffffff16565b905061133a816064611c41565b9050600042905060008660060154821115611369576004870154600688015461136291611c83565b905061137c565b6004870154611379908390611c83565b90505b6113868382611bdf565b60018601549094506113988582611bdf565b94506113ac85670de0b6b3a7640000611c41565b94506113c5886008015486611c8390919063ffffffff16565b9450505050505b95945050505050565b6003546001600160a01b031690565b6113ec611bdb565b6003546001600160a01b0390811691161461143c576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b6007548061144c57506001611450565b6001015b600081815260208190526040812097885560018089019790975560028801959095556003870193909355600486019190915560059094019390935560078054928301815590527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b60065490565b6001600160a01b03808216600090815260026020818152604080842060018082015486528584528286209482015490961685529490915282206003840154929392849015801561151c575060028401546001600160a01b0316155b15611529575060006113cc565b600061154684600201548660030154611bdf90919063ffffffff16565b905061155f846003015482611c4190919063ffffffff16565b905061156c816064611c41565b905060004290506000866006015482111561159b576004870154600688015461159491611c83565b90506115ae565b60048701546115ab908390611c83565b90505b6115b88382611bdf565b60018601549094506115ca8582611bdf565b94506113c585670de0b6b3a7640000611c41565b6115e6611bdb565b6003546001600160a01b03908116911614611636576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b600096875260208790526040909620948555600185019390935560028401919091556003830155600482015560050155565b6000611672611bdb565b6001600160a01b0380821660009081526002602081815260408084209283015481516370a0823160e01b815230600482015291519697509295939492909216926370a08231926024808201939291829003018186803b1580156116d457600080fd5b505afa1580156116e8573d6000803e3d6000fd5b505050506040513d60208110156116fe57600080fd5b50519050600061170d8461128f565b9050428183101561174f5760405162461bcd60e51b81526004018080602001828103825260368152602001806121c36036913960400191505060405180910390fd5b428460050154106117915760405162461bcd60e51b81526004018080602001828103825260248152602001806122b06024913960400191505060405180910390fd5b60088401546117a09083611d1c565b60088501556117b28162093a80611d1c565b600585015560028401546117d0906001600160a01b03168684611cc5565b600284015460405183916001600160a01b0390811691908816907f70eb43c4a8ae8c40502dcf22436c509c28d6ff421cf07c491be56984bd98706890600090a45050505050565b6001600160a01b03811660009081526001602081815260408084208084015481548351600296821615610100026000190190911695909504601f8101859004850286018501909352828552606094919390928492918391908301828280156118c05780601f10611895576101008083540402835291602001916118c0565b820191906000526020600020905b8154815290600101906020018083116118a357829003601f168201915b505050505090509250925050915091565b60606007805480602002602001604051908101604052809291908181526020018280548015610d4857602002820191906000526020600020905b81548152602001906001019080831161190b575050505050905090565b6000818152602081815260408083206001600160a01b0387168452600190925282206002820154839061195c908790611bdf565b9050611975836003015482611c4190919063ffffffff16565b9050611982816064611c41565b83549091504290600090611997908390611d1c565b905060006119a58284611c83565b905060006119b38583611bdf565b60018701549091506119c58282611bdf565b91506119d982670de0b6b3a7640000611c41565b9c9b505050505050505050505050565b60008060005b600654811015611ac057611a01612108565b6002600060068481548110611a1257fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301909120825161012081018452815460ff161515808252600183810154948301949094526002830154909516938101939093526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600801546101008301529092501415611ab7578260010192505b506001016119ef565b50905090565b611ace611bdb565b6003546001600160a01b03908116911614611b1e576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b6001600160a01b038116611b79576040805162461bcd60e51b815260206004820152601d60248201527f4e6577206f776e657220697320746865207a65726f2061646472657373000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b3390565b600082611bee57506000611c3b565b82820282848281611bfb57fe5b0414611c385760405162461bcd60e51b81526004018080602001828103825260218152602001806121f96021913960400191505060405180910390fd5b90505b92915050565b6000611c3883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dd6565b6000611c3883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e78565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611d17908490611ed2565b505050565b600082820183811015611c38576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611dd0908590611ed2565b50505050565b60008183611e625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e27578181015183820152602001611e0f565b50505050905090810190601f168015611e545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e6e57fe5b0495945050505050565b60008184841115611eca5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611e27578181015183820152602001611e0f565b505050900390565b611ee4826001600160a01b0316611bd5565b611f35576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611f735780518252601f199092019160209182019101611f54565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611fd5576040519150601f19603f3d011682016040523d82523d6000602084013e611fda565b606091505b509150915081612031576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611dd05780806020019051602081101561204d57600080fd5b5051611dd05760405162461bcd60e51b815260040180806020018281038252602a815260200180612286602a913960400191505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120cb57805160ff19168380011785556120f8565b828001600101855582156120f8579182015b828111156120f85782518255916020019190600101906120dd565b5061210492915061215f565b5090565b6040518061012001604052806000151581526020016000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5b80821115612104576000815560010161216056fe43616c6c6572206973206e6f7420746865206f776e6572000000000000000000506c6561736520636c61696d20796f7572207265776172642066726f6d2070726576696f7573207374616b696e67506c65617365207761697420756e74696c2072657761726420706f6f6c2066696c6c65642c2074727920616761696e206c617465722e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77496e73756666696369656e74205946444f5420746f6b656e20617070726f76616c2062616c616e63652c20796f75206d75737420696e63726561736520796f757220616c6c6f77616e6365546869732061646472657373206973206e6f7420536d617274636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564506c65617365207761697420756e74696c20776169742074696d6520726561636865642ea264697066735822122014a16c82907b6f68d9f4d37ad5f9e6420b63e6cb4a69f351bfeb0e5fa461c02564736f6c63430007030033546869732061646472657373206973206e6f7420536d617274636f6e74726163740000000000000000000000002e6539edc3b76f1e21b71d214527faba875f70f3
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063b88a802f1161007c578063b88a802f146105b2578063d4259bb6146105ba578063d92ee2fe1461065f578063e48f0de614610667578063ef19433f14610699578063f2fde38b146106a157610137565b80638da5cb5b146104e45780638e87872914610508578063a08c288814610543578063a3d7418c1461054b578063aeaa1c941461057157610137565b80636386c1c7116100ff5780636386c1c7146102e457806370cc190e146103cc578063715018a6146103e95780637e103ce8146103f157806385dece88146104ac57610137565b8063150edb341461013c5780631513bb3714610146578063268f1a2514610178578063273cbaa014610233578063301f77cf1461028b575b600080fd5b6101446106c7565b005b6101446004803603606081101561015c57600080fd5b506001600160a01b03813516906020810135906040013561083b565b6101446004803603606081101561018e57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156101be57600080fd5b8201836020820111156101d057600080fd5b803590602001918460018302840111640100000000831117156101f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b56945050505050565b61023b610cf0565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027757818101518382015260200161025f565b505050509050019250505060405180910390f35b6102b1600480360360208110156102a157600080fd5b50356001600160a01b0316610d52565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61030a600480360360208110156102fa57600080fd5b50356001600160a01b0316610e84565b604051808b151581526020018a8152602001896001600160a01b0316815260200180602001888152602001878152602001868152602001858152602001848152602001838152602001828103825289818151815260200191508051906020019080838360005b83811015610388578181015183820152602001610370565b50505050905090810190601f1680156103b55780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b6102b1600480360360208110156103e257600080fd5b5035610fcf565b610144611003565b6101446004803603606081101561040757600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561043757600080fd5b82018360208201111561044957600080fd5b8035906020019184600183028401116401000000008311171561046b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506110a5945050505050565b6104d2600480360360208110156104c257600080fd5b50356001600160a01b031661128f565b60408051918252519081900360200190f35b6104ec6113d5565b604080516001600160a01b039092168252519081900360200190f35b610144600480360360c081101561051e57600080fd5b5080359060208101359060408101359060608101359060808101359060a001356113e4565b6104d26114bb565b6104d26004803603602081101561056157600080fd5b50356001600160a01b03166114c1565b610144600480360360e081101561058757600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c001356115de565b610144611668565b6105e0600480360360208110156105d057600080fd5b50356001600160a01b0316611817565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561062357818101518382015260200161060b565b50505050905090810190601f1680156106505780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61023b6118d1565b6104d26004803603606081101561067d57600080fd5b506001600160a01b038135169060208101359060400135611928565b6104d26119e9565b610144600480360360208110156106b757600080fd5b50356001600160a01b0316611ac6565b60006106d1611bdb565b6001600160a01b038116600090815260026020908152604080832060018082015485529284905292208254939450919260ff1615151461074f576040805162461bcd60e51b815260206004820152601460248201527314dd185ad9481b9bdd081858dd1a5d99481e595d60621b604482015290519081900360640190fd5b600082600701544210156107ba57600061077a83600401548560030154611bdf90919063ffffffff16565b9050610793836005015482611c4190919063ffffffff16565b90506107a0816064611c41565b60038501549091506107b29082611c83565b9150506107c1565b5060038201545b825460ff1916835560068301544210156107dc574260068401555b6004546107f3906001600160a01b03168583611cc5565b600383015460028401546040516001600160a01b03918216918716907f390b1276974b9463e5d66ab10df69b6f3d7b930eb066a0e66df327edd2cc811c90600090a450505050565b6000610845611bdb565b6004805460408051636eb1769f60e11b81526001600160a01b03808616948201949094523060248201529051939450600093929091169163dd62ed3e91604480820192602092909190829003018186803b1580156108a257600080fd5b505afa1580156108b6573d6000803e3d6000fd5b505050506040513d60208110156108cc57600080fd5b5051905060006108db8361128f565b11156109185760405162461bcd60e51b815260040180806020018281038252602e815260200180612195602e913960400191505060405180910390fd5b64746a528800841015610972576040805162461bcd60e51b815260206004820152601d60248201527f4d696e696d756d207374616b696e6720302e3030303035205946444f54000000604482015290519081900360640190fd5b838110156109b15760405162461bcd60e51b815260040180806020018281038252604b81526020018061221a604b913960600191505060405180910390fd5b6001600160a01b038281166000908152600260208181526040808420888552918490529092208254600160ff1990911681178455830187905590820180546001600160a01b0319169389169390931790925560038101869055426004820181905591610a208362093a80611d1c565b60058301556001810154610a35908490611d1c565b60078301558054610a47908490611d1c565b6006830155600060088301819055805b600654811015610aa057866001600160a01b031660068281548110610a7857fe5b6000918252602090912001546001600160a01b03161415610a9857600191505b600101610a57565b5080610af257600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b0388161790555b600454610b0a906001600160a01b031687308b611d76565b87896001600160a01b0316876001600160a01b03167f99039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f760405160405180910390a4505050505050505050565b610b5e611bdb565b6003546001600160a01b03908116911614610bae576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b610bc0836001600160a01b0316611bd5565b1515600114610c005760405162461bcd60e51b81526004018080602001828103825260218152602001806122656021913960400191505060405180910390fd5b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3957600080fd5b505afa158015610c4d573d6000803e3d6000fd5b505050506040513d6020811015610c6357600080fd5b5051610cb6576040805162461bcd60e51b815260206004820152601f60248201527f546869732061646472657373206973206e6f7420455243323020546f6b656e00604482015290519081900360640190fd5b6001600160a01b038316600090815260016020818152604090922090810184905582519091610ce991839185019061208a565b5050505050565b60606005805480602002602001604051908101604052809291908181526020018280548015610d4857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d2a575b5050505050905090565b6001600160a01b0380821660009081526002602081815260408084206001808201548652858452828620948201549096168552918590528320815493948594859485948594859491939091859160ff1615151415610e61575060038301546002830154600090610dc3908390611bdf565b6001840154600386015491925090610ddc908390611c41565b9150610de9826064611c41565b9150610df58282611bdf565b9150610e0982670de0b6b3a7640000611c41565b915081610e1781603c611bdf565b610e2384610e10611bdf565b610e308562015180611bdf565b610e3d8662093a80611bdf565b610e4a8762278d00611bdf565b9b509b509b509b509b509b50505050505050610e7b565b600080600080600080995099509950995099509950505050505b91939550919395565b6001600160a01b03808216600090815260026020818152604080842092830154909416835260019052918120825491928392839260609284928392839283928392839291839060ff16610ed957506000610ee0565b5060038201545b82546001808501546002808701546004880154600589015460068a015460078b015460088c01548b546040805160206101009c8416159c909c026000190190921698909804601f81018b90048b0282018b0190985287815260ff909a169997986001600160a01b03909616978c978c97899190830182828015610fa45780601f10610f7957610100808354040283529160200191610fa4565b820191906000526020600020905b815481529060010190602001808311610f8757829003601f168201915b505050505096509c509c509c509c509c509c509c509c509c509c505050509193959799509193959799565b6000908152602081905260409020805460018201546002830154600384015460048501546005909501549395929491939092565b61100b611bdb565b6003546001600160a01b0390811691161461105b576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b6110ad611bdb565b6003546001600160a01b039081169116146110fd576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b61110f836001600160a01b0316611bd5565b151560011461114f5760405162461bcd60e51b81526004018080602001828103825260218152602001806122656021913960400191505060405180910390fd5b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118857600080fd5b505afa15801561119c573d6000803e3d6000fd5b505050506040513d60208110156111b257600080fd5b5051611205576040805162461bcd60e51b815260206004820152601f60248201527f546869732061646472657373206973206e6f7420455243323020546f6b656e00604482015290519081900360640190fd5b6001600160a01b03831660009081526001602081815260409092209081018490558251909161123891839185019061208a565b5050600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0394909416939093179092555050565b6001600160a01b0380821660009081526002602081815260408084206001808201548652858452828620948201549096168552949091528220600384015492939284901580156112ea575060028401546001600160a01b0316155b156112f7575060006113cc565b600061131484600201548660030154611bdf90919063ffffffff16565b905061132d846003015482611c4190919063ffffffff16565b905061133a816064611c41565b9050600042905060008660060154821115611369576004870154600688015461136291611c83565b905061137c565b6004870154611379908390611c83565b90505b6113868382611bdf565b60018601549094506113988582611bdf565b94506113ac85670de0b6b3a7640000611c41565b94506113c5886008015486611c8390919063ffffffff16565b9450505050505b95945050505050565b6003546001600160a01b031690565b6113ec611bdb565b6003546001600160a01b0390811691161461143c576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b6007548061144c57506001611450565b6001015b600081815260208190526040812097885560018089019790975560028801959095556003870193909355600486019190915560059094019390935560078054928301815590527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b60065490565b6001600160a01b03808216600090815260026020818152604080842060018082015486528584528286209482015490961685529490915282206003840154929392849015801561151c575060028401546001600160a01b0316155b15611529575060006113cc565b600061154684600201548660030154611bdf90919063ffffffff16565b905061155f846003015482611c4190919063ffffffff16565b905061156c816064611c41565b905060004290506000866006015482111561159b576004870154600688015461159491611c83565b90506115ae565b60048701546115ab908390611c83565b90505b6115b88382611bdf565b60018601549094506115ca8582611bdf565b94506113c585670de0b6b3a7640000611c41565b6115e6611bdb565b6003546001600160a01b03908116911614611636576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b600096875260208790526040909620948555600185019390935560028401919091556003830155600482015560050155565b6000611672611bdb565b6001600160a01b0380821660009081526002602081815260408084209283015481516370a0823160e01b815230600482015291519697509295939492909216926370a08231926024808201939291829003018186803b1580156116d457600080fd5b505afa1580156116e8573d6000803e3d6000fd5b505050506040513d60208110156116fe57600080fd5b50519050600061170d8461128f565b9050428183101561174f5760405162461bcd60e51b81526004018080602001828103825260368152602001806121c36036913960400191505060405180910390fd5b428460050154106117915760405162461bcd60e51b81526004018080602001828103825260248152602001806122b06024913960400191505060405180910390fd5b60088401546117a09083611d1c565b60088501556117b28162093a80611d1c565b600585015560028401546117d0906001600160a01b03168684611cc5565b600284015460405183916001600160a01b0390811691908816907f70eb43c4a8ae8c40502dcf22436c509c28d6ff421cf07c491be56984bd98706890600090a45050505050565b6001600160a01b03811660009081526001602081815260408084208084015481548351600296821615610100026000190190911695909504601f8101859004850286018501909352828552606094919390928492918391908301828280156118c05780601f10611895576101008083540402835291602001916118c0565b820191906000526020600020905b8154815290600101906020018083116118a357829003601f168201915b505050505090509250925050915091565b60606007805480602002602001604051908101604052809291908181526020018280548015610d4857602002820191906000526020600020905b81548152602001906001019080831161190b575050505050905090565b6000818152602081815260408083206001600160a01b0387168452600190925282206002820154839061195c908790611bdf565b9050611975836003015482611c4190919063ffffffff16565b9050611982816064611c41565b83549091504290600090611997908390611d1c565b905060006119a58284611c83565b905060006119b38583611bdf565b60018701549091506119c58282611bdf565b91506119d982670de0b6b3a7640000611c41565b9c9b505050505050505050505050565b60008060005b600654811015611ac057611a01612108565b6002600060068481548110611a1257fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301909120825161012081018452815460ff161515808252600183810154948301949094526002830154909516938101939093526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600801546101008301529092501415611ab7578260010192505b506001016119ef565b50905090565b611ace611bdb565b6003546001600160a01b03908116911614611b1e576040805162461bcd60e51b81526020600482015260176024820152600080516020612175833981519152604482015290519081900360640190fd5b6001600160a01b038116611b79576040805162461bcd60e51b815260206004820152601d60248201527f4e6577206f776e657220697320746865207a65726f2061646472657373000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b3390565b600082611bee57506000611c3b565b82820282848281611bfb57fe5b0414611c385760405162461bcd60e51b81526004018080602001828103825260218152602001806121f96021913960400191505060405180910390fd5b90505b92915050565b6000611c3883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dd6565b6000611c3883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e78565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611d17908490611ed2565b505050565b600082820183811015611c38576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611dd0908590611ed2565b50505050565b60008183611e625760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e27578181015183820152602001611e0f565b50505050905090810190601f168015611e545780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e6e57fe5b0495945050505050565b60008184841115611eca5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611e27578181015183820152602001611e0f565b505050900390565b611ee4826001600160a01b0316611bd5565b611f35576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611f735780518252601f199092019160209182019101611f54565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611fd5576040519150601f19603f3d011682016040523d82523d6000602084013e611fda565b606091505b509150915081612031576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611dd05780806020019051602081101561204d57600080fd5b5051611dd05760405162461bcd60e51b815260040180806020018281038252602a815260200180612286602a913960400191505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120cb57805160ff19168380011785556120f8565b828001600101855582156120f8579182015b828111156120f85782518255916020019190600101906120dd565b5061210492915061215f565b5090565b6040518061012001604052806000151581526020016000815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b5b80821115612104576000815560010161216056fe43616c6c6572206973206e6f7420746865206f776e6572000000000000000000506c6561736520636c61696d20796f7572207265776172642066726f6d2070726576696f7573207374616b696e67506c65617365207761697420756e74696c2072657761726420706f6f6c2066696c6c65642c2074727920616761696e206c617465722e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77496e73756666696369656e74205946444f5420746f6b656e20617070726f76616c2062616c616e63652c20796f75206d75737420696e63726561736520796f757220616c6c6f77616e6365546869732061646472657373206973206e6f7420536d617274636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564506c65617365207761697420756e74696c20776169742074696d6520726561636865642ea264697066735822122014a16c82907b6f68d9f4d37ad5f9e6420b63e6cb4a69f351bfeb0e5fa461c02564736f6c63430007030033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002e6539edc3b76f1e21b71d214527faba875f70f3
-----Decoded View---------------
Arg [0] : YFDOTAddress (address): 0x2e6539edc3b76f1E21B71d214527FAbA875F70F3
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002e6539edc3b76f1e21b71d214527faba875f70f3
Deployed Bytecode Sourcemap
8752:14865:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16236:979;;;:::i;:::-;;14593:1631;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14593:1631:0;;;;;;;;;;;;;:::i;12110:459::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12110:459:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12110:459:0;;-1:-1:-1;12110:459:0;;-1:-1:-1;;;;;12110:459:0:i;17964:102::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21727:1086;;;;;;;;;;;;;;;;-1:-1:-1;21727:1086:0;-1:-1:-1;;;;;21727:1086:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18595:822;;;;;;;;;;;;;;;;-1:-1:-1;18595:822:0;-1:-1:-1;;;;;18595:822:0;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18595:822:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18186:397;;;;;;;;;;;;;;;;-1:-1:-1;18186:397:0;;:::i;11190:148::-;;;:::i;11597:501::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11597:501:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11597:501:0;;-1:-1:-1;11597:501:0;;-1:-1:-1;;;;;11597:501:0:i;19429:1167::-;;;;;;;;;;;;;;;;-1:-1:-1;19429:1167:0;-1:-1:-1;;;;;19429:1167:0;;:::i;:::-;;;;;;;;;;;;;;;;10985:79;;;:::i;:::-;;;;-1:-1:-1;;;;;10985:79:0;;;;;;;;;;;;;;12581:698;;;;;;;;;;;;;;;;-1:-1:-1;12581:698:0;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17485:98::-;;;:::i;20608:1107::-;;;;;;;;;;;;;;;;-1:-1:-1;20608:1107:0;-1:-1:-1;;;;;20608:1107:0;;:::i;13291:489::-;;;;;;;;;;;;;;;;-1:-1:-1;13291:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13792:789::-;;;:::i;17227:246::-;;;;;;;;;;;;;;;;-1:-1:-1;17227:246:0;-1:-1:-1;;;;;17227:246:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18078:96;;;:::i;22825:789::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;22825:789:0;;;;;;;;;;;;;:::i;17595:357::-;;;:::i;11350:235::-;;;;;;;;;;;;;;;;-1:-1:-1;11350:235:0;-1:-1:-1;;;;;11350:235:0;;:::i;16236:979::-;16283:17;16303:12;:10;:12::i;:::-;-1:-1:-1;;;;;16352:23:0;;16326;16352;;;:12;:23;;;;;;;;16418:17;;;;;16411:25;;;;;;;;16465:15;;16283:32;;-1:-1:-1;16352:23:0;;16465:15;;:23;;;16457:57;;;;;-1:-1:-1;;;16457:57:0;;;;;;;;;;;;-1:-1:-1;;;16457:57:0;;;;;;;;;;;;;;;16535:20;16587:3;:16;;;16569:15;:34;16566:337;;;16619:14;16636:41;16657:3;:19;;;16636:3;:16;;;:20;;:41;;;;:::i;:::-;16619:58;;16701:31;16712:3;:19;;;16701:6;:10;;:31;;;;:::i;:::-;16692:40;-1:-1:-1;16756:15:0;16692:40;16767:3;16756:10;:15::i;:::-;16801:16;;;;16747:24;;-1:-1:-1;16801:28:0;;16747:24;16801:20;:28::i;:::-;16786:43;;16566:337;;;;-1:-1:-1;16875:16:0;;;;16566:337;16923:23;;-1:-1:-1;;16923:23:0;;;16978:12;;;;16960:15;:30;16957:91;;;17021:15;17006:12;;;:30;16957:91;17075:11;;17068:57;;-1:-1:-1;;;;;17075:11:0;17101:9;17112:12;17068:32;:57::i;:::-;17190:16;;;;17170:18;;;;17151:56;;-1:-1:-1;;;;;17170:18:0;;;;17151:56;;;;;17170:18;;17151:56;16236:979;;;;:::o;14593:1631::-;14704:17;14724:12;:10;:12::i;:::-;14777:11;;;14770:55;;;-1:-1:-1;;;14770:55:0;;-1:-1:-1;;;;;14770:55:0;;;;;;;;;;14819:4;14770:55;;;;;;14704:32;;-1:-1:-1;14747:20:0;;14777:11;;;;;14770:29;;:55;;;;;;;;;;;;;;;14777:11;14770:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14770:55:0;;-1:-1:-1;14881:1:0;14849:29;14868:9;14849:18;:29::i;:::-;:33;14846:120;;;14898:56;;-1:-1:-1;;;14898:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14846:120;15013:12;14994:15;:31;;14986:73;;;;;-1:-1:-1;;;14986:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15094:15;15078:12;:31;;15070:120;;;;-1:-1:-1;;;15070:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15279:23:0;;;15211:13;15279:23;;;:12;:23;;;;;;;;15338:18;;;;;;;;;;15377:22;;15395:4;-1:-1:-1;;15377:22:0;;;;;;;15410:17;;:30;;;15451:18;;;:37;;-1:-1:-1;;;;;;15451:37:0;;;;;;;;;;;15499:16;;;:34;;;15227:15;15544:14;;;:22;;;15227:15;15594:17;15227:15;15604:6;15594:9;:17::i;:::-;15577:14;;;:34;15651:16;;;;15641:27;;:5;;:9;:27::i;:::-;15622:16;;;:46;15704:14;;15694:25;;:5;;:9;:25::i;:::-;15679:12;;;:40;15744:1;15730:11;;;:15;;;15744:1;15800:153;15820:11;:18;15816:22;;15800:153;;;15880:9;-1:-1:-1;;;;;15862:27:0;:11;15874:1;15862:14;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15862:14:0;:27;15859:83;;;15922:4;15909:17;;15859:83;15840:3;;15800:153;;;-1:-1:-1;15976:19:0;15973:77;;16011:11;:27;;;;;;;-1:-1:-1;16011:27:0;;;;;;;;-1:-1:-1;;;;;;16011:27:0;-1:-1:-1;;;;;16011:27:0;;;;;15973:77;16077:11;;16070:79;;-1:-1:-1;;;;;16077:11:0;16107:9;16126:4;16133:15;16070:36;:79::i;:::-;16200:15;16182:16;-1:-1:-1;;;;;16165:51:0;16171:9;-1:-1:-1;;;;;16165:51:0;;;;;;;;;;;14593:1631;;;;;;;;;:::o;12110:459::-;11122:12;:10;:12::i;:::-;11112:6;;-1:-1:-1;;;;;11112:6:0;;;:22;;;11104:58;;;;;-1:-1:-1;;;11104:58:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11104:58:0;;;;;;;;;;;;;;;12247:23:::1;:10;-1:-1:-1::0;;;;;12247:21:0::1;;:23::i;:::-;:31;;12274:4;12247:31;12239:76;;;;-1:-1:-1::0;;;12239:76:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12341:10;-1:-1:-1::0;;;;;12334:30:0::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12334:32:0;12326:81:::1;;;::::0;;-1:-1:-1;;;12326:81:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;12455:25:0;::::1;12428:24;12455:25:::0;;;:13:::1;:25;::::0;;;;;;;12491:15;;::::1;:29:::0;;;12531:30;;12455:25;;12531:30:::1;::::0;12455:25;;12531:30;::::1;::::0;::::1;:::i;:::-;;11173:1;12110:459:::0;;;:::o;17964:102::-;18008:16;18043:15;18036:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18036:22:0;;;;;;;;;;;;;;;;;;;;;;;17964:102;:::o;21727:1086::-;-1:-1:-1;;;;;21883:27:0;;;21798:7;21883:27;;;:12;:27;;;;;;;;21953:17;;;;;21946:25;;;;;;;;22023:18;;;;;;;22009:33;;;;;;;;22100:15;;21798:7;;;;;;;;;;;;21883:27;;22009:33;;21798:7;;22100:15;;:23;;;22097:699;;;-1:-1:-1;22157:16:0;;;;22225:17;;;;22188:14;;22205:38;;22157:16;;22205:19;:38::i;:::-;22282:15;;;;22332:17;;;;22188:55;;-1:-1:-1;22282:15:0;22321:29;;22188:55;;22321:10;:29::i;:::-;22312:38;-1:-1:-1;22374:15:0;22312:38;22385:3;22374:10;:15::i;:::-;22365:24;-1:-1:-1;22413:25:0;22365:24;22424:13;22413:10;:25::i;:::-;22404:34;-1:-1:-1;22462:18:0;22404:34;22473:6;22462:10;:18::i;:::-;22453:27;-1:-1:-1;22453:27:0;22559:14;22453:27;22570:2;22559:10;:14::i;:::-;22592:16;:6;22603:4;22592:10;:16::i;:::-;22627:17;:6;22638:5;22627:10;:17::i;:::-;22663:18;:6;22674;22663:10;:18::i;:::-;22700:19;:6;22711:7;22700:10;:19::i;:::-;22509:225;;;;;;;;;;;;;;;;;;;;22097:699;22772:1;22774;22776;22778;22780;22782;22765:19;;;;;;;;;;;;;;;;21727:1086;;;;;;;;:::o;18595:822::-;-1:-1:-1;;;;;18785:27:0;;;18659:4;18785:27;;;:12;:27;;;;;;;;18864:18;;;;;;;18850:33;;:13;:33;;;;;18943:15;;18659:4;;;;;;18680:13;;18659:4;;;;;;;;;;;;18785:27;18659:4;;18943:15;;18940:143;;-1:-1:-1;19003:1:0;18940:143;;;-1:-1:-1;19055:16:0;;;;18940:143;19114:15;;;19144:17;;;;19176:18;;;;;19271:14;;;;19300;;;;19329:12;;;;19356:16;;;;19387:11;;;;19093:316;;;;;;19114:15;19093:316;;;;;;;;-1:-1:-1;;19093:316:0;;;;;;;;;;;;;;;;;;;;;;;;;;19114:15;;;;;19144:17;;-1:-1:-1;;;;;19176:18:0;;;;19093:316;;19239:17;;19093:316;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18595:822;;;;;;;;;;;:::o;18186:397::-;18248:7;18337:18;;;;;;;;;;18387:14;;18416:16;;;;18447:17;;;;18479;;;;18511:19;;;;18545;;;;;18387:14;;18416:16;;18447:17;;18479;;18186:397::o;11190:148::-;11122:12;:10;:12::i;:::-;11112:6;;-1:-1:-1;;;;;11112:6:0;;;:22;;;11104:58;;;;;-1:-1:-1;;;11104:58:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11104:58:0;;;;;;;;;;;;;;;11281:6:::1;::::0;11260:40:::1;::::0;11297:1:::1;::::0;-1:-1:-1;;;;;11281:6:0::1;::::0;11260:40:::1;::::0;11297:1;;11260:40:::1;11311:6;:19:::0;;-1:-1:-1;;;;;;11311:19:0::1;::::0;;11190:148::o;11597:501::-;11122:12;:10;:12::i;:::-;11112:6;;-1:-1:-1;;;;;11112:6:0;;;:22;;;11104:58;;;;;-1:-1:-1;;;11104:58:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11104:58:0;;;;;;;;;;;;;;;11733:23:::1;:10;-1:-1:-1::0;;;;;11733:21:0::1;;:23::i;:::-;:31;;11760:4;11733:31;11725:76;;;;-1:-1:-1::0;;;11725:76:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11827:10;-1:-1:-1::0;;;;;11820:30:0::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11820:32:0;11812:81:::1;;;::::0;;-1:-1:-1;;;11812:81:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;11931:25:0;::::1;11904:24;11931:25:::0;;;:13:::1;:25;::::0;;;;;;;11967:15;;::::1;:29:::0;;;12007:30;;11931:25;;12007:30:::1;::::0;11931:25;;12007:30;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;12058:15:0::1;:32:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;12058:32:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;12058:32:0::1;-1:-1:-1::0;;;;;12058:32:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;11597:501:0:o;19429:1167::-;-1:-1:-1;;;;;19545:27:0;;;19500:7;19545:27;;;:12;:27;;;;;;;;19615:17;;;;;19608:25;;;;;;;;19685:18;;;;;;;19671:33;;;;;;;;19764:16;;;;19500:7;;19545:27;19500:7;;19764:21;:57;;;;-1:-1:-1;19789:18:0;;;;-1:-1:-1;;;;;19789:18:0;:32;19764:57;19761:803;;;-1:-1:-1;19847:1:0;19761:803;;;19879:14;19896:39;19917:3;:17;;;19896:3;:16;;;:20;;:39;;;;:::i;:::-;19879:56;;19959:29;19970:3;:17;;;19959:6;:10;;:29;;;;:::i;:::-;19950:38;-1:-1:-1;20012:15:0;19950:38;20023:3;20012:10;:15::i;:::-;20003:24;;20056:13;20072:15;20056:31;;20102:16;20144:3;:12;;;20136:5;:20;20133:177;;;20204:14;;;;20187:12;;;;:32;;:16;:32::i;:::-;20176:43;;20133:177;;;20279:14;;;;20269:25;;:5;;:9;:25::i;:::-;20258:36;;20133:177;20334:20;:6;20345:8;20334:10;:20::i;:::-;20393:15;;;;20324:30;;-1:-1:-1;20433:26:0;20324:30;20393:15;20433:11;:26::i;:::-;20423:36;-1:-1:-1;20484:19:0;20423:36;20496:6;20484:11;:19::i;:::-;20474:29;;20528:24;20540:3;:11;;;20528:7;:11;;:24;;;;:::i;:::-;20518:34;;19761:803;;;;;20581:7;19429:1167;-1:-1:-1;;;;;19429:1167:0:o;10985:79::-;11050:6;;-1:-1:-1;;;;;11050:6:0;10985:79;:::o;12581:698::-;11122:12;:10;:12::i;:::-;11112:6;;-1:-1:-1;;;;;11112:6:0;;;:22;;;11104:58;;;;;-1:-1:-1;;;11104:58:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11104:58:0;;;;;;;;;;;;;;;12772:11:::1;:18:::0;12804:14;12801:114:::1;;-1:-1:-1::0;12846:1:0::1;12801:114;;;12902:1;12890:13;12801:114;12935:22;12960:17:::0;;;::::1;::::0;;;;;;12988:32;;;13031:16:::1;::::0;;::::1;:38:::0;;;;13080:17:::1;::::0;::::1;:28:::0;;;;13119:17:::1;::::0;::::1;:28:::0;;;;13158:19:::1;::::0;::::1;:27:::0;;;;13196:19:::1;::::0;;::::1;:27:::0;;;;13244:11:::1;:27:::0;;;;::::1;::::0;;;;;::::1;::::0;12581:698::o;17485:98::-;17557:11;:18;17485:98;:::o;20608:1107::-;-1:-1:-1;;;;;20723:27:0;;;20678:7;20723:27;;;:12;:27;;;;;;;;20793:17;;;;;20786:25;;;;;;;;20863:18;;;;;;;20849:33;;;;;;;;20932:16;;;;20678:7;;20723:27;20678:7;;20932:21;:57;;;;-1:-1:-1;20957:18:0;;;;-1:-1:-1;;;;;20957:18:0;:32;20932:57;20929:754;;;-1:-1:-1;21015:1:0;20929:754;;;21047:14;21064:39;21085:3;:17;;;21064:3;:16;;;:20;;:39;;;;:::i;:::-;21047:56;;21127:29;21138:3;:17;;;21127:6;:10;;:29;;;;:::i;:::-;21118:38;-1:-1:-1;21180:15:0;21118:38;21191:3;21180:10;:15::i;:::-;21171:24;;21224:13;21240:15;21224:31;;21270:16;21312:3;:12;;;21304:5;:20;21301:177;;;21372:14;;;;21355:12;;;;:32;;:16;:32::i;:::-;21344:43;;21301:177;;;21447:14;;;;21437:25;;:5;;:9;:25::i;:::-;21426:36;;21301:177;21502:20;:6;21513:8;21502:10;:20::i;:::-;21561:15;;;;21492:30;;-1:-1:-1;21601:26:0;21492:30;21561:15;21601:11;:26::i;:::-;21591:36;-1:-1:-1;21652:19:0;21591:36;21664:6;21652:11;:19::i;13291:489::-;11122:12;:10;:12::i;:::-;11112:6;;-1:-1:-1;;;;;11112:6:0;;;:22;;;11104:58;;;;;-1:-1:-1;;;11104:58:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11104:58:0;;;;;;;;;;;;;;;13483:22:::1;13508:18:::0;;;::::1;::::0;;;;;;;13537:32;;;13580:16:::1;::::0;::::1;:38:::0;;;;13629:17:::1;::::0;::::1;:28:::0;;;;13668:17:::1;::::0;::::1;:28:::0;13707:19:::1;::::0;::::1;:27:::0;13745:19:::1;;:27:::0;13291:489::o;13792:789::-;13840:17;13860:12;:10;:12::i;:::-;-1:-1:-1;;;;;13909:23:0;;;13883;13909;;;:12;:23;;;;;;;;13977:18;;;;13970:51;;-1:-1:-1;;;13970:51:0;;14015:4;13970:51;;;;;;13840:32;;-1:-1:-1;13909:23:0;;13883;;13977:18;;;;;13970:36;;:51;;;;;13909:23;13970:51;;;;;;13977:18;13970:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13970:51:0;;-1:-1:-1;14032:17:0;14052:29;14071:9;14052:18;:29::i;:::-;14032:49;-1:-1:-1;14108:15:0;14152:29;;;;14144:96;;;;-1:-1:-1;;;14144:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14276:15;14259:3;:14;;;:32;14251:81;;;;-1:-1:-1;;;14251:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:11;;;;:26;;14383:9;14367:15;:26::i;:::-;14353:11;;;:40;14421:17;:5;14431:6;14421:9;:17::i;:::-;14404:14;;;:34;14456:18;;;;14449:61;;-1:-1:-1;;;;;14456:18:0;14489:9;14500;14449:39;:61::i;:::-;14543:18;;;;14526:47;;14563:9;;-1:-1:-1;;;;;14543:18:0;;;;14526:47;;;;;;14543:18;;14526:47;13792:789;;;;;:::o;17227:246::-;-1:-1:-1;;;;;17352:25:0;;17291:7;17352:25;;;:13;:25;;;;;;;;17409:15;;;;17388:77;;;;;;;;;;;-1:-1:-1;;17388:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;17300:13;;17352:25;;17409:15;;17352:25;;17388:77;17352:25;;17388:77;;;17352:25;17388:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17227:246;;;:::o;18078:96::-;18123:13;18155:11;18148:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18078:96;:::o;22825:789::-;22940:7;22984:18;;;;;;;;;;;-1:-1:-1;;;;;23040:29:0;;;;:13;:29;;;;;23127:17;;;;22940:7;;23107:38;;:15;;:19;:38::i;:::-;23090:55;;23165:29;23176:3;:17;;;23165:6;:10;;:29;;;;:::i;:::-;23156:38;-1:-1:-1;23214:15:0;23156:38;23225:3;23214:10;:15::i;:::-;23328:14;;23205:24;;-1:-1:-1;23270:15:0;;23250:17;;23314:29;;23270:15;;23314:13;:29::i;:::-;23296:47;-1:-1:-1;23354:16:0;23373:22;23296:47;23385:9;23373:11;:22::i;:::-;23354:41;-1:-1:-1;23406:15:0;23424:20;:6;23354:41;23424:10;:20::i;:::-;23479:15;;;;23406:38;;-1:-1:-1;23515:26:0;23406:38;23479:15;23515:11;:26::i;:::-;23505:36;-1:-1:-1;23562:19:0;23505:36;23574:6;23562:11;:19::i;:::-;23552:29;22825:789;-1:-1:-1;;;;;;;;;;;;22825:789:0:o;17595:357::-;17642:7;17661:19;17695:6;17691:225;17711:11;:18;17707:22;;17691:225;;;17750:20;;:::i;:::-;17773:12;:28;17786:11;17798:1;17786:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17786:14:0;;;17773:28;;;;;;;;;;;;;;;;17750:51;;;;;;;;;;;;;;;;17786:14;17750:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17786:14;17750:51;;;;;-1:-1:-1;17819:21:0;17816:89;;;17874:11;17888:1;17874:15;17860:29;;17816:89;-1:-1:-1;17731:3:0;;17691:225;;;-1:-1:-1;17933:11:0;-1:-1:-1;17595:357:0;:::o;11350:235::-;11122:12;:10;:12::i;:::-;11112:6;;-1:-1:-1;;;;;11112:6:0;;;:22;;;11104:58;;;;;-1:-1:-1;;;11104:58:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11104:58:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11439:22:0;::::1;11431:64;;;::::0;;-1:-1:-1;;;11431:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11532:6;::::0;11511:38:::1;::::0;-1:-1:-1;;;;;11511:38:0;;::::1;::::0;11532:6:::1;::::0;11511:38:::1;::::0;11532:6:::1;::::0;11511:38:::1;11560:6;:17:::0;;-1:-1:-1;;;;;;11560:17:0::1;-1:-1:-1::0;;;;;11560:17:0;;;::::1;::::0;;;::::1;::::0;;11350:235::o;481:422::-;848:20;887:8;;;481:422::o;104:106::-;192:10;104:106;:::o;5090:250::-;5148:7;5172:6;5168:47;;-1:-1:-1;5202:1:0;5195:8;;5168:47;5239:5;;;5243:1;5239;:5;:1;5263:5;;;;;:10;5255:56;;;;-1:-1:-1;;;5255:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5331:1;-1:-1:-1;5090:250:0;;;;;:::o;5348:132::-;5406:7;5433:39;5437:1;5440;5433:39;;;;;;;;;;;;;;;;;:3;:39::i;4746:136::-;4804:7;4831:43;4835:1;4838;4831:43;;;;;;;;;;;;;;;;;:3;:43::i;6912:176::-;7021:58;;;-1:-1:-1;;;;;7021:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7021:58:0;-1:-1:-1;;;7021:58:0;;;6995:85;;7014:5;;6995:18;:85::i;:::-;6912:176;;;:::o;4557:181::-;4615:7;4647:5;;;4671:6;;;;4663:46;;;;;-1:-1:-1;;;4663:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7096:204;7223:68;;;-1:-1:-1;;;;;7223:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7223:68:0;-1:-1:-1;;;7223:68:0;;;7197:95;;7216:5;;7197:18;:95::i;:::-;7096:204;;;;:::o;5488:278::-;5574:7;5609:12;5602:5;5594:28;;;;-1:-1:-1;;;5594:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5633:9;5649:1;5645;:5;;;;;;;5488:278;-1:-1:-1;;;;;5488:278:0:o;4890:192::-;4976:7;5012:12;5004:6;;;;4996:29;;;;-1:-1:-1;;;4996:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5048:5:0;;;4890:192::o;8294:451::-;8382:27;8390:5;-1:-1:-1;;;;;8382:25:0;;:27::i;:::-;8374:71;;;;;-1:-1:-1;;;8374:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8457:12;8471:23;8506:5;-1:-1:-1;;;;;8498:19:0;8518:4;8498:25;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8498:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8456:67;;;;8542:7;8534:52;;;;;-1:-1:-1;;;8534:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8603:17;;:21;8599:139;;8660:10;8649:30;;;;;;;;;;;;;;;-1:-1:-1;8649:30:0;8641:85;;;;-1:-1:-1;;;8641:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;
Swarm Source
ipfs://14a16c82907b6f68d9f4d37ad5f9e6420b63e6cb4a69f351bfeb0e5fa461c025
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.320101 | 102.6178 | $32.85 |
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.