More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 778 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake | 14016235 | 1076 days ago | IN | 0 ETH | 0.01411783 | ||||
Unstake | 13671256 | 1130 days ago | IN | 0 ETH | 0.04334006 | ||||
Claim | 13287493 | 1190 days ago | IN | 0 ETH | 0.0038916 | ||||
Claim | 12589272 | 1298 days ago | IN | 0 ETH | 0.0023127 | ||||
Unstake | 12380718 | 1331 days ago | IN | 0 ETH | 0.0011022 | ||||
Unstake | 12380546 | 1331 days ago | IN | 0 ETH | 0.00095844 | ||||
Unstake | 12350286 | 1335 days ago | IN | 0 ETH | 0.0076806 | ||||
Stake | 12349044 | 1336 days ago | IN | 0 ETH | 0.00675306 | ||||
Unstake | 12347717 | 1336 days ago | IN | 0 ETH | 0.00591234 | ||||
Unstake | 12346654 | 1336 days ago | IN | 0 ETH | 0.00272895 | ||||
Unstake | 12342966 | 1337 days ago | IN | 0 ETH | 0.00872175 | ||||
Unstake | 12340036 | 1337 days ago | IN | 0 ETH | 0.0052554 | ||||
Unstake | 12337829 | 1337 days ago | IN | 0 ETH | 0.0067977 | ||||
Unstake | 12328868 | 1339 days ago | IN | 0 ETH | 0.01367146 | ||||
Unstake | 12309338 | 1342 days ago | IN | 0 ETH | 0.00452033 | ||||
Unstake | 12301224 | 1343 days ago | IN | 0 ETH | 0.01181062 | ||||
Unstake | 12299146 | 1343 days ago | IN | 0 ETH | 0.00242006 | ||||
Unstake | 12299146 | 1343 days ago | IN | 0 ETH | 0.0109257 | ||||
Unstake | 12266613 | 1348 days ago | IN | 0 ETH | 0.00962556 | ||||
Unstake | 12258868 | 1350 days ago | IN | 0 ETH | 0.01795222 | ||||
Unstake | 12244635 | 1352 days ago | IN | 0 ETH | 0.00910111 | ||||
Unstake | 12244633 | 1352 days ago | IN | 0 ETH | 0.01228896 | ||||
Unstake | 12243665 | 1352 days ago | IN | 0 ETH | 0.01399216 | ||||
Unstake | 12239134 | 1353 days ago | IN | 0 ETH | 0.01332068 | ||||
Unstake | 12228052 | 1354 days ago | IN | 0 ETH | 0.02092552 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
BSKTStaker
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-02-16 */ // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; 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) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 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; } } 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; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } } interface BSKToken { function balanceOf(address owner) external view returns (uint); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); } abstract contract RewardContract { function getBalance() external view virtual returns (uint256); function giveReward(address recipient, uint256 amount) external virtual returns (bool); } contract BSKTStaker is Ownable { using SafeMath for uint256; BSKToken public immutable _bskToken; // BSKT contract RewardContract public _rewardContract; // reward contract mapping (address => StakerInfo) private _stakeMap; // map for stakers address[] private _stakers; // staker's array uint256 private _totalStakedAmount = 0; // total staked amount uint256 private _minStakeAmount = 10000e18; // min stakable amount uint256 private _rewardPortion = 10; // reward portion 10% struct StakerInfo { uint256 stakedAmount; uint256 rewardAmount; uint256 lastClaimTimestamp; } // Events event Staked(address staker, uint256 amount); event Unstaked(address staker, uint256 amount); event Claim(address staker, uint256 amount); constructor (BSKToken bskToken) public { _bskToken = bskToken; } function stake(uint256 amount) public { require( amount >= _minStakeAmount, "BSKTStaker: stake amount is less than min stake amount." ); uint256 initialBalance = _bskToken.balanceOf(address(this)); require( _bskToken.transferFrom( _msgSender(), address(this), amount ), "BSKTStaker: stake failed." ); uint256 realStakedAmount = _bskToken.balanceOf(address(this)).sub(initialBalance); uint256 currentTimestamp = uint256(now); if(_stakeMap[_msgSender()].stakedAmount == 0) _stakers.push(_msgSender()); else _stakeMap[_msgSender()].rewardAmount = calcReward(_msgSender(), currentTimestamp); _stakeMap[_msgSender()].lastClaimTimestamp = currentTimestamp; _stakeMap[_msgSender()].stakedAmount = _stakeMap[_msgSender()].stakedAmount.add(realStakedAmount); _totalStakedAmount = _totalStakedAmount.add(realStakedAmount); emit Staked(_msgSender(), realStakedAmount); } function unstake(uint256 amount) public { require( _stakeMap[_msgSender()].stakedAmount >= amount, "BSKTStaker: unstake amount exceededs the staked amount." ); uint256 currentTimestamp = uint256(now); _stakeMap[_msgSender()].rewardAmount = calcReward(_msgSender(), currentTimestamp); _stakeMap[_msgSender()].lastClaimTimestamp = currentTimestamp; _stakeMap[_msgSender()].stakedAmount = _stakeMap[_msgSender()].stakedAmount.sub(amount); _totalStakedAmount = _totalStakedAmount.sub(amount); require( _bskToken.transfer( _msgSender(), amount ), "BSKTStaker: unstake failed." ); if(_stakeMap[_msgSender()].stakedAmount == 0) { for(uint i=0; i<_stakers.length; i++) { if(_stakers[i] == _msgSender()) { _stakers[i] = _stakers[_stakers.length-1]; _stakers.pop(); break; } } } emit Unstaked(_msgSender(), amount); } function claim() public { uint256 currentTimestamp = uint256(now); uint256 rewardAmount = calcReward(_msgSender(), currentTimestamp); _stakeMap[_msgSender()].lastClaimTimestamp = currentTimestamp; _stakeMap[_msgSender()].rewardAmount = 0; require( _rewardContract.giveReward(_msgSender(), rewardAmount), "BSKTStaker: claim failed." ); emit Claim(_msgSender(), rewardAmount); } function endStake() external { unstake(_stakeMap[_msgSender()].stakedAmount); claim(); } function calcReward(address account, uint256 currentTimestamp) internal view returns (uint256) { if(_totalStakedAmount == 0) return 0; uint256 rewardPoolBalance = _rewardContract.getBalance(); uint256 passTime = currentTimestamp.sub(_stakeMap[account].lastClaimTimestamp); uint256 rewardAmountForStakers = rewardPoolBalance.mul(_rewardPortion).div(100); uint256 rewardAmount = rewardAmountForStakers.mul(passTime).div(86400).mul(_stakeMap[account].stakedAmount).div(_totalStakedAmount); return _stakeMap[account].rewardAmount.add(rewardAmount); } /** * Get store wallet */ function getRewardContract() external view returns (address) { return address(_rewardContract); } /** * Get total staked amount */ function getTotalStakedAmount() external view returns (uint256) { return _totalStakedAmount; } /** * Get reward amount of staker */ function getReward(address account) external view returns (uint256) { return calcReward(account, now); } /** * Get reward pool balance (LAVA) */ function getRewardPoolBalance() external view returns (uint256) { return _rewardContract.getBalance(); } /** * Get last claim timestamp */ function getLastClaimTimestamp() external view returns (uint256) { return _stakeMap[_msgSender()].lastClaimTimestamp; } /** * Get staked amount of staker */ function getStakedAmount(address staker) external view returns (uint256) { return _stakeMap[staker].stakedAmount; } /** * Get min stake amount */ function getMinStakeAmount() external view returns (uint256) { return _minStakeAmount; } /** * Get rewards portion */ function getRewardPortion() external view returns (uint256) { return _rewardPortion; } /** * Get staker count */ function getStakerCount() external view returns (uint256) { return _stakers.length; } /** * Get staked rank */ function getStakedRank(address account) external view returns (uint256) { uint256 rank = 1; uint256 senderStakedAmount = _stakeMap[account].stakedAmount; for(uint i=0; i<_stakers.length; i++) { if(_stakers[i] != account && senderStakedAmount < _stakeMap[_stakers[i]].stakedAmount) rank = rank.add(1); } return rank; } /** * Set store wallet contract address */ function setRewardContract(RewardContract rewardContract) external onlyOwner returns (bool) { require(address(rewardContract) != address(0), 'BSKTStaker: reward contract address should not be zero address.'); _rewardContract = rewardContract; return true; } /** * Set rewards portion in store balance. */ function setRewardPortion(uint256 rewardPortion) external onlyOwner returns (bool) { require(rewardPortion >= 10 && rewardPortion <= 100, 'BSKTStaker: reward portion should be in 10 ~ 100.'); _rewardPortion = rewardPortion; return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract BSKToken","name":"bskToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","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":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unstaked","type":"event"},{"inputs":[],"name":"_bskToken","outputs":[{"internalType":"contract BSKToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rewardContract","outputs":[{"internalType":"contract RewardContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLastClaimTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardPoolBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardPortion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"getStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStakedRank","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakerCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract RewardContract","name":"rewardContract","type":"address"}],"name":"setRewardContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rewardPortion","type":"uint256"}],"name":"setRewardPortion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a0604052600060045569021e19e0c9bab2400000600555600a60065534801561002857600080fd5b5060405161217e38038061217e8339818101604052602081101561004b57600080fd5b8101908080519060200190929190505050600061006c61014760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505061014f565b600033905090565b60805160601c611ffe610180600039806106f05280610a5c528061123852806112fc52806114655250611ffe6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063564bffd7116100ad578063bcee761211610071578063bcee7612146103ee578063c00007b0146103f8578063d11bdeaf14610450578063d854fb7514610484578063f2a0c37a146104a257610121565b8063564bffd7146102bc5780637d608349146103145780638da5cb5b1461035857806394071f281461038c578063a694fc3a146103c057610121565b806345905648116100f457806345905648146101ae5780634da6a556146101e25780634e71d92d1461023a57806351508f0a14610244578063527cb1d71461029e57610121565b80631319649d1461012657806326da9141146101445780632e17de781461016257806338adb6f014610190575b600080fd5b61012e6104c0565b6040518082815260200191505060405180910390f35b61014c6104cd565b6040518082815260200191505060405180910390f35b61018e6004803603602081101561017857600080fd5b81019080803590602001909291905050506104d7565b005b610198610a50565b6040518082815260200191505060405180910390f35b6101b6610a5a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610224600480360360208110156101f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a7e565b6040518082815260200191505060405180910390f35b610242610aca565b005b6102866004803603602081101561025a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d28565b60405180821515815260200191505060405180910390f35b6102a6610ec2565b6040518082815260200191505060405180910390f35b6102fe600480360360208110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ecc565b6040518082815260200191505060405180910390f35b6103406004803603602081101561032a57600080fd5b8101908080359060200190929190505050611049565b60405180821515815260200191505060405180910390f35b61036061118a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103946111b3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103ec600480360360208110156103d657600080fd5b81019080803590602001909291905050506111d9565b005b6103f66117ce565b005b61043a6004803603602081101561040e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061182a565b6040518082815260200191505060405180910390f35b61045861183d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61048c611867565b6040518082815260200191505060405180910390f35b6104aa611911565b6040518082815260200191505060405180910390f35b6000600380549050905090565b6000600654905090565b80600260006104e4611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541015610579576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180611efb6037913960400191505060405180910390fd5b600042905061058f610589611962565b8261196a565b6002600061059b611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555080600260006105e9611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550610686826002600061063a611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611ba190919063ffffffff16565b60026000610692611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506106e882600454611ba190919063ffffffff16565b6004819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610732611962565b846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561078657600080fd5b505af115801561079a573d6000803e3d6000fd5b505050506040513d60208110156107b057600080fd5b8101908080519060200190929190505050610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f42534b545374616b65723a20756e7374616b65206661696c65642e000000000081525060200191505060405180910390fd5b600060026000610841611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156109f05760005b6003805490508110156109ee5761089d611962565b73ffffffffffffffffffffffffffffffffffffffff16600382815481106108c057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109e15760036001600380549050038154811061091c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166003828154811061095457fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060038054806109a757fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556109ee565b8080600101915050610888565b505b7f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75610a19611962565b83604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6000600454905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60004290506000610ae2610adc611962565b8361196a565b90508160026000610af1611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550600060026000610b40611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce8ae9f3610bc7611962565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c1b57600080fd5b505af1158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b8101908080519060200190929190505050610cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42534b545374616b65723a20636c61696d206661696c65642e0000000000000081525060200191505060405180910390fd5b7f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4610cf1611962565b82604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6000610d32611962565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180611f32603f913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000600554905090565b600080600190506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905060005b60038054905081101561103e578473ffffffffffffffffffffffffffffffffffffffff1660038281548110610f4e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561101557506002600060038381548110610fa957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015482105b156110315761102e600184611beb90919063ffffffff16565b92505b8080600101915050610f1d565b508192505050919050565b6000611053611962565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611113576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600a8210158015611125575060648211155b61117a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611eca6031913960400191505060405180910390fd5b8160068190555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600554811015611234576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180611f926037913960400191505060405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112bd57600080fd5b505afa1580156112d1573d6000803e3d6000fd5b505050506040513d60208110156112e757600080fd5b810190808051906020019092919050505090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd61133e611962565b30856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156113b057600080fd5b505af11580156113c4573d6000803e3d6000fd5b505050506040513d60208110156113da57600080fd5b810190808051906020019092919050505061145d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42534b545374616b65723a207374616b65206661696c65642e0000000000000081525060200191505060405180910390fd5b6000611533827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156114ea57600080fd5b505afa1580156114fe573d6000803e3d6000fd5b505050506040513d602081101561151457600080fd5b8101908080519060200190929190505050611ba190919063ffffffff16565b90506000429050600060026000611548611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156115fb576003611596611962565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061165a565b61160c611606611962565b8261196a565b60026000611618611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b8060026000611667611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555061170482600260006116b8611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611beb90919063ffffffff16565b60026000611710611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061176682600454611beb90919063ffffffff16565b6004819055507f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d611795611962565b83604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050565b611820600260006117dd611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546104d7565b611828610aca565b565b6000611836824261196a565b9050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d157600080fd5b505afa1580156118e5573d6000803e3d6000fd5b505050506040513d60208110156118fb57600080fd5b8101908080519060200190929190505050905090565b60006002600061191f611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154905090565b600033905090565b600080600454141561197f5760009050611b9b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156119e957600080fd5b505afa1580156119fd573d6000803e3d6000fd5b505050506040513d6020811015611a1357600080fd5b810190808051906020019092919050505090506000611a7d600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015485611ba190919063ffffffff16565b90506000611aa96064611a9b60065486611c7390919063ffffffff16565b611cf990919063ffffffff16565b90506000611b3d600454611b2f600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611b2162015180611b138989611c7390919063ffffffff16565b611cf990919063ffffffff16565b611c7390919063ffffffff16565b611cf990919063ffffffff16565b9050611b9481600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154611beb90919063ffffffff16565b9450505050505b92915050565b6000611be383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d43565b905092915050565b600080828401905083811015611c69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415611c865760009050611cf3565b6000828402905082848281611c9757fe5b0414611cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611f716021913960400191505060405180910390fd5b809150505b92915050565b6000611d3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e03565b905092915050565b6000838311158290611df0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611db5578082015181840152602081019050611d9a565b50505050905090810190601f168015611de25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611eaf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e74578082015181840152602081019050611e59565b50505050905090810190601f168015611ea15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611ebb57fe5b04905080915050939250505056fe42534b545374616b65723a2072657761726420706f7274696f6e2073686f756c6420626520696e203130207e203130302e42534b545374616b65723a20756e7374616b6520616d6f756e742065786365656465647320746865207374616b656420616d6f756e742e42534b545374616b65723a2072657761726420636f6e747261637420616464726573732073686f756c64206e6f74206265207a65726f20616464726573732e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7742534b545374616b65723a207374616b6520616d6f756e74206973206c657373207468616e206d696e207374616b6520616d6f756e742ea2646970667358221220e348e9775966c5736d4149faa215e8344ba512572b47edcf309fd48d5bba076e64736f6c634300060c0033000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a91
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063564bffd7116100ad578063bcee761211610071578063bcee7612146103ee578063c00007b0146103f8578063d11bdeaf14610450578063d854fb7514610484578063f2a0c37a146104a257610121565b8063564bffd7146102bc5780637d608349146103145780638da5cb5b1461035857806394071f281461038c578063a694fc3a146103c057610121565b806345905648116100f457806345905648146101ae5780634da6a556146101e25780634e71d92d1461023a57806351508f0a14610244578063527cb1d71461029e57610121565b80631319649d1461012657806326da9141146101445780632e17de781461016257806338adb6f014610190575b600080fd5b61012e6104c0565b6040518082815260200191505060405180910390f35b61014c6104cd565b6040518082815260200191505060405180910390f35b61018e6004803603602081101561017857600080fd5b81019080803590602001909291905050506104d7565b005b610198610a50565b6040518082815260200191505060405180910390f35b6101b6610a5a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610224600480360360208110156101f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a7e565b6040518082815260200191505060405180910390f35b610242610aca565b005b6102866004803603602081101561025a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d28565b60405180821515815260200191505060405180910390f35b6102a6610ec2565b6040518082815260200191505060405180910390f35b6102fe600480360360208110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ecc565b6040518082815260200191505060405180910390f35b6103406004803603602081101561032a57600080fd5b8101908080359060200190929190505050611049565b60405180821515815260200191505060405180910390f35b61036061118a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103946111b3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103ec600480360360208110156103d657600080fd5b81019080803590602001909291905050506111d9565b005b6103f66117ce565b005b61043a6004803603602081101561040e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061182a565b6040518082815260200191505060405180910390f35b61045861183d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61048c611867565b6040518082815260200191505060405180910390f35b6104aa611911565b6040518082815260200191505060405180910390f35b6000600380549050905090565b6000600654905090565b80600260006104e4611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541015610579576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180611efb6037913960400191505060405180910390fd5b600042905061058f610589611962565b8261196a565b6002600061059b611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555080600260006105e9611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550610686826002600061063a611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611ba190919063ffffffff16565b60026000610692611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506106e882600454611ba190919063ffffffff16565b6004819055507f000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a9173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610732611962565b846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561078657600080fd5b505af115801561079a573d6000803e3d6000fd5b505050506040513d60208110156107b057600080fd5b8101908080519060200190929190505050610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f42534b545374616b65723a20756e7374616b65206661696c65642e000000000081525060200191505060405180910390fd5b600060026000610841611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156109f05760005b6003805490508110156109ee5761089d611962565b73ffffffffffffffffffffffffffffffffffffffff16600382815481106108c057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109e15760036001600380549050038154811061091c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166003828154811061095457fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060038054806109a757fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556109ee565b8080600101915050610888565b505b7f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75610a19611962565b83604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6000600454905090565b7f000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a9181565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60004290506000610ae2610adc611962565b8361196a565b90508160026000610af1611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550600060026000610b40611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce8ae9f3610bc7611962565b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610c1b57600080fd5b505af1158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b8101908080519060200190929190505050610cc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42534b545374616b65723a20636c61696d206661696c65642e0000000000000081525060200191505060405180910390fd5b7f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4610cf1611962565b82604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6000610d32611962565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180611f32603f913960400191505060405180910390fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000600554905090565b600080600190506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905060005b60038054905081101561103e578473ffffffffffffffffffffffffffffffffffffffff1660038281548110610f4e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561101557506002600060038381548110610fa957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015482105b156110315761102e600184611beb90919063ffffffff16565b92505b8080600101915050610f1d565b508192505050919050565b6000611053611962565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611113576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600a8210158015611125575060648211155b61117a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611eca6031913960400191505060405180910390fd5b8160068190555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600554811015611234576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180611f926037913960400191505060405180910390fd5b60007f000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a9173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156112bd57600080fd5b505afa1580156112d1573d6000803e3d6000fd5b505050506040513d60208110156112e757600080fd5b810190808051906020019092919050505090507f000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a9173ffffffffffffffffffffffffffffffffffffffff166323b872dd61133e611962565b30856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156113b057600080fd5b505af11580156113c4573d6000803e3d6000fd5b505050506040513d60208110156113da57600080fd5b810190808051906020019092919050505061145d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42534b545374616b65723a207374616b65206661696c65642e0000000000000081525060200191505060405180910390fd5b6000611533827f000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a9173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156114ea57600080fd5b505afa1580156114fe573d6000803e3d6000fd5b505050506040513d602081101561151457600080fd5b8101908080519060200190929190505050611ba190919063ffffffff16565b90506000429050600060026000611548611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156115fb576003611596611962565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061165a565b61160c611606611962565b8261196a565b60026000611618611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b8060026000611667611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018190555061170482600260006116b8611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611beb90919063ffffffff16565b60026000611710611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061176682600454611beb90919063ffffffff16565b6004819055507f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d611795611962565b83604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050565b611820600260006117dd611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546104d7565b611828610aca565b565b6000611836824261196a565b9050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d157600080fd5b505afa1580156118e5573d6000803e3d6000fd5b505050506040513d60208110156118fb57600080fd5b8101908080519060200190929190505050905090565b60006002600061191f611962565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154905090565b600033905090565b600080600454141561197f5760009050611b9b565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156119e957600080fd5b505afa1580156119fd573d6000803e3d6000fd5b505050506040513d6020811015611a1357600080fd5b810190808051906020019092919050505090506000611a7d600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015485611ba190919063ffffffff16565b90506000611aa96064611a9b60065486611c7390919063ffffffff16565b611cf990919063ffffffff16565b90506000611b3d600454611b2f600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154611b2162015180611b138989611c7390919063ffffffff16565b611cf990919063ffffffff16565b611c7390919063ffffffff16565b611cf990919063ffffffff16565b9050611b9481600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154611beb90919063ffffffff16565b9450505050505b92915050565b6000611be383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d43565b905092915050565b600080828401905083811015611c69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415611c865760009050611cf3565b6000828402905082848281611c9757fe5b0414611cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611f716021913960400191505060405180910390fd5b809150505b92915050565b6000611d3b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e03565b905092915050565b6000838311158290611df0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611db5578082015181840152602081019050611d9a565b50505050905090810190601f168015611de25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611eaf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e74578082015181840152602081019050611e59565b50505050905090810190601f168015611ea15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611ebb57fe5b04905080915050939250505056fe42534b545374616b65723a2072657761726420706f7274696f6e2073686f756c6420626520696e203130207e203130302e42534b545374616b65723a20756e7374616b6520616d6f756e742065786365656465647320746865207374616b656420616d6f756e742e42534b545374616b65723a2072657761726420636f6e747261637420616464726573732073686f756c64206e6f74206265207a65726f20616464726573732e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7742534b545374616b65723a207374616b6520616d6f756e74206973206c657373207468616e206d696e207374616b6520616d6f756e742ea2646970667358221220e348e9775966c5736d4149faa215e8344ba512572b47edcf309fd48d5bba076e64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a91
-----Decoded View---------------
Arg [0] : bskToken (address): 0xC03841B5135600312707d39Eb2aF0D2aD5d51A91
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c03841b5135600312707d39eb2af0d2ad5d51a91
Deployed Bytecode Sourcemap
3192:7392:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9317:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9162:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5436:1156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8073:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3265:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8814:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6604:487;;;:::i;:::-;;9945:291;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9002:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9466:407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10309:272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2521:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3337:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4261:1163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7103:111;;;:::i;:::-;;8247:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7899:111;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8434:118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8615:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9317:99;9366:7;9393:8;:15;;;;9386:22;;9317:99;:::o;9162:100::-;9213:7;9240:14;;9233:21;;9162:100;:::o;5436:1156::-;5549:6;5509:9;:23;5519:12;:10;:12::i;:::-;5509:23;;;;;;;;;;;;;;;:36;;;:46;;5487:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5651:24;5686:3;5651:39;;5740:42;5751:12;:10;:12::i;:::-;5765:16;5740:10;:42::i;:::-;5701:9;:23;5711:12;:10;:12::i;:::-;5701:23;;;;;;;;;;;;;;;:36;;:81;;;;5838:16;5793:9;:23;5803:12;:10;:12::i;:::-;5793:23;;;;;;;;;;;;;;;:42;;:61;;;;5904:48;5945:6;5904:9;:23;5914:12;:10;:12::i;:::-;5904:23;;;;;;;;;;;;;;;:36;;;:40;;:48;;;;:::i;:::-;5865:9;:23;5875:12;:10;:12::i;:::-;5865:23;;;;;;;;;;;;;;;:36;;:87;;;;5984:30;6007:6;5984:18;;:22;;:30;;;;:::i;:::-;5963:18;:51;;;;6049:9;:18;;;6086:12;:10;:12::i;:::-;6117:6;6049:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6027:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6257:1;6217:9;:23;6227:12;:10;:12::i;:::-;6217:23;;;;;;;;;;;;;;;:36;;;:41;6214:325;;;6279:6;6275:253;6291:8;:15;;;;6289:1;:17;6275:253;;;6350:12;:10;:12::i;:::-;6335:27;;:8;6344:1;6335:11;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;6332:181;;;6401:8;6426:1;6410:8;:15;;;;:17;6401:27;;;;;;;;;;;;;;;;;;;;;;;;;6387:8;6396:1;6387:11;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;6451:8;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6488:5;;6332:181;6308:3;;;;;;;6275:253;;;;6214:325;6554:30;6563:12;:10;:12::i;:::-;6577:6;6554:30;;;;;;;;;;;;;;;;;;;;;;;;;;5436:1156;;:::o;8073:108::-;8128:7;8155:18;;8148:25;;8073:108;:::o;3265:35::-;;;:::o;8814:129::-;8878:7;8905:9;:17;8915:6;8905:17;;;;;;;;;;;;;;;:30;;;8898:37;;8814:129;;;:::o;6604:487::-;6639:24;6674:3;6639:39;;6689:20;6712:42;6723:12;:10;:12::i;:::-;6737:16;6712:10;:42::i;:::-;6689:65;;6810:16;6765:9;:23;6775:12;:10;:12::i;:::-;6765:23;;;;;;;;;;;;;;;:42;;:61;;;;6876:1;6837:9;:23;6847:12;:10;:12::i;:::-;6837:23;;;;;;;;;;;;;;;:36;;:40;;;;6920:15;;;;;;;;;;;:26;;;6947:12;:10;:12::i;:::-;6961;6920:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6898:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7050:33;7056:12;:10;:12::i;:::-;7070;7050:33;;;;;;;;;;;;;;;;;;;;;;;;;;6604:487;;:::o;9945:291::-;10031:4;2656:12;:10;:12::i;:::-;2646:22;;:6;;;;;;;;;;:22;;;2638:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10091:1:::1;10056:37;;10064:14;10056:37;;;;10048:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10192:14;10174:15;;:32;;;;;;;;;;;;;;;;;;10224:4;10217:11;;9945:291:::0;;;:::o;9002:102::-;9054:7;9081:15;;9074:22;;9002:102;:::o;9466:407::-;9529:7;9549:12;9564:1;9549:16;;9576:26;9605:9;:18;9615:7;9605:18;;;;;;;;;;;;;;;:31;;;9576:60;;9661:6;9657:187;9673:8;:15;;;;9671:1;:17;9657:187;;;9728:7;9713:22;;:8;9722:1;9713:11;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;;:82;;;;;9760:9;:22;9770:8;9779:1;9770:11;;;;;;;;;;;;;;;;;;;;;;;;;9760:22;;;;;;;;;;;;;;;:35;;;9739:18;:56;9713:82;9710:122;;;9821:11;9830:1;9821:4;:8;;:11;;;;:::i;:::-;9814:18;;9710:122;9690:3;;;;;;;9657:187;;;;9861:4;9854:11;;;;9466:407;;;:::o;10309:272::-;10386:4;2656:12;:10;:12::i;:::-;2646:22;;:6;;;;;;;;;;:22;;;2638:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10428:2:::1;10411:13;:19;;:43;;;;;10451:3;10434:13;:20;;10411:43;10403:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10538:13;10521:14;:30;;;;10569:4;10562:11;;10309:272:::0;;;:::o;2521:79::-;2559:7;2586:6;;;;;;;;;;;2579:13;;2521:79;:::o;3337:37::-;;;;;;;;;;;;;:::o;4261:1163::-;4342:15;;4332:6;:25;;4310:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4453:22;4478:9;:19;;;4506:4;4478:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4453:59;;4555:9;:22;;;4596:12;:10;:12::i;:::-;4635:4;4659:6;4555:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4533:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4746:24;4773:54;4812:14;4773:9;:19;;;4801:4;4773:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;;:54;;;;:::i;:::-;4746:81;;4838:24;4873:3;4838:39;;4933:1;4893:9;:23;4903:12;:10;:12::i;:::-;4893:23;;;;;;;;;;;;;;;:36;;;:41;4890:196;;;4949:8;4963:12;:10;:12::i;:::-;4949:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4890:196;;;5044:42;5055:12;:10;:12::i;:::-;5069:16;5044:10;:42::i;:::-;5005:9;:23;5015:12;:10;:12::i;:::-;5005:23;;;;;;;;;;;;;;;:36;;:81;;;;4890:196;5142:16;5097:9;:23;5107:12;:10;:12::i;:::-;5097:23;;;;;;;;;;;;;;;:42;;:61;;;;5222:58;5263:16;5222:9;:23;5232:12;:10;:12::i;:::-;5222:23;;;;;;;;;;;;;;;:36;;;:40;;:58;;;;:::i;:::-;5183:9;:23;5193:12;:10;:12::i;:::-;5183:23;;;;;;;;;;;;;;;:36;;:97;;;;5312:40;5335:16;5312:18;;:22;;:40;;;;:::i;:::-;5291:18;:61;;;;5378:38;5385:12;:10;:12::i;:::-;5399:16;5378:38;;;;;;;;;;;;;;;;;;;;;;;;;;4261:1163;;;;:::o;7103:111::-;7143:45;7151:9;:23;7161:12;:10;:12::i;:::-;7151:23;;;;;;;;;;;;;;;:36;;;7143:7;:45::i;:::-;7199:7;:5;:7::i;:::-;7103:111::o;8247:118::-;8306:7;8333:24;8344:7;8353:3;8333:10;:24::i;:::-;8326:31;;8247:118;;;:::o;7899:111::-;7951:7;7986:15;;;;;;;;;;;7971:31;;7899:111;:::o;8434:118::-;8489:7;8516:15;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8509:35;;8434:118;:::o;8615:133::-;8671:7;8698:9;:23;8708:12;:10;:12::i;:::-;8698:23;;;;;;;;;;;;;;;:42;;;8691:49;;8615:133;:::o;1846:106::-;1899:15;1934:10;1927:17;;1846:106;:::o;7226:618::-;7312:7;7357:1;7335:18;;:23;7332:49;;;7380:1;7373:8;;;;7332:49;7392:25;7420:15;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7392:56;;7459:16;7478:59;7499:9;:18;7509:7;7499:18;;;;;;;;;;;;;;;:37;;;7478:16;:20;;:59;;;;:::i;:::-;7459:78;;7548:30;7581:46;7623:3;7581:37;7603:14;;7581:17;:21;;:37;;;;:::i;:::-;:41;;:46;;;;:::i;:::-;7548:79;;7638:20;7661:108;7750:18;;7661:84;7713:9;:18;7723:7;7713:18;;;;;;;;;;;;;;;:31;;;7661:47;7702:5;7661:36;7688:8;7661:22;:26;;:36;;;;:::i;:::-;:40;;:47;;;;:::i;:::-;:51;;:84;;;;:::i;:::-;:88;;:108;;;;:::i;:::-;7638:131;;7787:49;7823:12;7787:9;:18;7797:7;7787:18;;;;;;;;;;;;;;;:31;;;:35;;:49;;;;:::i;:::-;7780:56;;;;;;7226:618;;;;;:::o;273:136::-;331:7;358:43;362:1;365;358:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;351:50;;273:136;;;;:::o;88:179::-;146:7;166:9;182:1;178;:5;166:17;;207:1;202;:6;;194:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;258:1;251:8;;;88:179;;;;:::o;611:467::-;669:7;919:1;914;:6;910:47;;;944:1;937:8;;;;910:47;967:9;983:1;979;:5;967:17;;1012:1;1007;1003;:5;;;;;;:10;995:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1069:1;1062:8;;;611:467;;;;;:::o;1084:132::-;1142:7;1169:39;1173:1;1176;1169:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1162:46;;1084:132;;;;:::o;415:190::-;501:7;534:1;529;:6;;537:12;521:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;561:9;577:1;573;:5;561:17;;596:1;589:8;;;415:190;;;;;:::o;1222:276::-;1308:7;1340:1;1336;:5;1343:12;1328:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1367:9;1383:1;1379;:5;;;;;;1367:17;;1489:1;1482:8;;;1222:276;;;;;:::o
Swarm Source
ipfs://e348e9775966c5736d4149faa215e8344ba512572b47edcf309fd48d5bba076e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.