Source Code
Latest 25 from a total of 287 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw | 21585342 | 345 days ago | IN | 0 ETH | 0.00036257 | ||||
| Exit | 14650327 | 1335 days ago | IN | 0 ETH | 0.00400386 | ||||
| Withdraw | 14016518 | 1433 days ago | IN | 0 ETH | 0.00577399 | ||||
| Get Reward | 14016510 | 1433 days ago | IN | 0 ETH | 0.00918053 | ||||
| Withdraw | 13971254 | 1440 days ago | IN | 0 ETH | 0.00785268 | ||||
| Withdraw | 13955686 | 1443 days ago | IN | 0 ETH | 0.00974658 | ||||
| Withdraw | 13941087 | 1445 days ago | IN | 0 ETH | 0.00855618 | ||||
| Stake | 13912597 | 1449 days ago | IN | 0 ETH | 0.00775006 | ||||
| Withdraw | 13912091 | 1450 days ago | IN | 0 ETH | 0.0060505 | ||||
| Stake | 13910382 | 1450 days ago | IN | 0 ETH | 0.01313075 | ||||
| Get Reward | 13879708 | 1455 days ago | IN | 0 ETH | 0.00275758 | ||||
| Stake | 13866596 | 1457 days ago | IN | 0 ETH | 0.00551954 | ||||
| Get Reward | 13849223 | 1459 days ago | IN | 0 ETH | 0.00568591 | ||||
| Get Reward | 13834525 | 1462 days ago | IN | 0 ETH | 0.00301997 | ||||
| Get Reward | 13833211 | 1462 days ago | IN | 0 ETH | 0.00435233 | ||||
| Withdraw | 13833197 | 1462 days ago | IN | 0 ETH | 0.00410002 | ||||
| Stake | 13822361 | 1463 days ago | IN | 0 ETH | 0.00538012 | ||||
| Get Reward | 13811464 | 1465 days ago | IN | 0 ETH | 0.0059185 | ||||
| Get Reward | 13811464 | 1465 days ago | IN | 0 ETH | 0.00481924 | ||||
| Get Reward | 13811464 | 1465 days ago | IN | 0 ETH | 0.00494573 | ||||
| Get Reward | 13811464 | 1465 days ago | IN | 0 ETH | 0.00674407 | ||||
| Withdraw | 13811096 | 1465 days ago | IN | 0 ETH | 0.01000452 | ||||
| Withdraw | 13795495 | 1468 days ago | IN | 0 ETH | 0.00371925 | ||||
| Withdraw | 13791987 | 1468 days ago | IN | 0 ETH | 0.00615592 | ||||
| Withdraw | 13776852 | 1470 days ago | IN | 0 ETH | 0.00312109 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
StakeBUND
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-03-03
*/
pragma solidity ^0.5.0;
library Math {
function max(uint256 a, uint256 b) internal pure returns (uint256) {
return a >= b ? a : b;
}
function min(uint256 a, uint256 b) internal pure returns (uint256) {
return a < b ? a : b;
}
function average(uint256 a, uint256 b) internal pure returns (uint256) {
return (a / 2) + (b / 2) + (((a % 2) + (b % 2)) / 2);
}
}
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;
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;
}
}
contract Context {
constructor() internal {}
function _msgSender() internal view returns (address payable) {
return msg.sender;
}
function _msgData() internal view returns (bytes memory) {
this;
return msg.data;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() internal {
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(isOwner(), "Ownable: caller is not the owner");
_;
}
function isOwner() public view returns (bool) {
return msg.sender == _owner;
}
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
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 Address {
function isContract(address account) internal view returns (bool) {
bytes32 codehash;
bytes32 accountHash =
0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
assembly {
codehash := extcodehash(account)
}
return (codehash != 0x0 && codehash != accountHash);
}
function toPayable(address account)
internal
pure
returns (address payable)
{
return address(uint160(account));
}
function sendValue(address payable recipient, uint256 amount) internal {
require(
address(this).balance >= amount,
"Address: insufficient balance"
);
(bool success, ) = recipient.call.value(amount)("");
require(
success,
"Address: unable to send value, recipient may have reverted"
);
}
}
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) {
// Return data is optional
require(
abi.decode(returndata, (bool)),
"SafeERC20: ERC20 operation did not succeed"
);
}
}
}
contract LPTokenWrapper is Ownable {
using SafeMath for uint256;
using SafeERC20 for IERC20;
IERC20 public BUND = IERC20(0x8D3E855f3f55109D473735aB76F753218400fe96); // Approve and Transfer for Stake and Withdraw
uint256 private _totalSupply;
mapping(address => uint256) private _balances;
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view returns (uint256) {
return _balances[account];
}
function stake(uint256 amount) public {
_totalSupply = _totalSupply.add(amount);
_balances[msg.sender] = _balances[msg.sender].add(amount);
BUND.safeTransferFrom(msg.sender, address(this), amount);
}
function withdraw(uint256 amount) public {
_totalSupply = _totalSupply.sub(amount);
_balances[msg.sender] = _balances[msg.sender].sub(amount);
BUND.safeTransfer(msg.sender, amount);
}
}
contract StakeBUND is LPTokenWrapper {
IERC20 public bundNFT = IERC20(0x92B3367515a7D2dF838c2ccD9F5e1Fc07D977C20); // Must be changed with Presale
uint256 public constant duration = 30 days;
uint256 public starttime = 1614749400; //-----| Starts immediately after deploy |-----
uint256 public periodFinish = 0;
uint256 public rewardRate = 0;
uint256 public lastUpdateTime;
uint256 public rewardPerTokenStored;
bool firstNotify;
uint256 rewardAmount = 0;
mapping(address => uint256) public userRewardPerTokenPaid;
mapping(address => uint256) public rewards;
event RewardAdded(uint256 reward);
event Staked(address indexed user, uint256 amount);
event Withdrawn(address indexed user, uint256 amount);
event Rewarded(address indexed from, address indexed to, uint256 value);
modifier checkStart() {
require(
block.timestamp >= starttime,
"BUND_BUNDNFT staking pool not started yet."
);
_;
}
modifier updateReward(address account) {
rewardPerTokenStored = rewardPerToken();
lastUpdateTime = lastTimeRewardApplicable();
if (account != address(0)) {
rewards[account] = earned(account);
userRewardPerTokenPaid[account] = rewardPerTokenStored;
}
_;
}
function lastTimeRewardApplicable() public view returns (uint256) {
return Math.min(block.timestamp, periodFinish);
}
function rewardPerToken() public view returns (uint256) {
if (totalSupply() == 0) {
return rewardPerTokenStored;
}
return
rewardPerTokenStored.add(
lastTimeRewardApplicable()
.sub(lastUpdateTime)
.mul(rewardRate)
.mul(1e18)
.div(totalSupply())
);
}
function earned(address account) public view returns (uint256) {
return
balanceOf(account)
.mul(rewardPerToken().sub(userRewardPerTokenPaid[account]))
.div(1e18)
.add(rewards[account]);
}
function stake(uint256 amount) public updateReward(msg.sender) checkStart {
require(amount > 0, "Cannot stake 0");
super.stake(amount);
}
function withdraw(uint256 amount)
public
updateReward(msg.sender)
{
require(amount > 0, "Cannot withdraw 0");
super.withdraw(amount);
}
// withdraw stake and get rewards at once
function exit() external {
withdraw(balanceOf(msg.sender));
getReward();
}
function getReward() public updateReward(msg.sender){
uint256 reward = earned(msg.sender);
if (reward > 0) {
rewards[msg.sender] = 0;
bundNFT.safeTransfer(msg.sender, reward);
}
}
function permitNotifyReward() public view returns (bool) { //-----| If current reward session has completed |---------
if(block.timestamp > starttime.add(duration)){
return true;
}
}
function notifyRewardRate(uint256 _reward) public updateReward(address(0)) onlyOwner{
require(permitNotifyReward() == true || firstNotify == false, "Cannot notify until previous reward session is completed");
rewardRate = _reward.div(duration);
firstNotify = true;
lastUpdateTime = block.timestamp;
starttime = block.timestamp;
periodFinish = block.timestamp.add(duration);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Rewarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"constant":true,"inputs":[],"name":"BUND","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bundNFT","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_reward","type":"uint256"}],"name":"notifyRewardRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"permitNotifyReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"starttime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080604052738d3e855f3f55109d473735ab76f753218400fe96600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507392b3367515a7d2df838c2ccd9f5e1fc07d977c20600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555063603f1ed8600555600060065560006007556000600b55336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3611dfd806101906000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c80637b0a47ee116100de578063a694fc3a11610097578063df136d6511610071578063df136d6514610569578063e9fad8ee14610587578063ebe2b12b14610591578063f2fde38b146105af57610172565b8063a694fc3a146104ff578063c8f33c911461052d578063cd3daf9d1461054b57610172565b80637b0a47ee146103e157806380faa57d146103ff5780638b8763471461041d5780638da58897146104755780638da5cb5b146104935780638f32d59b146104dd57610172565b80632e1a7d4d116101305780632e1a7d4d146102f75780633d18b912146103255780633d52f5931461032f5780634041ef411461035157806370a082311461037f578063715018a6146103d757610172565b80628cc262146101775780630700037d146101cf5780630fb5a6b414610227578063117003fe1461024557806312e9df591461028f57806318160ddd146102d9575b600080fd5b6101b96004803603602081101561018d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b610211600480360360208110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106da565b6040518082815260200191505060405180910390f35b61022f6106f2565b6040518082815260200191505060405180910390f35b61024d6106f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61029761071f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e1610745565b6040518082815260200191505060405180910390f35b6103236004803603602081101561030d57600080fd5b810190808035906020019092919050505061074f565b005b61032d6108b6565b005b610337610a47565b604051808215151515815260200191505060405180910390f35b61037d6004803603602081101561036757600080fd5b8101908080359060200190929190505050610a75565b005b6103c16004803603602081101561039557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cbb565b6040518082815260200191505060405180910390f35b6103df610d04565b005b6103e9610e3d565b6040518082815260200191505060405180910390f35b610407610e43565b6040518082815260200191505060405180910390f35b61045f6004803603602081101561043357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e56565b6040518082815260200191505060405180910390f35b61047d610e6e565b6040518082815260200191505060405180910390f35b61049b610e74565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e5610e9d565b604051808215151515815260200191505060405180910390f35b61052b6004803603602081101561051557600080fd5b8101908080359060200190929190505050610ef4565b005b6105356110b6565b6040518082815260200191505060405180910390f35b6105536110bc565b6040518082815260200191505060405180910390f35b610571611154565b6040518082815260200191505060405180910390f35b61058f61115a565b005b610599611175565b6040518082815260200191505060405180910390f35b6105f1600480360360208110156105c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117b565b005b60006106d3600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106c5670de0b6b3a76400006106b76106a0600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106926110bc565b61120190919063ffffffff16565b6106a988610cbb565b61124b90919063ffffffff16565b6112d190919063ffffffff16565b61131b90919063ffffffff16565b9050919050565b600d6020528060005260406000206000915090505481565b62278d0081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b336107586110bc565b600981905550610766610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610833576107a9816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600082116108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b6108b2826113a3565b5050565b336108bf6110bc565b6009819055506108cd610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461099a57610910816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006109a5336105f3565b90506000811115610a43576000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a423382600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114a39092919063ffffffff16565b5b5050565b6000610a6162278d0060055461131b90919063ffffffff16565b421115610a715760019050610a72565b5b90565b6000610a7f6110bc565b600981905550610a8d610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b5a57610ad0816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b62610e9d565b610bd4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515610be0610a47565b15151480610c01575060001515600a60009054906101000a900460ff161515145b610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180611cf66038913960400191505060405180910390fd5b610c6c62278d00836112d190919063ffffffff16565b6007819055506001600a60006101000a81548160ff0219169083151502179055504260088190555042600581905550610cb162278d004261131b90919063ffffffff16565b6006819055505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d0c610e9d565b610d7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b6000610e5142600654611574565b905090565b600c6020528060005260406000206000915090505481565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b33610efd6110bc565b600981905550610f0b610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fd857610f4e816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600554421015611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611d54602a913960400191505060405180910390fd5b600082116110a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f43616e6e6f74207374616b65203000000000000000000000000000000000000081525060200191505060405180910390fd5b6110b28261158d565b5050565b60085481565b6000806110c7610745565b14156110d7576009549050611151565b61114e61113d6110e5610745565b61112f670de0b6b3a7640000611121600754611113600854611105610e43565b61120190919063ffffffff16565b61124b90919063ffffffff16565b61124b90919063ffffffff16565b6112d190919063ffffffff16565b60095461131b90919063ffffffff16565b90505b90565b60095481565b61116b61116633610cbb565b61074f565b6111736108b6565b565b60065481565b611183610e9d565b6111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6111fe8161168f565b50565b600061124383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117d3565b905092915050565b60008083141561125e57600090506112cb565b600082840290508284828161126f57fe5b04146112c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d7e6021913960400191505060405180910390fd5b809150505b92915050565b600061131383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611893565b905092915050565b600080828401905083811015611399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6113b88160025461120190919063ffffffff16565b60028190555061141081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114a03382600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114a39092919063ffffffff16565b50565b61156f838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611959565b505050565b60008183106115835781611585565b825b905092915050565b6115a28160025461131b90919063ffffffff16565b6002819055506115fa81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461131b90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061168c333083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ba4909392919063ffffffff16565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611715576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611d2e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000838311158290611880576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561184557808201518184015260208101905061182a565b50505050905090810190601f1680156118725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808311829061193f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156119045780820151818401526020810190506118e9565b50505050905090810190601f1680156119315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161194b57fe5b049050809150509392505050565b6119788273ffffffffffffffffffffffffffffffffffffffff16611caa565b6119ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310611a395780518252602082019150602081019050602083039250611a16565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611a9b576040519150601f19603f3d011682016040523d82523d6000602084013e611aa0565b606091505b509150915081611b18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115611b9e57808060200190516020811015611b3757600080fd5b8101908080519060200190929190505050611b9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611d9f602a913960400191505060405180910390fd5b5b50505050565b611ca4848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611959565b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015611cec5750808214155b9250505091905056fe43616e6e6f74206e6f7469667920756e74696c2070726576696f7573207265776172642073657373696f6e20697320636f6d706c657465644f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342554e445f42554e444e4654207374616b696e6720706f6f6c206e6f742073746172746564207965742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582021e04d350deafdcd1944a122a60b2ecf2dd1e1ce1214d5a5c68726416444e9c264736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101725760003560e01c80637b0a47ee116100de578063a694fc3a11610097578063df136d6511610071578063df136d6514610569578063e9fad8ee14610587578063ebe2b12b14610591578063f2fde38b146105af57610172565b8063a694fc3a146104ff578063c8f33c911461052d578063cd3daf9d1461054b57610172565b80637b0a47ee146103e157806380faa57d146103ff5780638b8763471461041d5780638da58897146104755780638da5cb5b146104935780638f32d59b146104dd57610172565b80632e1a7d4d116101305780632e1a7d4d146102f75780633d18b912146103255780633d52f5931461032f5780634041ef411461035157806370a082311461037f578063715018a6146103d757610172565b80628cc262146101775780630700037d146101cf5780630fb5a6b414610227578063117003fe1461024557806312e9df591461028f57806318160ddd146102d9575b600080fd5b6101b96004803603602081101561018d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f3565b6040518082815260200191505060405180910390f35b610211600480360360208110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106da565b6040518082815260200191505060405180910390f35b61022f6106f2565b6040518082815260200191505060405180910390f35b61024d6106f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61029761071f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102e1610745565b6040518082815260200191505060405180910390f35b6103236004803603602081101561030d57600080fd5b810190808035906020019092919050505061074f565b005b61032d6108b6565b005b610337610a47565b604051808215151515815260200191505060405180910390f35b61037d6004803603602081101561036757600080fd5b8101908080359060200190929190505050610a75565b005b6103c16004803603602081101561039557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cbb565b6040518082815260200191505060405180910390f35b6103df610d04565b005b6103e9610e3d565b6040518082815260200191505060405180910390f35b610407610e43565b6040518082815260200191505060405180910390f35b61045f6004803603602081101561043357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e56565b6040518082815260200191505060405180910390f35b61047d610e6e565b6040518082815260200191505060405180910390f35b61049b610e74565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e5610e9d565b604051808215151515815260200191505060405180910390f35b61052b6004803603602081101561051557600080fd5b8101908080359060200190929190505050610ef4565b005b6105356110b6565b6040518082815260200191505060405180910390f35b6105536110bc565b6040518082815260200191505060405180910390f35b610571611154565b6040518082815260200191505060405180910390f35b61058f61115a565b005b610599611175565b6040518082815260200191505060405180910390f35b6105f1600480360360208110156105c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117b565b005b60006106d3600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106c5670de0b6b3a76400006106b76106a0600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546106926110bc565b61120190919063ffffffff16565b6106a988610cbb565b61124b90919063ffffffff16565b6112d190919063ffffffff16565b61131b90919063ffffffff16565b9050919050565b600d6020528060005260406000206000915090505481565b62278d0081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b336107586110bc565b600981905550610766610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610833576107a9816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600082116108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b6108b2826113a3565b5050565b336108bf6110bc565b6009819055506108cd610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461099a57610910816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006109a5336105f3565b90506000811115610a43576000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a423382600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114a39092919063ffffffff16565b5b5050565b6000610a6162278d0060055461131b90919063ffffffff16565b421115610a715760019050610a72565b5b90565b6000610a7f6110bc565b600981905550610a8d610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b5a57610ad0816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b62610e9d565b610bd4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60011515610be0610a47565b15151480610c01575060001515600a60009054906101000a900460ff161515145b610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180611cf66038913960400191505060405180910390fd5b610c6c62278d00836112d190919063ffffffff16565b6007819055506001600a60006101000a81548160ff0219169083151502179055504260088190555042600581905550610cb162278d004261131b90919063ffffffff16565b6006819055505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d0c610e9d565b610d7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b6000610e5142600654611574565b905090565b600c6020528060005260406000206000915090505481565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b33610efd6110bc565b600981905550610f0b610e43565b600881905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fd857610f4e816105f3565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600554421015611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611d54602a913960400191505060405180910390fd5b600082116110a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f43616e6e6f74207374616b65203000000000000000000000000000000000000081525060200191505060405180910390fd5b6110b28261158d565b5050565b60085481565b6000806110c7610745565b14156110d7576009549050611151565b61114e61113d6110e5610745565b61112f670de0b6b3a7640000611121600754611113600854611105610e43565b61120190919063ffffffff16565b61124b90919063ffffffff16565b61124b90919063ffffffff16565b6112d190919063ffffffff16565b60095461131b90919063ffffffff16565b90505b90565b60095481565b61116b61116633610cbb565b61074f565b6111736108b6565b565b60065481565b611183610e9d565b6111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6111fe8161168f565b50565b600061124383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117d3565b905092915050565b60008083141561125e57600090506112cb565b600082840290508284828161126f57fe5b04146112c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d7e6021913960400191505060405180910390fd5b809150505b92915050565b600061131383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611893565b905092915050565b600080828401905083811015611399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6113b88160025461120190919063ffffffff16565b60028190555061141081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114a03382600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114a39092919063ffffffff16565b50565b61156f838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611959565b505050565b60008183106115835781611585565b825b905092915050565b6115a28160025461131b90919063ffffffff16565b6002819055506115fa81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461131b90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061168c333083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ba4909392919063ffffffff16565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611715576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611d2e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000838311158290611880576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561184557808201518184015260208101905061182a565b50505050905090810190601f1680156118725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808311829061193f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156119045780820151818401526020810190506118e9565b50505050905090810190601f1680156119315780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161194b57fe5b049050809150509392505050565b6119788273ffffffffffffffffffffffffffffffffffffffff16611caa565b6119ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310611a395780518252602082019150602081019050602083039250611a16565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611a9b576040519150601f19603f3d011682016040523d82523d6000602084013e611aa0565b606091505b509150915081611b18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115611b9e57808060200190516020811015611b3757600080fd5b8101908080519060200190929190505050611b9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180611d9f602a913960400191505060405180910390fd5b5b50505050565b611ca4848573ffffffffffffffffffffffffffffffffffffffff166323b872dd905060e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611959565b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015611cec5750808214155b9250505091905056fe43616e6e6f74206e6f7469667920756e74696c2070726576696f7573207265776172642073657373696f6e20697320636f6d706c657465644f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737342554e445f42554e444e4654207374616b696e6720706f6f6c206e6f742073746172746564207965742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582021e04d350deafdcd1944a122a60b2ecf2dd1e1ce1214d5a5c68726416444e9c264736f6c63430005110032
Deployed Bytecode Sourcemap
8782:3765:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8782:3765:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10780:265;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10780:265:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9402:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9402:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8939;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8826:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7888:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8104:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11221:181;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11221:181:0;;;;;;;;;;;;;;;;;:::i;:::-;;11562:259;;;:::i;:::-;;11829:241;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12079:465;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12079:465:0;;;;;;;;;;;;;;;;;:::i;:::-;;8203:110;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8203:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2879:140;;;:::i;:::-;;9164:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10213:131;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9338:57;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9338:57:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8994:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2578:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2779:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11053:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11053:160:0;;;;;;;;;;;;;;;;;:::i;:::-;;9200:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10352:420;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9236:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11457:97;;;:::i;:::-;;9126:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3027:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3027:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10780:265;10834:7;10874:163;11020:7;:16;11028:7;11020:16;;;;;;;;;;;;;;;;10874:123;10992:4;10874:95;10915:53;10936:22;:31;10959:7;10936:31;;;;;;;;;;;;;;;;10915:16;:14;:16::i;:::-;:20;;:53;;;;:::i;:::-;10874:18;10884:7;10874:9;:18::i;:::-;:40;;:95;;;;:::i;:::-;:117;;:123;;;;:::i;:::-;:145;;:163;;;;:::i;:::-;10854:183;;10780:265;;;:::o;9402:42::-;;;;;;;;;;;;;;;;;:::o;8939:::-;8974:7;8939:42;:::o;8826:74::-;;;;;;;;;;;;;:::o;7888:71::-;;;;;;;;;;;;;:::o;8104:91::-;8148:7;8175:12;;8168:19;;8104:91;:::o;11221:181::-;11293:10;9944:16;:14;:16::i;:::-;9921:20;:39;;;;9988:26;:24;:26::i;:::-;9971:14;:43;;;;10048:1;10029:21;;:7;:21;;;10025:157;;10086:15;10093:7;10086:6;:15::i;:::-;10067:7;:16;10075:7;10067:16;;;;;;;;;;;;;;;:34;;;;10150:20;;10116:22;:31;10139:7;10116:31;;;;;;;;;;;;;;;:54;;;;10025:157;11338:1;11329:6;:10;11321:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11372:22;11387:6;11372:14;:22::i;:::-;11221:181;;:::o;11562:259::-;11603:10;9944:16;:14;:16::i;:::-;9921:20;:39;;;;9988:26;:24;:26::i;:::-;9971:14;:43;;;;10048:1;10029:21;;:7;:21;;;10025:157;;10086:15;10093:7;10086:6;:15::i;:::-;10067:7;:16;10075:7;10067:16;;;;;;;;;;;;;;;:34;;;;10150:20;;10116:22;:31;10139:7;10116:31;;;;;;;;;;;;;;;:54;;;;10025:157;11625:14;11642:18;11649:10;11642:6;:18::i;:::-;11625:35;;11686:1;11677:6;:10;11673:131;;;11726:1;11704:7;:19;11712:10;11704:19;;;;;;;;;;;;;;;:23;;;;11752:40;11773:10;11785:6;11752:7;;;;;;;;;;;:20;;;;:40;;;;;:::i;:::-;11673:131;10192:1;11562:259;:::o;11829:241::-;11880:4;11991:23;8974:7;11991:9;;:13;;:23;;;;:::i;:::-;11973:15;:41;11970:82;;;12036:4;12029:11;;;;11970:82;11829:241;;:::o;12079:465::-;12150:1;9944:16;:14;:16::i;:::-;9921:20;:39;;;;9988:26;:24;:26::i;:::-;9971:14;:43;;;;10048:1;10029:21;;:7;:21;;;10025:157;;10086:15;10093:7;10086:6;:15::i;:::-;10067:7;:16;10075:7;10067:16;;;;;;;;;;;;;;;:34;;;;10150:20;;10116:22;:31;10139:7;10116:31;;;;;;;;;;;;;;;:54;;;;10025:157;2705:9;:7;:9::i;:::-;2697:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12215:4;12191:28;;:20;:18;:20::i;:::-;:28;;;:52;;;;12238:5;12223:20;;:11;;;;;;;;;;;:20;;;12191:52;12183:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12338:21;8974:7;12338;:11;;:21;;;;:::i;:::-;12325:10;:34;;;;12393:4;12379:11;;:18;;;;;;;;;;;;;;;;;;12425:15;12408:14;:32;;;;12463:15;12451:9;:27;;;;12505:29;8974:7;12505:15;:19;;:29;;;;:::i;:::-;12490:12;:44;;;;12079:465;;:::o;8203:110::-;8260:7;8287:9;:18;8297:7;8287:18;;;;;;;;;;;;;;;;8280:25;;8203:110;;;:::o;2879:140::-;2705:9;:7;:9::i;:::-;2697:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2978:1;2941:40;;2962:6;;;;;;;;;;;2941:40;;;;;;;;;;;;3009:1;2992:6;;:19;;;;;;;;;;;;;;;;;;2879:140::o;9164:29::-;;;;:::o;10213:131::-;10270:7;10297:39;10306:15;10323:12;;10297:8;:39::i;:::-;10290:46;;10213:131;:::o;9338:57::-;;;;;;;;;;;;;;;;;:::o;8994:37::-;;;;:::o;2578:79::-;2616:7;2643:6;;;;;;;;;;;2636:13;;2578:79;:::o;2779:92::-;2819:4;2857:6;;;;;;;;;;;2843:20;;:10;:20;;;2836:27;;2779:92;:::o;11053:160::-;11104:10;9944:16;:14;:16::i;:::-;9921:20;:39;;;;9988:26;:24;:26::i;:::-;9971:14;:43;;;;10048:1;10029:21;;:7;:21;;;10025:157;;10086:15;10093:7;10086:6;:15::i;:::-;10067:7;:16;10075:7;10067:16;;;;;;;;;;;;;;;:34;;;;10150:20;;10116:22;:31;10139:7;10116:31;;;;;;;;;;;;;;;:54;;;;10025:157;9764:9;;9745:15;:28;;9723:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11155:1;11146:6;:10;11138:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11186:19;11198:6;11186:11;:19::i;:::-;11053:160;;:::o;9200:29::-;;;;:::o;10352:420::-;10399:7;10440:1;10423:13;:11;:13::i;:::-;:18;10419:78;;;10465:20;;10458:27;;;;10419:78;10527:237;10570:179;10735:13;:11;:13::i;:::-;10570:138;10703:4;10570:106;10665:10;;10570:68;10623:14;;10570:26;:24;:26::i;:::-;:52;;:68;;;;:::i;:::-;:94;;:106;;;;:::i;:::-;:132;;:138;;;;:::i;:::-;:164;;:179;;;;:::i;:::-;10527:20;;:24;;:237;;;;:::i;:::-;10507:257;;10352:420;;:::o;9236:35::-;;;;:::o;11457:97::-;11493:31;11502:21;11512:10;11502:9;:21::i;:::-;11493:8;:31::i;:::-;11535:11;:9;:11::i;:::-;11457:97::o;9126:31::-;;;;:::o;3027:109::-;2705:9;:7;:9::i;:::-;2697:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:28;3119:8;3100:18;:28::i;:::-;3027:109;:::o;640:136::-;698:7;725:43;729:1;732;725:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;718:50;;640:136;;;;:::o;1018:250::-;1076:7;1105:1;1100;:6;1096:47;;;1130:1;1123:8;;;;1096:47;1155:9;1171:1;1167;:5;1155:17;;1200:1;1195;1191;:5;;;;;;:10;1183:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1259:1;1252:8;;;1018:250;;;;;:::o;1276:132::-;1334:7;1361:39;1365:1;1368;1361:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1354:46;;1276:132;;;;:::o;451:181::-;509:7;529:9;545:1;541;:5;529:17;;570:1;565;:6;;557:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;623:1;616:8;;;451:181;;;;:::o;8560:215::-;8627:24;8644:6;8627:12;;:16;;:24;;;;:::i;:::-;8612:12;:39;;;;8686:33;8712:6;8686:9;:21;8696:10;8686:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;8662:9;:21;8672:10;8662:21;;;;;;;;;;;;;;;:57;;;;8730:37;8748:10;8760:6;8730:4;;;;;;;;;;;:17;;;;:37;;;;;:::i;:::-;8560:215;:::o;5260:247::-;5377:122;5410:5;5453;:14;;;:23;;;;5478:2;5482:5;5430:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5430:58:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;5430:58:0;5377:18;:122::i;:::-;5260:247;;;:::o;164:106::-;222:7;253:1;249;:5;:13;;261:1;249:13;;;257:1;249:13;242:20;;164:106;;;;:::o;8321:231::-;8385:24;8402:6;8385:12;;:16;;:24;;;;:::i;:::-;8370:12;:39;;;;8444:33;8470:6;8444:9;:21;8454:10;8444:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;8420:9;:21;8430:10;8420:21;;;;;;;;;;;;;;;:57;;;;8488:56;8510:10;8530:4;8537:6;8488:4;;;;;;;;;;;:21;;;;:56;;;;;;:::i;:::-;8321:231;:::o;3144:266::-;3252:1;3232:22;;:8;:22;;;;3210:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3365:8;3336:38;;3357:6;;;;;;;;;;;3336:38;;;;;;;;;;;;3394:8;3385:6;;:17;;;;;;;;;;;;;;;;;;3144:266;:::o;784:226::-;904:7;937:1;932;:6;;940:12;924:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;924:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;964:9;980:1;976;:5;964:17;;1001:1;994:8;;;784:226;;;;;:::o;1416:225::-;1536:7;1568:1;1564;:5;1571:12;1556:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1556:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1595:9;1611:1;1607;:5;;;;;;1595:17;;1632:1;1625:8;;;1416:225;;;;;:::o;7227:544::-;7315:27;7323:5;7315:25;;;:27::i;:::-;7307:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7392:12;7406:23;7441:5;7433:19;;7453:4;7433:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7433:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;7391:67:0;;;;7477:7;7469:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7558:1;7538:10;:17;:21;7534:230;;;7655:10;7644:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7644:30:0;;;;;;;;;;;;;;;;7618:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7534:230;7227:544;;;;:::o;5515:284::-;5659:132;5692:5;5735;:18;;;:27;;;;5764:4;5770:2;5774:5;5712:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5712:68:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;5712:68:0;5659:18;:132::i;:::-;5515:284;;;;:::o;4242:354::-;4302:4;4319:16;4346:19;4381:66;4346:101;;;;4508:7;4496:20;4484:32;;4557:3;4545:15;;:8;:15;;:42;;;;;4576:11;4564:8;:23;;4545:42;4537:51;;;;4242:354;;;:::o
Swarm Source
bzzr://21e04d350deafdcd1944a122a60b2ecf2dd1e1ce1214d5a5c68726416444e9c2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.00 | 775.7972 | $0.00 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.