More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,183 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exit | 20269672 | 4 days ago | IN | 0 ETH | 0.00092026 | ||||
Exit | 20015112 | 39 days ago | IN | 0 ETH | 0.00050725 | ||||
Stake | 19951963 | 48 days ago | IN | 0 ETH | 0.00034685 | ||||
Withdraw | 19802504 | 69 days ago | IN | 0 ETH | 0.00035561 | ||||
Get Reward | 19802497 | 69 days ago | IN | 0 ETH | 0.00037836 | ||||
Exit | 19624359 | 94 days ago | IN | 0 ETH | 0.00123853 | ||||
Exit | 19588191 | 99 days ago | IN | 0 ETH | 0.00125901 | ||||
Exit | 19396360 | 126 days ago | IN | 0 ETH | 0.00407769 | ||||
Withdraw | 19171798 | 157 days ago | IN | 0 ETH | 0.00205637 | ||||
Get Reward | 19171793 | 157 days ago | IN | 0 ETH | 0.00220598 | ||||
Stake | 19058228 | 173 days ago | IN | 0 ETH | 0.00123662 | ||||
Withdraw | 18886093 | 197 days ago | IN | 0 ETH | 0.00207175 | ||||
Withdraw | 18851070 | 202 days ago | IN | 0 ETH | 0.00190494 | ||||
Withdraw | 18851054 | 202 days ago | IN | 0 ETH | 0.00177655 | ||||
Withdraw | 18851038 | 202 days ago | IN | 0 ETH | 0.00196631 | ||||
Withdraw | 18847034 | 203 days ago | IN | 0 ETH | 0.00145278 | ||||
Get Reward | 18847013 | 203 days ago | IN | 0 ETH | 0.00144795 | ||||
Exit | 18846710 | 203 days ago | IN | 0 ETH | 0.00190967 | ||||
Withdraw | 18763729 | 215 days ago | IN | 0 ETH | 0.00433436 | ||||
Exit | 18718153 | 221 days ago | IN | 0 ETH | 0.00325921 | ||||
Withdraw | 18528000 | 248 days ago | IN | 0 ETH | 0.00356691 | ||||
Stake | 18483169 | 254 days ago | IN | 0 ETH | 0.00136521 | ||||
Get Reward | 18483162 | 254 days ago | IN | 0 ETH | 0.00127176 | ||||
Exit | 18458659 | 257 days ago | IN | 0 ETH | 0.00112987 | ||||
Exit | 18403506 | 265 days ago | IN | 0 ETH | 0.00055854 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
BCUGStake
Compiler Version
v0.8.1+commit.df193b15
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-22 */ // SPDX-License-Identifier: -- 🐱 -- pragma solidity ^0.8.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) { require(b <= a, 'SafeMath: subtraction overflow'); 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) { require(b > 0, 'SafeMath: division by zero'); 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) { require(b != 0, 'SafeMath: modulo by zero'); return a % b; } } 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); } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { 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() { _owner = _msgSender(); 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 _msgSender() == _owner; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred( _owner, address(0x0) ); _owner = address(0x0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require( newOwner != address(0x0), '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) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; assembly { size := extcodesize(account) } return size > 0; } } 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); callOptionalReturn( token, abi.encodeWithSelector( token.approve.selector, spender, newAllowance ) ); } function callOptionalReturn(IERC20 token, bytes memory data) private { require(address(token).isContract(), 'SafeERC20: call to non-contract'); (bool success, bytes memory returndata) = address(token).call(data); require(success, 'SafeERC20: low-level call failed'); if (returndata.length > 0) { require(abi.decode(returndata, (bool)), 'SafeERC20: ERC20 operation did not succeed'); } } } contract LPTokenWrapper { using SafeMath for uint256; using SafeERC20 for IERC20; IERC20 public lp = IERC20(0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF); 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) internal { _totalSupply = _totalSupply.add(amount); _balances[msg.sender] = _balances[msg.sender].add(amount); lp.safeTransferFrom(msg.sender, address(this), amount); } function _withdraw(uint256 amount) internal { _totalSupply = _totalSupply.sub(amount); _balances[msg.sender] = _balances[msg.sender].sub(amount); lp.safeTransfer(msg.sender, amount); } } contract BCUGStake is LPTokenWrapper, Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; IERC20 public bcug = IERC20(0x14Da7b27b2E0FedEfe0a664118b0c9bc68e2E9AF); uint256 public constant DURATION = 4 weeks; uint256 public periodFinish; uint256 public rewardRate; uint256 public lastUpdateTime; uint256 public rewardPerTokenStored; 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 RewardPaid(address indexed user, uint256 reward); 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) { require(amount > 0, 'Cannot stake 0'); _stake(amount); emit Staked(msg.sender, amount); } function withdraw(uint256 amount) public updateReward(msg.sender) { require(amount > 0, 'Cannot withdraw 0'); _withdraw(amount); emit Withdrawn(msg.sender, amount); } function exit() external { withdraw(balanceOf(msg.sender)); getReward(); } function getReward() public updateReward(msg.sender) returns (uint256 reward) { reward = earned(msg.sender); if (reward > 0) { rewards[msg.sender] = 0; bcug.safeTransfer(msg.sender, reward); emit RewardPaid(msg.sender, reward); } } function notifyRewardAmount(uint256 reward) external onlyOwner updateReward(address(0x0)) { if (block.timestamp >= periodFinish) { rewardRate = reward.div(DURATION); } else { uint256 remaining = periodFinish.sub(block.timestamp); uint256 leftover = remaining.mul(rewardRate); rewardRate = reward.add(leftover).div(DURATION); } lastUpdateTime = block.timestamp; periodFinish = block.timestamp.add(DURATION); emit RewardAdded(reward); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","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"},{"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bcug","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getReward","outputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600080547314da7b27b2e0fedefe0a664118b0c9bc68e2e9af6001600160a01b0319918216811790925560048054909116909117905534801561004657600080fd5b5061004f6100a0565b600380546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100a4565b3390565b611018806100b36000396000f3fe608060405234801561001057600080fd5b506004361061014c5760003560e01c806380faa57d116100c3578063cd3daf9d1161007c578063cd3daf9d14610258578063df136d6514610260578063e9fad8ee14610268578063ebe2b12b14610270578063f2fde38b14610278578063fbff7d031461028b5761014c565b806380faa57d146102055780638b8763471461020d5780638da5cb5b146102205780638f32d59b14610228578063a694fc3a1461023d578063c8f33c91146102505761014c565b8063313c06a011610115578063313c06a0146101b25780633c6b16ab146101c75780633d18b912146101da57806370a08231146101e2578063715018a6146101f55780637b0a47ee146101fd5761014c565b80628cc262146101515780630700037d1461017a57806318160ddd1461018d5780631be05289146101955780632e1a7d4d1461019d575b600080fd5b61016461015f366004610bf7565b610293565b6040516101719190610f55565b60405180910390f35b610164610188366004610bf7565b610301565b610164610313565b61016461031a565b6101b06101ab366004610c3e565b610321565b005b6101ba6103f3565b6040516101719190610c8f565b6101b06101d5366004610c3e565b610402565b610164610534565b6101646101f0366004610bf7565b610611565b6101b061062c565b61016461069a565b6101646106a0565b61016461021b366004610bf7565b6106b3565b6101ba6106c5565b6102306106d4565b6040516101719190610ce0565b6101b061024b366004610c3e565b6106fa565b6101646107b7565b6101646107bd565b61016461080b565b6101b0610811565b610164610828565b6101b0610286366004610bf7565b61082e565b6101ba61085b565b6001600160a01b0381166000908152600a602090815260408083205460099092528220546102fb91906102f590670de0b6b3a7640000906102ef906102e0906102da6107bd565b9061086a565b6102e988610611565b906108a0565b906108ec565b90610919565b92915050565b600a6020526000908152604090205481565b6001545b90565b6224ea0081565b3361032a6107bd565b6008556103356106a0565b6007556001600160a01b0381161561037c5761035081610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b600082116103a55760405162461bcd60e51b815260040161039c90610e33565b60405180910390fd5b6103ae82610948565b336001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040516103e79190610f55565b60405180910390a25050565b6000546001600160a01b031681565b61040a6106d4565b6104265760405162461bcd60e51b815260040161039c90610e9f565b60006104306107bd565b60085561043b6106a0565b6007556001600160a01b038116156104825761045681610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b60055442106104a057610498826224ea006108ec565b6006556104e2565b6005546000906104b0904261086a565b905060006104c9600654836108a090919063ffffffff16565b90506104dc6224ea006102ef8684610919565b60065550505b4260078190556104f5906224ea00610919565b6005556040517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d90610528908490610f55565b60405180910390a15050565b60003361053f6107bd565b60085561054a6106a0565b6007556001600160a01b038116156105915761056581610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b61059a33610293565b9150811561060d57336000818152600a60205260408120556004546105cb916001600160a01b039091169084610999565b336001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486836040516106049190610f55565b60405180910390a25b5090565b6001600160a01b031660009081526002602052604090205490565b6106346106d4565b6106505760405162461bcd60e51b815260040161039c90610e9f565b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60065481565b60006106ae426005546109f4565b905090565b60096020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166106eb610a0a565b6001600160a01b031614905090565b336107036107bd565b60085561070e6106a0565b6007556001600160a01b038116156107555761072981610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b600082116107755760405162461bcd60e51b815260040161039c90610d31565b61077e82610a0e565b336001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d836040516103e79190610f55565b60075481565b60006107c7610313565b6107d45750600854610317565b6106ae6108026107e2610313565b6102ef670de0b6b3a76400006102e96006546102e96007546102da6106a0565b60085490610919565b60085481565b61081d6101ab33610611565b610825610534565b50565b60055481565b6108366106d4565b6108525760405162461bcd60e51b815260040161039c90610e9f565b61082581610a64565b6004546001600160a01b031681565b60008282111561088c5760405162461bcd60e51b815260040161039c90610dc5565b60006108988385610fb5565b949350505050565b6000826108af575060006102fb565b60006108bb8385610f96565b9050826108c88583610f76565b146108e55760405162461bcd60e51b815260040161039c90610e5e565b9392505050565b600080821161090d5760405162461bcd60e51b815260040161039c90610dfc565b60006108988385610f76565b6000806109268385610f5e565b9050838110156108e55760405162461bcd60e51b815260040161039c90610d59565b600154610955908261086a565b60015533600090815260026020526040902054610972908261086a565b336000818152600260205260408120929092559054610825916001600160a01b0390911690835b6109ef8363a9059cbb60e01b84846040516024016109b8929190610cc7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ae6565b505050565b6000818310610a0357816108e5565b5090919050565b3390565b600154610a1b9082610919565b60015533600090815260026020526040902054610a389082610919565b336000818152600260205260408120929092559054610825916001600160a01b03909116903084610bd0565b6001600160a01b038116610a8a5760405162461bcd60e51b815260040161039c90610ceb565b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b610af8826001600160a01b0316610bf1565b610b145760405162461bcd60e51b815260040161039c90610f1e565b600080836001600160a01b031683604051610b2f9190610c56565b6000604051808303816000865af19150503d8060008114610b6c576040519150601f19603f3d011682016040523d82523d6000602084013e610b71565b606091505b509150915081610b935760405162461bcd60e51b815260040161039c90610d90565b805115610bca5780806020019051810190610bae9190610c1e565b610bca5760405162461bcd60e51b815260040161039c90610ed4565b50505050565b610bca846323b872dd60e01b8585856040516024016109b893929190610ca3565b3b151590565b600060208284031215610c08578081fd5b81356001600160a01b03811681146108e5578182fd5b600060208284031215610c2f578081fd5b815180151581146108e5578182fd5b600060208284031215610c4f578081fd5b5035919050565b60008251815b81811015610c765760208186018101518583015201610c5c565b81811115610c845782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252600e908201526d043616e6e6f74207374616b6520360941b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b602080825260119082015270043616e6e6f74207769746864726177203607c1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604082015260600190565b90815260200190565b60008219821115610f7157610f71610fcc565b500190565b600082610f9157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610fb057610fb0610fcc565b500290565b600082821015610fc757610fc7610fcc565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212203b06e9334d35a53fbde1168979a060b0215c755c0cd0bedbf7e90925318df9d464736f6c63430008010033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014c5760003560e01c806380faa57d116100c3578063cd3daf9d1161007c578063cd3daf9d14610258578063df136d6514610260578063e9fad8ee14610268578063ebe2b12b14610270578063f2fde38b14610278578063fbff7d031461028b5761014c565b806380faa57d146102055780638b8763471461020d5780638da5cb5b146102205780638f32d59b14610228578063a694fc3a1461023d578063c8f33c91146102505761014c565b8063313c06a011610115578063313c06a0146101b25780633c6b16ab146101c75780633d18b912146101da57806370a08231146101e2578063715018a6146101f55780637b0a47ee146101fd5761014c565b80628cc262146101515780630700037d1461017a57806318160ddd1461018d5780631be05289146101955780632e1a7d4d1461019d575b600080fd5b61016461015f366004610bf7565b610293565b6040516101719190610f55565b60405180910390f35b610164610188366004610bf7565b610301565b610164610313565b61016461031a565b6101b06101ab366004610c3e565b610321565b005b6101ba6103f3565b6040516101719190610c8f565b6101b06101d5366004610c3e565b610402565b610164610534565b6101646101f0366004610bf7565b610611565b6101b061062c565b61016461069a565b6101646106a0565b61016461021b366004610bf7565b6106b3565b6101ba6106c5565b6102306106d4565b6040516101719190610ce0565b6101b061024b366004610c3e565b6106fa565b6101646107b7565b6101646107bd565b61016461080b565b6101b0610811565b610164610828565b6101b0610286366004610bf7565b61082e565b6101ba61085b565b6001600160a01b0381166000908152600a602090815260408083205460099092528220546102fb91906102f590670de0b6b3a7640000906102ef906102e0906102da6107bd565b9061086a565b6102e988610611565b906108a0565b906108ec565b90610919565b92915050565b600a6020526000908152604090205481565b6001545b90565b6224ea0081565b3361032a6107bd565b6008556103356106a0565b6007556001600160a01b0381161561037c5761035081610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b600082116103a55760405162461bcd60e51b815260040161039c90610e33565b60405180910390fd5b6103ae82610948565b336001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040516103e79190610f55565b60405180910390a25050565b6000546001600160a01b031681565b61040a6106d4565b6104265760405162461bcd60e51b815260040161039c90610e9f565b60006104306107bd565b60085561043b6106a0565b6007556001600160a01b038116156104825761045681610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b60055442106104a057610498826224ea006108ec565b6006556104e2565b6005546000906104b0904261086a565b905060006104c9600654836108a090919063ffffffff16565b90506104dc6224ea006102ef8684610919565b60065550505b4260078190556104f5906224ea00610919565b6005556040517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d90610528908490610f55565b60405180910390a15050565b60003361053f6107bd565b60085561054a6106a0565b6007556001600160a01b038116156105915761056581610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b61059a33610293565b9150811561060d57336000818152600a60205260408120556004546105cb916001600160a01b039091169084610999565b336001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486836040516106049190610f55565b60405180910390a25b5090565b6001600160a01b031660009081526002602052604090205490565b6106346106d4565b6106505760405162461bcd60e51b815260040161039c90610e9f565b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60065481565b60006106ae426005546109f4565b905090565b60096020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166106eb610a0a565b6001600160a01b031614905090565b336107036107bd565b60085561070e6106a0565b6007556001600160a01b038116156107555761072981610293565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b600082116107755760405162461bcd60e51b815260040161039c90610d31565b61077e82610a0e565b336001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d836040516103e79190610f55565b60075481565b60006107c7610313565b6107d45750600854610317565b6106ae6108026107e2610313565b6102ef670de0b6b3a76400006102e96006546102e96007546102da6106a0565b60085490610919565b60085481565b61081d6101ab33610611565b610825610534565b50565b60055481565b6108366106d4565b6108525760405162461bcd60e51b815260040161039c90610e9f565b61082581610a64565b6004546001600160a01b031681565b60008282111561088c5760405162461bcd60e51b815260040161039c90610dc5565b60006108988385610fb5565b949350505050565b6000826108af575060006102fb565b60006108bb8385610f96565b9050826108c88583610f76565b146108e55760405162461bcd60e51b815260040161039c90610e5e565b9392505050565b600080821161090d5760405162461bcd60e51b815260040161039c90610dfc565b60006108988385610f76565b6000806109268385610f5e565b9050838110156108e55760405162461bcd60e51b815260040161039c90610d59565b600154610955908261086a565b60015533600090815260026020526040902054610972908261086a565b336000818152600260205260408120929092559054610825916001600160a01b0390911690835b6109ef8363a9059cbb60e01b84846040516024016109b8929190610cc7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ae6565b505050565b6000818310610a0357816108e5565b5090919050565b3390565b600154610a1b9082610919565b60015533600090815260026020526040902054610a389082610919565b336000818152600260205260408120929092559054610825916001600160a01b03909116903084610bd0565b6001600160a01b038116610a8a5760405162461bcd60e51b815260040161039c90610ceb565b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b610af8826001600160a01b0316610bf1565b610b145760405162461bcd60e51b815260040161039c90610f1e565b600080836001600160a01b031683604051610b2f9190610c56565b6000604051808303816000865af19150503d8060008114610b6c576040519150601f19603f3d011682016040523d82523d6000602084013e610b71565b606091505b509150915081610b935760405162461bcd60e51b815260040161039c90610d90565b805115610bca5780806020019051810190610bae9190610c1e565b610bca5760405162461bcd60e51b815260040161039c90610ed4565b50505050565b610bca846323b872dd60e01b8585856040516024016109b893929190610ca3565b3b151590565b600060208284031215610c08578081fd5b81356001600160a01b03811681146108e5578182fd5b600060208284031215610c2f578081fd5b815180151581146108e5578182fd5b600060208284031215610c4f578081fd5b5035919050565b60008251815b81811015610c765760208186018101518583015201610c5c565b81811115610c845782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252600e908201526d043616e6e6f74207374616b6520360941b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b602080825260119082015270043616e6e6f74207769746864726177203607c1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604082015260600190565b90815260200190565b60008219821115610f7157610f71610fcc565b500190565b600082610f9157634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610fb057610fb0610fcc565b500290565b600082821015610fc757610fc7610fcc565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212203b06e9334d35a53fbde1168979a060b0215c755c0cd0bedbf7e90925318df9d464736f6c63430008010033
Deployed Bytecode Sourcemap
7656:3212:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9249:240;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8120:42;;;;;;:::i;:::-;;:::i;6946:91::-;;;:::i;7859:42::-;;;:::i;9695:202::-;;;;;;:::i;:::-;;:::i;:::-;;6779:69;;;:::i;:::-;;;;;;;:::i;10320:545::-;;;;;;:::i;:::-;;:::i;10010:302::-;;;:::i;7045:110::-;;;;;;:::i;:::-;;:::i;2542:181::-;;;:::i;7944:25::-;;;:::i;8733:131::-;;;:::i;8056:57::-;;;;;;:::i;:::-;;:::i;2239:79::-;;;:::i;2440:94::-;;;:::i;:::-;;;;;;;:::i;9497:190::-;;;;;;:::i;:::-;;:::i;7976:29::-;;;:::i;8872:369::-;;;:::i;8012:35::-;;;:::i;9905:97::-;;;:::i;7910:27::-;;;:::i;2731:109::-;;;;;;:::i;:::-;;:::i;7779:71::-;;;:::i;9249:240::-;-1:-1:-1;;;;;9464:16:0;;9303:7;9464:16;;;:7;:16;;;;;;;;;9388:22;:31;;;;;;9330:151;;9464:16;9330:115;;9440:4;;9330:91;;9367:53;;:16;:14;:16::i;:::-;:20;;:53::i;:::-;9330:18;9340:7;9330:9;:18::i;:::-;:36;;:91::i;:::-;:109;;:115::i;:::-;:133;;:151::i;:::-;9323:158;9249:240;-1:-1:-1;;9249:240:0:o;8120:42::-;;;;;;;;;;;;;:::o;6946:91::-;7017:12;;6946:91;;:::o;7859:42::-;7894:7;7859:42;:::o;9695:202::-;9749:10;8466:16;:14;:16::i;:::-;8443:20;:39;8510:26;:24;:26::i;:::-;8493:14;:43;-1:-1:-1;;;;;8553:21:0;;;8549:157;;8610:15;8617:7;8610:6;:15::i;:::-;-1:-1:-1;;;;;8591:16:0;;;;;;:7;:16;;;;;;;;:34;;;;8674:20;;8640:22;:31;;;;;;:54;8549:157;9789:1:::1;9780:6;:10;9772:40;;;;-1:-1:-1::0;;;9772:40:0::1;;;;;;;:::i;:::-;;;;;;;;;9825:17;9835:6;9825:9;:17::i;:::-;9870:10;-1:-1:-1::0;;;;;9860:29:0::1;;9882:6;9860:29;;;;;;:::i;:::-;;;;;;;;9695:202:::0;;:::o;6779:69::-;;;-1:-1:-1;;;;;6779:69:0;;:::o;10320:545::-;2366:9;:7;:9::i;:::-;2358:54;;;;-1:-1:-1;;;2358:54:0;;;;;;;:::i;:::-;10404:3:::1;8466:16;:14;:16::i;:::-;8443:20;:39:::0;8510:26:::1;:24;:26::i;:::-;8493:14;:43:::0;-1:-1:-1;;;;;8553:21:0;::::1;::::0;8549:157:::1;;8610:15;8617:7;8610:6;:15::i;:::-;-1:-1:-1::0;;;;;8591:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;;;:34;;;;8674:20:::1;::::0;8640:22:::1;:31:::0;;;;;;:54;8549:157:::1;10444:12:::2;;10425:15;:31;10421:304;;10486:20;:6:::0;7894:7:::2;10486:10;:20::i;:::-;10473:10;:33:::0;10421:304:::2;;;10559:12;::::0;10539:17:::2;::::0;10559:33:::2;::::0;10576:15:::2;10559:16;:33::i;:::-;10539:53;;10607:16;10626:25;10640:10;;10626:9;:13;;:25;;;;:::i;:::-;10607:44:::0;-1:-1:-1;10679:34:0::2;7894:7;10679:20;:6:::0;10607:44;10679:10:::2;:20::i;:34::-;10666:10;:47:::0;-1:-1:-1;;10421:304:0::2;10752:15;10735:14;:32:::0;;;10793:29:::2;::::0;7894:7:::2;10793:19;:29::i;:::-;10778:12;:44:::0;10838:19:::2;::::0;::::2;::::0;::::2;::::0;10850:6;;10838:19:::2;:::i;:::-;;;;;;;;2423:1:::1;10320:545:::0;:::o;10010:302::-;10072:14;10051:10;8466:16;:14;:16::i;:::-;8443:20;:39;8510:26;:24;:26::i;:::-;8493:14;:43;-1:-1:-1;;;;;8553:21:0;;;8549:157;;8610:15;8617:7;8610:6;:15::i;:::-;-1:-1:-1;;;;;8591:16:0;;;;;;:7;:16;;;;;;;;:34;;;;8674:20;;8640:22;:31;;;;;;:54;8549:157;10108:18:::1;10115:10;10108:6;:18::i;:::-;10099:27:::0;-1:-1:-1;10141:10:0;;10137:168:::1;;10176:10;10190:1;10168:19:::0;;;:7:::1;:19;::::0;;;;:23;10206:4:::1;::::0;:37:::1;::::0;-1:-1:-1;;;;;10206:4:0;;::::1;::::0;10236:6;10206:17:::1;:37::i;:::-;10274:10;-1:-1:-1::0;;;;;10263:30:0::1;;10286:6;10263:30;;;;;;:::i;:::-;;;;;;;;10137:168;10010:302:::0;;:::o;7045:110::-;-1:-1:-1;;;;;7129:18:0;7102:7;7129:18;;;:9;:18;;;;;;;7045:110::o;2542:181::-;2366:9;:7;:9::i;:::-;2358:54;;;;-1:-1:-1;;;2358:54:0;;;;;;;:::i;:::-;2639:6:::1;::::0;2604:79:::1;::::0;2668:3:::1;::::0;-1:-1:-1;;;;;2639:6:0::1;::::0;2604:79:::1;::::0;2668:3;;2604:79:::1;2694:6;:21:::0;;-1:-1:-1;;;;;;2694:21:0::1;::::0;;2542:181::o;7944:25::-;;;;:::o;8733:131::-;8790:7;8817:39;8826:15;8843:12;;8817:8;:39::i;:::-;8810:46;;8733:131;:::o;8056:57::-;;;;;;;;;;;;;:::o;2239:79::-;2304:6;;-1:-1:-1;;;;;2304:6:0;2239:79;:::o;2440:94::-;2520:6;;2480:4;;-1:-1:-1;;;;;2520:6:0;2504:12;:10;:12::i;:::-;-1:-1:-1;;;;;2504:22:0;;2497:29;;2440:94;:::o;9497:190::-;9548:10;8466:16;:14;:16::i;:::-;8443:20;:39;8510:26;:24;:26::i;:::-;8493:14;:43;-1:-1:-1;;;;;8553:21:0;;;8549:157;;8610:15;8617:7;8610:6;:15::i;:::-;-1:-1:-1;;;;;8591:16:0;;;;;;:7;:16;;;;;;;;:34;;;;8674:20;;8640:22;:31;;;;;;:54;8549:157;9588:1:::1;9579:6;:10;9571:37;;;;-1:-1:-1::0;;;9571:37:0::1;;;;;;;:::i;:::-;9621:14;9628:6;9621;:14::i;:::-;9660:10;-1:-1:-1::0;;;;;9653:26:0::1;;9672:6;9653:26;;;;;;:::i;7976:29::-:0;;;;:::o;8872:369::-;8919:7;8943:13;:11;:13::i;:::-;8939:78;;-1:-1:-1;8985:20:0;;8978:27;;8939:78;9036:197;9075:147;9208:13;:11;:13::i;:::-;9075:114;9184:4;9075:90;9154:10;;9075:60;9120:14;;9075:26;:24;:26::i;:147::-;9036:20;;;:24;:197::i;8012:35::-;;;;:::o;9905:97::-;9941:31;9950:21;9960:10;9950:9;:21::i;9941:31::-;9983:11;:9;:11::i;:::-;;9905:97::o;7910:27::-;;;;:::o;2731:109::-;2366:9;:7;:9::i;:::-;2358:54;;;;-1:-1:-1;;;2358:54:0;;;;;;;:::i;:::-;2804:28:::1;2823:8;2804:18;:28::i;7779:71::-:0;;;-1:-1:-1;;;;;7779:71:0;;:::o;282:182::-;340:7;373:1;368;:6;;360:49;;;;-1:-1:-1;;;360:49:0;;;;;;;:::i;:::-;420:9;432:5;436:1;432;:5;:::i;:::-;420:17;282:182;-1:-1:-1;;;;282:182:0:o;472:248::-;530:7;554:6;550:47;;-1:-1:-1;584:1:0;577:8;;550:47;609:9;621:5;625:1;621;:5;:::i;:::-;609:17;-1:-1:-1;654:1:0;645:5;649:1;609:17;645:5;:::i;:::-;:10;637:56;;;;-1:-1:-1;;;637:56:0;;;;;;;:::i;:::-;711:1;472:248;-1:-1:-1;;;472:248:0:o;728:264::-;786:7;818:1;814;:5;806:44;;;;-1:-1:-1;;;806:44:0;;;;;;;:::i;:::-;861:9;873:5;877:1;873;:5;:::i;95:179::-;153:7;;185:5;189:1;185;:5;:::i;:::-;173:17;;214:1;209;:6;;201:46;;;;-1:-1:-1;;;201:46:0;;;;;;;:::i;7418:231::-;7490:12;;:24;;7507:6;7490:16;:24::i;:::-;7475:12;:39;7570:10;7560:21;;;;:9;:21;;;;;;:33;;7586:6;7560:25;:33::i;:::-;7537:10;7527:21;;;;:9;:21;;;;;:66;;;;7606:2;;:35;;-1:-1:-1;;;;;7606:2:0;;;;7634:6;4327:279;4410:188;4443:5;4504:23;;;4546:2;4567:5;4463:124;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4463:124:0;;;;;;;;;;;;;;-1:-1:-1;;;;;4463:124:0;-1:-1:-1;;;;;;4463:124:0;;;;;;;;;;4410:18;:188::i;:::-;4327:279;;;:::o;1296:106::-;1354:7;1385:1;1381;:5;:13;;1393:1;1381:13;;;-1:-1:-1;1389:1:0;;1374:20;-1:-1:-1;1296:106:0:o;1588:98::-;1668:10;1588:98;:::o;7163:247::-;7232:12;;:24;;7249:6;7232:16;:24::i;:::-;7217:12;:39;7312:10;7302:21;;;;:9;:21;;;;;;:33;;7328:6;7302:25;:33::i;:::-;7279:10;7269:21;;;;:9;:21;;;;;:66;;;;7348:2;;:54;;-1:-1:-1;;;;;7348:2:0;;;;7388:4;7395:6;7348:19;:54::i;2848:268::-;-1:-1:-1;;;;;2936:24:0;;2914:112;;;;-1:-1:-1;;;2914:112:0;;;;;;;:::i;:::-;3063:6;;3042:38;;-1:-1:-1;;;;;3042:38:0;;;;3063:6;;3042:38;;3063:6;;3042:38;3091:6;:17;;-1:-1:-1;;;;;;3091:17:0;-1:-1:-1;;;;;3091:17:0;;;;;;;;;;2848:268::o;6218:453::-;6306:27;6314:5;-1:-1:-1;;;;;6306:25:0;;:27::i;:::-;6298:71;;;;-1:-1:-1;;;6298:71:0;;;;;;;:::i;:::-;6383:12;6397:23;6432:5;-1:-1:-1;;;;;6424:19:0;6444:4;6424:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6382:67;;;;6468:7;6460:52;;;;-1:-1:-1;;;6460:52:0;;;;;;;:::i;:::-;6529:17;;:21;6525:139;;6586:10;6575:30;;;;;;;;;;;;:::i;:::-;6567:85;;;;-1:-1:-1;;;6567:85:0;;;;;;;:::i;:::-;6218:453;;;;:::o;4614:324::-;4715:215;4748:5;4809:27;;;4855:4;4878:2;4899:5;4768:151;;;;;;;;;;:::i;3839:387::-;4162:20;4210:8;;;3839:387::o;14:306:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;178:23;;-1:-1:-1;;;;;230:31:1;;220:42;;210:2;;281:6;273;266:22;325:297;;445:2;433:9;424:7;420:23;416:32;413:2;;;466:6;458;451:22;413:2;503:9;497:16;556:5;549:13;542:21;535:5;532:32;522:2;;583:6;575;568:22;627:190;;739:2;727:9;718:7;714:23;710:32;707:2;;;760:6;752;745:22;707:2;-1:-1:-1;788:23:1;;697:120;-1:-1:-1;697:120:1:o;822:430::-;;989:6;983:13;1014:3;1026:129;1040:6;1037:1;1034:13;1026:129;;;1138:4;1122:14;;;1118:25;;1112:32;1099:11;;;1092:53;1055:12;1026:129;;;1173:6;1170:1;1167:13;1164:2;;;1208:3;1199:6;1194:3;1190:16;1183:29;1164:2;-1:-1:-1;1230:16:1;;;;;959:293;-1:-1:-1;;959:293:1:o;1257:203::-;-1:-1:-1;;;;;1421:32:1;;;;1403:51;;1391:2;1376:18;;1358:102::o;1465:375::-;-1:-1:-1;;;;;1723:15:1;;;1705:34;;1775:15;;;;1770:2;1755:18;;1748:43;1822:2;1807:18;;1800:34;;;;1655:2;1640:18;;1622:218::o;1845:274::-;-1:-1:-1;;;;;2037:32:1;;;;2019:51;;2101:2;2086:18;;2079:34;2007:2;1992:18;;1974:145::o;2124:187::-;2289:14;;2282:22;2264:41;;2252:2;2237:18;;2219:92::o;2538:402::-;2740:2;2722:21;;;2779:2;2759:18;;;2752:30;2818:34;2813:2;2798:18;;2791:62;-1:-1:-1;;;2884:2:1;2869:18;;2862:36;2930:3;2915:19;;2712:228::o;2945:338::-;3147:2;3129:21;;;3186:2;3166:18;;;3159:30;-1:-1:-1;;;3220:2:1;3205:18;;3198:44;3274:2;3259:18;;3119:164::o;3288:351::-;3490:2;3472:21;;;3529:2;3509:18;;;3502:30;3568:29;3563:2;3548:18;;3541:57;3630:2;3615:18;;3462:177::o;3644:356::-;3846:2;3828:21;;;3865:18;;;3858:30;3924:34;3919:2;3904:18;;3897:62;3991:2;3976:18;;3818:182::o;4005:354::-;4207:2;4189:21;;;4246:2;4226:18;;;4219:30;4285:32;4280:2;4265:18;;4258:60;4350:2;4335:18;;4179:180::o;4364:350::-;4566:2;4548:21;;;4605:2;4585:18;;;4578:30;4644:28;4639:2;4624:18;;4617:56;4705:2;4690:18;;4538:176::o;4719:341::-;4921:2;4903:21;;;4960:2;4940:18;;;4933:30;-1:-1:-1;;;4994:2:1;4979:18;;4972:47;5051:2;5036:18;;4893:167::o;5065:397::-;5267:2;5249:21;;;5306:2;5286:18;;;5279:30;5345:34;5340:2;5325:18;;5318:62;-1:-1:-1;;;5411:2:1;5396:18;;5389:31;5452:3;5437:19;;5239:223::o;5467:356::-;5669:2;5651:21;;;5688:18;;;5681:30;5747:34;5742:2;5727:18;;5720:62;5814:2;5799:18;;5641:182::o;5828:406::-;6030:2;6012:21;;;6069:2;6049:18;;;6042:30;6108:34;6103:2;6088:18;;6081:62;-1:-1:-1;;;6174:2:1;6159:18;;6152:40;6224:3;6209:19;;6002:232::o;6239:355::-;6441:2;6423:21;;;6480:2;6460:18;;;6453:30;6519:33;6514:2;6499:18;;6492:61;6585:2;6570:18;;6413:181::o;6599:177::-;6745:25;;;6733:2;6718:18;;6700:76::o;6781:128::-;;6852:1;6848:6;6845:1;6842:13;6839:2;;;6858:18;;:::i;:::-;-1:-1:-1;6894:9:1;;6829:80::o;6914:217::-;;6980:1;6970:2;;-1:-1:-1;;;7005:31:1;;7059:4;7056:1;7049:15;7087:4;7012:1;7077:15;6970:2;-1:-1:-1;7116:9:1;;6960:171::o;7136:168::-;;7242:1;7238;7234:6;7230:14;7227:1;7224:21;7219:1;7212:9;7205:17;7201:45;7198:2;;;7249:18;;:::i;:::-;-1:-1:-1;7289:9:1;;7188:116::o;7309:125::-;;7377:1;7374;7371:8;7368:2;;;7382:18;;:::i;:::-;-1:-1:-1;7419:9:1;;7358:76::o;7439:127::-;7500:10;7495:3;7491:20;7488:1;7481:31;7531:4;7528:1;7521:15;7555:4;7552:1;7545:15
Swarm Source
ipfs://3b06e9334d35a53fbde1168979a060b0215c755c0cd0bedbf7e90925318df9d4
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.039927 | 1,125,079.4285 | $44,920.62 |
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.