More Info
Private Name Tags
ContractCreator
Latest 21 from a total of 21 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Rewards | 1584652 | 17 days ago | IN | 0 S | 0.00009681 | ||||
Claim Rewards | 1520890 | 18 days ago | IN | 0 S | 0.00009825 | ||||
Compound | 1511620 | 18 days ago | IN | 0 S | 0.00004835 | ||||
Deposit | 1505807 | 18 days ago | IN | 0 S | 0.0001051 | ||||
Deposit | 1502725 | 18 days ago | IN | 0 S | 0.00010289 | ||||
Claim Rewards | 1502047 | 18 days ago | IN | 0 S | 0.00009825 | ||||
Compound | 1501934 | 18 days ago | IN | 0 S | 0.00004835 | ||||
Deposit | 1501605 | 18 days ago | IN | 0 S | 0.0002654 | ||||
Update Token | 1501403 | 18 days ago | IN | 0 S | 0.00003397 | ||||
Deposit | 1238993 | 20 days ago | IN | 0 S | 0.00020889 | ||||
Deposit | 1238984 | 20 days ago | IN | 0 S | 0.00014264 | ||||
Claim Rewards | 1237270 | 20 days ago | IN | 0 S | 0.00009681 | ||||
Claim Rewards | 1219720 | 20 days ago | IN | 0 S | 0.00009681 | ||||
Claim Rewards | 1218608 | 20 days ago | IN | 0 S | 0.00009825 | ||||
Claim Rewards | 1217783 | 20 days ago | IN | 0 S | 0.00004305 | ||||
Deposit | 1217722 | 20 days ago | IN | 0 S | 0.00009973 | ||||
Compound | 1217636 | 20 days ago | IN | 0 S | 0.00004835 | ||||
Claim Rewards | 1155299 | 21 days ago | IN | 0 S | 0.00009681 | ||||
Claim Rewards | 1154650 | 21 days ago | IN | 0 S | 0.0004179 | ||||
Deposit | 1154539 | 21 days ago | IN | 0 S | 0.00010504 | ||||
Deposit | 1154354 | 21 days ago | IN | 0 S | 0.00026004 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
StakingWithOptionalReferral
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2024-12-22 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // Address library from OpenZeppelin library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } 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"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue( address target, bytes memory data, uint256 weiValue, string memory errorMessage ) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: weiValue}(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } // SafeERC20 from OpenZeppelin library SafeERC20 { 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 _callOptionalReturn(IERC20 token, bytes memory data) private { bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } // Context from OpenZeppelin abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // ReentrancyGuard from OpenZeppelin abstract contract ReentrancyGuard { uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } modifier nonReentrant() { require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); _status = _ENTERED; _; _status = _NOT_ENTERED; } } 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); } /// @title StakingWithOptionalReferral - A staking contract for SANIC tokens with optional referrals and robust security. contract StakingWithOptionalReferral is ReentrancyGuard { using SafeERC20 for IERC20; IERC20 public sanicToken; // Token to be staked address public feeRecipient; // Address to receive fees address public owner; // Contract owner uint256 public dailyRewardRate = 8; // 8% daily rewards uint256 public depositFee = 5; // 5% deposit fee uint256 public referralFee = 12; // 12% referral bonus uint256 public claimCooldown = 1 minutes; // Cooldown period for claiming rewards uint256 public penaltyCooldown = 24 hours; // Time window for penalty enforcement uint256 public penaltyRate = 50; // 50% penalty on rewards for early claims struct User { uint256 depositedAmount; uint256 lastClaimTime; uint256 lastWithdrawalTime; } mapping(address => User) public users; mapping(address => address) public referrers; mapping(address => bool) public hasBeenReferred; uint256 public totalDeposits; event Deposit(address indexed user, uint256 amount, uint256 netAmount, address indexed referrer); event ClaimRewards(address indexed user, uint256 reward, uint256 penalty); event Compound(address indexed user, uint256 compoundedAmount); event ReferralBonusPaid(address indexed referrer, uint256 bonus); event TokenUpdated(address indexed oldToken, address indexed newToken); event FeeRecipientUpdated(address indexed oldRecipient, address indexed newRecipient); modifier onlyOwner() { require(msg.sender == owner, "Not authorized"); _; } constructor(address _sanicToken, address _feeRecipient) { require(_sanicToken != address(0), "Invalid token address"); require(_feeRecipient != address(0), "Invalid fee recipient address"); sanicToken = IERC20(_sanicToken); feeRecipient = _feeRecipient; owner = msg.sender; } function deposit(uint256 _amount, address _referrer) external nonReentrant { require(_amount > 0, "Deposit amount must be greater than zero"); uint256 allowance = sanicToken.allowance(msg.sender, address(this)); require(allowance >= _amount, "Token allowance too low"); sanicToken.safeTransferFrom(msg.sender, address(this), _amount); uint256 fee = (_amount * depositFee) / 100; uint256 netAmount = _amount - fee; sanicToken.safeTransfer(feeRecipient, fee); if (_referrer != address(0) && _referrer != msg.sender) { require(!hasBeenReferred[msg.sender], "User has already been referred"); uint256 referralBonus = (_amount * referralFee) / 100; sanicToken.safeTransfer(_referrer, referralBonus); referrers[msg.sender] = _referrer; hasBeenReferred[msg.sender] = true; emit ReferralBonusPaid(_referrer, referralBonus); } User storage user = users[msg.sender]; user.depositedAmount += netAmount; user.lastClaimTime = block.timestamp; user.lastWithdrawalTime = 0; // Reset withdrawal time on deposit totalDeposits += netAmount; emit Deposit(msg.sender, _amount, netAmount, _referrer); } function claimRewards() external nonReentrant { User storage user = users[msg.sender]; require(user.depositedAmount > 0, "No deposits found"); require(block.timestamp >= user.lastClaimTime + claimCooldown, "Claim cooldown active"); uint256 rewards = calculateRewards(msg.sender); require(rewards > 0, "No rewards available"); uint256 penalty = 0; if (block.timestamp < user.lastWithdrawalTime + penaltyCooldown) { penalty = (rewards * penaltyRate) / 100; } uint256 netRewards = rewards - penalty; user.lastClaimTime = block.timestamp; user.lastWithdrawalTime = block.timestamp; user.depositedAmount -= netRewards; // Deduct claimed rewards from deposit sanicToken.safeTransfer(msg.sender, netRewards); if (penalty > 0) { sanicToken.safeTransfer(feeRecipient, penalty); } emit ClaimRewards(msg.sender, netRewards, penalty); } function calculateRewards(address _user) public view returns (uint256) { User memory user = users[_user]; uint256 elapsedTime = block.timestamp - user.lastClaimTime; uint256 dailyRewards = (user.depositedAmount * dailyRewardRate) / 100; return (dailyRewards * elapsedTime) / 1 days; } function compound() external nonReentrant { User storage user = users[msg.sender]; require(user.depositedAmount > 0, "No deposits found"); require(block.timestamp >= user.lastClaimTime + claimCooldown, "Claim cooldown active"); uint256 rewards = calculateRewards(msg.sender); require(rewards > 0, "No rewards available"); user.depositedAmount += rewards; // Add rewards to deposit user.lastClaimTime = block.timestamp; emit Compound(msg.sender, rewards); } function getTotalDeposited() external view returns (uint256) { return totalDeposits; } function updateToken(address _newToken) external onlyOwner { require(_newToken != address(0), "Invalid token address"); address oldToken = address(sanicToken); sanicToken = IERC20(_newToken); emit TokenUpdated(oldToken, _newToken); } function getTVL() external view returns (uint256) { return sanicToken.balanceOf(address(this)); } function updateFeeRecipient(address _newRecipient) external onlyOwner { require(_newRecipient != address(0), "Invalid fee recipient address"); address oldRecipient = feeRecipient; feeRecipient = _newRecipient; emit FeeRecipientUpdated(oldRecipient, _newRecipient); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_sanicToken","type":"address"},{"internalType":"address","name":"_feeRecipient","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"penalty","type":"uint256"}],"name":"ClaimRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"compoundedAmount","type":"uint256"}],"name":"Compound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"netAmount","type":"uint256"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldRecipient","type":"address"},{"indexed":true,"internalType":"address","name":"newRecipient","type":"address"}],"name":"FeeRecipientUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"bonus","type":"uint256"}],"name":"ReferralBonusPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldToken","type":"address"},{"indexed":true,"internalType":"address","name":"newToken","type":"address"}],"name":"TokenUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"calculateRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimCooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dailyRewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_referrer","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTVL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hasBeenReferred","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"penaltyCooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"penaltyRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"referralFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referrers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sanicToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newRecipient","type":"address"}],"name":"updateFeeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newToken","type":"address"}],"name":"updateToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"lastClaimTime","type":"uint256"},{"internalType":"uint256","name":"lastWithdrawalTime","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600860045560058055600c600655603c60075562015180600855603260095534801561002e575f80fd5b506040516125f93803806125f983398181016040528101906100509190610258565b60015f819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036100c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100bc906102f0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012a90610358565b60405180910390fd5b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610376565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610227826101fe565b9050919050565b6102378161021d565b8114610241575f80fd5b50565b5f815190506102528161022e565b92915050565b5f806040838503121561026e5761026d6101fa565b5b5f61027b85828601610244565b925050602061028c85828601610244565b9150509250929050565b5f82825260208201905092915050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f6102da601583610296565b91506102e5826102a6565b602082019050919050565b5f6020820190508181035f830152610307816102ce565b9050919050565b7f496e76616c69642066656520726563697069656e7420616464726573730000005f82015250565b5f610342601d83610296565b915061034d8261030e565b602082019050919050565b5f6020820190508181035f83015261036f81610336565b9050919050565b612276806103835f395ff3fe608060405234801561000f575f80fd5b5060043610610135575f3560e01c806397b3fcaa116100b6578063d62c11641161007a578063d62c11641461031b578063d6b7494f1461034b578063f160d36914610369578063f69e204614610385578063f71280241461038f578063fdea3657146103ad57610135565b806397b3fcaa14610271578063a48b3a521461028f578063a87430ba146102ad578063b68ef559146102df578063c1e3d2dd146102fd57610135565b80636e553f65116100fd5780636e553f65146101df5780637ad3def2146101fb5780637d8820971461021757806384ae2bc6146102355780638da5cb5b1461025357610135565b8063372500ab1461013957806346904840146101435780634a3b68cc1461016157806364ab86751461019157806367a52793146101c1575b5f80fd5b6101416103cb565b005b61014b6106cd565b60405161015891906117d4565b60405180910390f35b61017b6004803603810190610176919061181b565b6106f2565b60405161018891906117d4565b60405180910390f35b6101ab60048036038101906101a6919061181b565b610722565b6040516101b8919061185e565b60405180910390f35b6101c96107e2565b6040516101d6919061185e565b60405180910390f35b6101f960048036038101906101f491906118a1565b6107e8565b005b6102156004803603810190610210919061181b565b610db6565b005b61021f610f76565b60405161022c919061185e565b60405180910390f35b61023d610f7c565b60405161024a919061185e565b60405180910390f35b61025b610f82565b60405161026891906117d4565b60405180910390f35b610279610fa7565b604051610286919061185e565b60405180910390f35b610297611046565b6040516102a4919061185e565b60405180910390f35b6102c760048036038101906102c2919061181b565b61104c565b6040516102d6939291906118df565b60405180910390f35b6102e7611072565b6040516102f4919061185e565b60405180910390f35b61030561107b565b604051610312919061185e565b60405180910390f35b6103356004803603810190610330919061181b565b611081565b604051610342919061192e565b60405180910390f35b61035361109e565b604051610360919061185e565b60405180910390f35b610383600480360381019061037e919061181b565b6110a4565b005b61038d611264565b005b610397611451565b6040516103a491906119a2565b60405180910390f35b6103b5611476565b6040516103c2919061185e565b60405180910390f35b60025f540361040f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040690611a15565b60405180910390fd5b60025f819055505f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f01541161049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049290611a7d565b60405180910390fd5b60075481600101546104ad9190611ac8565b4210156104ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e690611b45565b60405180910390fd5b5f6104f933610722565b90505f811161053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053490611bad565b60405180910390fd5b5f60085483600201546105509190611ac8565b421015610574576064600954836105679190611bcb565b6105719190611c39565b90505b5f81836105819190611c69565b905042846001018190555042846002018190555080845f015f8282546105a79190611c69565b925050819055506105fa338260015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b5f8211156106705761066f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167f674a8930d4166ce2352c3dc1e9ff633595db479f71f3741270a0a73a52cb7b0f82846040516106b8929190611c9c565b60405180910390a25050505060015f81905550565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060600160405290815f82015481526020016001820154815260200160028201548152505090505f81602001514261079c9190611c69565b90505f6064600454845f01516107b29190611bcb565b6107bc9190611c39565b90506201518082826107ce9190611bcb565b6107d89190611c39565b9350505050919050565b60055481565b60025f540361082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390611a15565b60405180910390fd5b60025f819055505f8211610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c90611d33565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b81526004016108d2929190611d51565b602060405180830381865afa1580156108ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109119190611d8c565b905082811015610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d90611e01565b60405180910390fd5b6109a433308560015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611502909392919063ffffffff16565b5f6064600554856109b59190611bcb565b6109bf9190611c39565b90505f81856109ce9190611c69565b9050610a3d60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610aa557503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610cbd57600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90611e69565b60405180910390fd5b5f606460065487610b459190611bcb565b610b4f9190611c39565b9050610b9d858260015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b84600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f050bae3eeefac62a4ee36c766f4f426f09edf96ae8fb3034ebbf961e4acc78e282604051610cb3919061185e565b60405180910390a2505b5f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20905081815f015f828254610d0f9190611ac8565b925050819055504281600101819055505f816002018190555081600d5f828254610d399190611ac8565b925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f02d7e648dd130fc184d383e55bb126ac4c9c60e8f94bf05acdf557ba2d540b478885604051610d9f929190611c9c565b60405180910390a35050505060015f819055505050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3c90611ed1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90611f39565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f0b1186973f810894b87ab0bfbee422fddcaad21b46dc705a561451bbb6bac11760405160405180910390a35050565b600d5481565b60065481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161100291906117d4565b602060405180830381865afa15801561101d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110419190611d8c565b905090565b60085481565b600a602052805f5260405f205f91509050805f0154908060010154908060020154905083565b5f600d54905090565b60045481565b600c602052805f5260405f205f915054906101000a900460ff1681565b60095481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90611ed1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890611fa1565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d360405160405180910390a35050565b60025f54036112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129f90611a15565b60405180910390fd5b60025f819055505f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f015411611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b90611a7d565b60405180910390fd5b60075481600101546113469190611ac8565b421015611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f90611b45565b60405180910390fd5b5f61139233610722565b90505f81116113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90611bad565b60405180910390fd5b80825f015f8282546113e89190611ac8565b925050819055504282600101819055503373ffffffffffffffffffffffffffffffffffffffff167f169f1815ebdea059aac3bb00ec9a9594c7a5ffcb64a17e8392b5d84909a145568260405161143e919061185e565b60405180910390a2505060015f81905550565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6114fd8363a9059cbb60e01b848460405160240161149b929190611fbf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061158b565b505050565b611585846323b872dd60e01b85858560405160240161152393929190611fe6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061158b565b50505050565b5f6115ec826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166116509092919063ffffffff16565b90505f8151111561164b578080602001905181019061160b9190612045565b61164a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611641906120e0565b60405180910390fd5b5b505050565b606061165e84845f85611667565b90509392505050565b606061167285611784565b6116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a890612148565b60405180910390fd5b5f808673ffffffffffffffffffffffffffffffffffffffff1685876040516116d991906121b8565b5f6040518083038185875af1925050503d805f8114611713576040519150601f19603f3d011682016040523d82523d5f602084013e611718565b606091505b5091509150811561172d57809250505061177c565b5f8151111561173f5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117739190612220565b60405180910390fd5b949350505050565b5f80823b90505f8111915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117be82611795565b9050919050565b6117ce816117b4565b82525050565b5f6020820190506117e75f8301846117c5565b92915050565b5f80fd5b6117fa816117b4565b8114611804575f80fd5b50565b5f81359050611815816117f1565b92915050565b5f602082840312156118305761182f6117ed565b5b5f61183d84828501611807565b91505092915050565b5f819050919050565b61185881611846565b82525050565b5f6020820190506118715f83018461184f565b92915050565b61188081611846565b811461188a575f80fd5b50565b5f8135905061189b81611877565b92915050565b5f80604083850312156118b7576118b66117ed565b5b5f6118c48582860161188d565b92505060206118d585828601611807565b9150509250929050565b5f6060820190506118f25f83018661184f565b6118ff602083018561184f565b61190c604083018461184f565b949350505050565b5f8115159050919050565b61192881611914565b82525050565b5f6020820190506119415f83018461191f565b92915050565b5f819050919050565b5f61196a61196561196084611795565b611947565b611795565b9050919050565b5f61197b82611950565b9050919050565b5f61198c82611971565b9050919050565b61199c81611982565b82525050565b5f6020820190506119b55f830184611993565b92915050565b5f82825260208201905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6119ff601f836119bb565b9150611a0a826119cb565b602082019050919050565b5f6020820190508181035f830152611a2c816119f3565b9050919050565b7f4e6f206465706f7369747320666f756e640000000000000000000000000000005f82015250565b5f611a676011836119bb565b9150611a7282611a33565b602082019050919050565b5f6020820190508181035f830152611a9481611a5b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611ad282611846565b9150611add83611846565b9250828201905080821115611af557611af4611a9b565b5b92915050565b7f436c61696d20636f6f6c646f776e2061637469766500000000000000000000005f82015250565b5f611b2f6015836119bb565b9150611b3a82611afb565b602082019050919050565b5f6020820190508181035f830152611b5c81611b23565b9050919050565b7f4e6f207265776172647320617661696c61626c650000000000000000000000005f82015250565b5f611b976014836119bb565b9150611ba282611b63565b602082019050919050565b5f6020820190508181035f830152611bc481611b8b565b9050919050565b5f611bd582611846565b9150611be083611846565b9250828202611bee81611846565b91508282048414831517611c0557611c04611a9b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c4382611846565b9150611c4e83611846565b925082611c5e57611c5d611c0c565b5b828204905092915050565b5f611c7382611846565b9150611c7e83611846565b9250828203905081811115611c9657611c95611a9b565b5b92915050565b5f604082019050611caf5f83018561184f565b611cbc602083018461184f565b9392505050565b7f4465706f73697420616d6f756e74206d757374206265206772656174657220745f8201527f68616e207a65726f000000000000000000000000000000000000000000000000602082015250565b5f611d1d6028836119bb565b9150611d2882611cc3565b604082019050919050565b5f6020820190508181035f830152611d4a81611d11565b9050919050565b5f604082019050611d645f8301856117c5565b611d7160208301846117c5565b9392505050565b5f81519050611d8681611877565b92915050565b5f60208284031215611da157611da06117ed565b5b5f611dae84828501611d78565b91505092915050565b7f546f6b656e20616c6c6f77616e636520746f6f206c6f770000000000000000005f82015250565b5f611deb6017836119bb565b9150611df682611db7565b602082019050919050565b5f6020820190508181035f830152611e1881611ddf565b9050919050565b7f557365722068617320616c7265616479206265656e20726566657272656400005f82015250565b5f611e53601e836119bb565b9150611e5e82611e1f565b602082019050919050565b5f6020820190508181035f830152611e8081611e47565b9050919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f611ebb600e836119bb565b9150611ec682611e87565b602082019050919050565b5f6020820190508181035f830152611ee881611eaf565b9050919050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f611f236015836119bb565b9150611f2e82611eef565b602082019050919050565b5f6020820190508181035f830152611f5081611f17565b9050919050565b7f496e76616c69642066656520726563697069656e7420616464726573730000005f82015250565b5f611f8b601d836119bb565b9150611f9682611f57565b602082019050919050565b5f6020820190508181035f830152611fb881611f7f565b9050919050565b5f604082019050611fd25f8301856117c5565b611fdf602083018461184f565b9392505050565b5f606082019050611ff95f8301866117c5565b61200660208301856117c5565b612013604083018461184f565b949350505050565b61202481611914565b811461202e575f80fd5b50565b5f8151905061203f8161201b565b92915050565b5f6020828403121561205a576120596117ed565b5b5f61206784828501612031565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f6120ca602a836119bb565b91506120d582612070565b604082019050919050565b5f6020820190508181035f8301526120f7816120be565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f612132601d836119bb565b915061213d826120fe565b602082019050919050565b5f6020820190508181035f83015261215f81612126565b9050919050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61219282612166565b61219c8185612170565b93506121ac81856020860161217a565b80840191505092915050565b5f6121c38284612188565b915081905092915050565b5f81519050919050565b5f601f19601f8301169050919050565b5f6121f2826121ce565b6121fc81856119bb565b935061220c81856020860161217a565b612215816121d8565b840191505092915050565b5f6020820190508181035f83015261223881846121e8565b90509291505056fea26469706673582212201c87ab3b965354bd92f0eb2744df7e3739df7729b2d341409e84f987b4613f8564736f6c634300081a0033000000000000000000000000a989d83fb60d1a14846ca137c478e6b42d23620a000000000000000000000000bf144ee4708fd71077232633e7d02d219ec88151
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610135575f3560e01c806397b3fcaa116100b6578063d62c11641161007a578063d62c11641461031b578063d6b7494f1461034b578063f160d36914610369578063f69e204614610385578063f71280241461038f578063fdea3657146103ad57610135565b806397b3fcaa14610271578063a48b3a521461028f578063a87430ba146102ad578063b68ef559146102df578063c1e3d2dd146102fd57610135565b80636e553f65116100fd5780636e553f65146101df5780637ad3def2146101fb5780637d8820971461021757806384ae2bc6146102355780638da5cb5b1461025357610135565b8063372500ab1461013957806346904840146101435780634a3b68cc1461016157806364ab86751461019157806367a52793146101c1575b5f80fd5b6101416103cb565b005b61014b6106cd565b60405161015891906117d4565b60405180910390f35b61017b6004803603810190610176919061181b565b6106f2565b60405161018891906117d4565b60405180910390f35b6101ab60048036038101906101a6919061181b565b610722565b6040516101b8919061185e565b60405180910390f35b6101c96107e2565b6040516101d6919061185e565b60405180910390f35b6101f960048036038101906101f491906118a1565b6107e8565b005b6102156004803603810190610210919061181b565b610db6565b005b61021f610f76565b60405161022c919061185e565b60405180910390f35b61023d610f7c565b60405161024a919061185e565b60405180910390f35b61025b610f82565b60405161026891906117d4565b60405180910390f35b610279610fa7565b604051610286919061185e565b60405180910390f35b610297611046565b6040516102a4919061185e565b60405180910390f35b6102c760048036038101906102c2919061181b565b61104c565b6040516102d6939291906118df565b60405180910390f35b6102e7611072565b6040516102f4919061185e565b60405180910390f35b61030561107b565b604051610312919061185e565b60405180910390f35b6103356004803603810190610330919061181b565b611081565b604051610342919061192e565b60405180910390f35b61035361109e565b604051610360919061185e565b60405180910390f35b610383600480360381019061037e919061181b565b6110a4565b005b61038d611264565b005b610397611451565b6040516103a491906119a2565b60405180910390f35b6103b5611476565b6040516103c2919061185e565b60405180910390f35b60025f540361040f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040690611a15565b60405180910390fd5b60025f819055505f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f01541161049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049290611a7d565b60405180910390fd5b60075481600101546104ad9190611ac8565b4210156104ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e690611b45565b60405180910390fd5b5f6104f933610722565b90505f811161053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053490611bad565b60405180910390fd5b5f60085483600201546105509190611ac8565b421015610574576064600954836105679190611bcb565b6105719190611c39565b90505b5f81836105819190611c69565b905042846001018190555042846002018190555080845f015f8282546105a79190611c69565b925050819055506105fa338260015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b5f8211156106705761066f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167f674a8930d4166ce2352c3dc1e9ff633595db479f71f3741270a0a73a52cb7b0f82846040516106b8929190611c9c565b60405180910390a25050505060015f81905550565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060600160405290815f82015481526020016001820154815260200160028201548152505090505f81602001514261079c9190611c69565b90505f6064600454845f01516107b29190611bcb565b6107bc9190611c39565b90506201518082826107ce9190611bcb565b6107d89190611c39565b9350505050919050565b60055481565b60025f540361082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082390611a15565b60405180910390fd5b60025f819055505f8211610875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086c90611d33565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b81526004016108d2929190611d51565b602060405180830381865afa1580156108ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109119190611d8c565b905082811015610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d90611e01565b60405180910390fd5b6109a433308560015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611502909392919063ffffffff16565b5f6064600554856109b59190611bcb565b6109bf9190611c39565b90505f81856109ce9190611c69565b9050610a3d60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610aa557503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610cbd57600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90611e69565b60405180910390fd5b5f606460065487610b459190611bcb565b610b4f9190611c39565b9050610b9d858260015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661147c9092919063ffffffff16565b84600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f050bae3eeefac62a4ee36c766f4f426f09edf96ae8fb3034ebbf961e4acc78e282604051610cb3919061185e565b60405180910390a2505b5f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20905081815f015f828254610d0f9190611ac8565b925050819055504281600101819055505f816002018190555081600d5f828254610d399190611ac8565b925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f02d7e648dd130fc184d383e55bb126ac4c9c60e8f94bf05acdf557ba2d540b478885604051610d9f929190611c9c565b60405180910390a35050505060015f819055505050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3c90611ed1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90611f39565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f0b1186973f810894b87ab0bfbee422fddcaad21b46dc705a561451bbb6bac11760405160405180910390a35050565b600d5481565b60065481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161100291906117d4565b602060405180830381865afa15801561101d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110419190611d8c565b905090565b60085481565b600a602052805f5260405f205f91509050805f0154908060010154908060020154905083565b5f600d54905090565b60045481565b600c602052805f5260405f205f915054906101000a900460ff1681565b60095481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a90611ed1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119890611fa1565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d360405160405180910390a35050565b60025f54036112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129f90611a15565b60405180910390fd5b60025f819055505f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f015411611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b90611a7d565b60405180910390fd5b60075481600101546113469190611ac8565b421015611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f90611b45565b60405180910390fd5b5f61139233610722565b90505f81116113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90611bad565b60405180910390fd5b80825f015f8282546113e89190611ac8565b925050819055504282600101819055503373ffffffffffffffffffffffffffffffffffffffff167f169f1815ebdea059aac3bb00ec9a9594c7a5ffcb64a17e8392b5d84909a145568260405161143e919061185e565b60405180910390a2505060015f81905550565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b6114fd8363a9059cbb60e01b848460405160240161149b929190611fbf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061158b565b505050565b611585846323b872dd60e01b85858560405160240161152393929190611fe6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061158b565b50505050565b5f6115ec826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166116509092919063ffffffff16565b90505f8151111561164b578080602001905181019061160b9190612045565b61164a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611641906120e0565b60405180910390fd5b5b505050565b606061165e84845f85611667565b90509392505050565b606061167285611784565b6116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a890612148565b60405180910390fd5b5f808673ffffffffffffffffffffffffffffffffffffffff1685876040516116d991906121b8565b5f6040518083038185875af1925050503d805f8114611713576040519150601f19603f3d011682016040523d82523d5f602084013e611718565b606091505b5091509150811561172d57809250505061177c565b5f8151111561173f5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117739190612220565b60405180910390fd5b949350505050565b5f80823b90505f8111915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117be82611795565b9050919050565b6117ce816117b4565b82525050565b5f6020820190506117e75f8301846117c5565b92915050565b5f80fd5b6117fa816117b4565b8114611804575f80fd5b50565b5f81359050611815816117f1565b92915050565b5f602082840312156118305761182f6117ed565b5b5f61183d84828501611807565b91505092915050565b5f819050919050565b61185881611846565b82525050565b5f6020820190506118715f83018461184f565b92915050565b61188081611846565b811461188a575f80fd5b50565b5f8135905061189b81611877565b92915050565b5f80604083850312156118b7576118b66117ed565b5b5f6118c48582860161188d565b92505060206118d585828601611807565b9150509250929050565b5f6060820190506118f25f83018661184f565b6118ff602083018561184f565b61190c604083018461184f565b949350505050565b5f8115159050919050565b61192881611914565b82525050565b5f6020820190506119415f83018461191f565b92915050565b5f819050919050565b5f61196a61196561196084611795565b611947565b611795565b9050919050565b5f61197b82611950565b9050919050565b5f61198c82611971565b9050919050565b61199c81611982565b82525050565b5f6020820190506119b55f830184611993565b92915050565b5f82825260208201905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f6119ff601f836119bb565b9150611a0a826119cb565b602082019050919050565b5f6020820190508181035f830152611a2c816119f3565b9050919050565b7f4e6f206465706f7369747320666f756e640000000000000000000000000000005f82015250565b5f611a676011836119bb565b9150611a7282611a33565b602082019050919050565b5f6020820190508181035f830152611a9481611a5b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611ad282611846565b9150611add83611846565b9250828201905080821115611af557611af4611a9b565b5b92915050565b7f436c61696d20636f6f6c646f776e2061637469766500000000000000000000005f82015250565b5f611b2f6015836119bb565b9150611b3a82611afb565b602082019050919050565b5f6020820190508181035f830152611b5c81611b23565b9050919050565b7f4e6f207265776172647320617661696c61626c650000000000000000000000005f82015250565b5f611b976014836119bb565b9150611ba282611b63565b602082019050919050565b5f6020820190508181035f830152611bc481611b8b565b9050919050565b5f611bd582611846565b9150611be083611846565b9250828202611bee81611846565b91508282048414831517611c0557611c04611a9b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611c4382611846565b9150611c4e83611846565b925082611c5e57611c5d611c0c565b5b828204905092915050565b5f611c7382611846565b9150611c7e83611846565b9250828203905081811115611c9657611c95611a9b565b5b92915050565b5f604082019050611caf5f83018561184f565b611cbc602083018461184f565b9392505050565b7f4465706f73697420616d6f756e74206d757374206265206772656174657220745f8201527f68616e207a65726f000000000000000000000000000000000000000000000000602082015250565b5f611d1d6028836119bb565b9150611d2882611cc3565b604082019050919050565b5f6020820190508181035f830152611d4a81611d11565b9050919050565b5f604082019050611d645f8301856117c5565b611d7160208301846117c5565b9392505050565b5f81519050611d8681611877565b92915050565b5f60208284031215611da157611da06117ed565b5b5f611dae84828501611d78565b91505092915050565b7f546f6b656e20616c6c6f77616e636520746f6f206c6f770000000000000000005f82015250565b5f611deb6017836119bb565b9150611df682611db7565b602082019050919050565b5f6020820190508181035f830152611e1881611ddf565b9050919050565b7f557365722068617320616c7265616479206265656e20726566657272656400005f82015250565b5f611e53601e836119bb565b9150611e5e82611e1f565b602082019050919050565b5f6020820190508181035f830152611e8081611e47565b9050919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f611ebb600e836119bb565b9150611ec682611e87565b602082019050919050565b5f6020820190508181035f830152611ee881611eaf565b9050919050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f611f236015836119bb565b9150611f2e82611eef565b602082019050919050565b5f6020820190508181035f830152611f5081611f17565b9050919050565b7f496e76616c69642066656520726563697069656e7420616464726573730000005f82015250565b5f611f8b601d836119bb565b9150611f9682611f57565b602082019050919050565b5f6020820190508181035f830152611fb881611f7f565b9050919050565b5f604082019050611fd25f8301856117c5565b611fdf602083018461184f565b9392505050565b5f606082019050611ff95f8301866117c5565b61200660208301856117c5565b612013604083018461184f565b949350505050565b61202481611914565b811461202e575f80fd5b50565b5f8151905061203f8161201b565b92915050565b5f6020828403121561205a576120596117ed565b5b5f61206784828501612031565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f6120ca602a836119bb565b91506120d582612070565b604082019050919050565b5f6020820190508181035f8301526120f7816120be565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f612132601d836119bb565b915061213d826120fe565b602082019050919050565b5f6020820190508181035f83015261215f81612126565b9050919050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61219282612166565b61219c8185612170565b93506121ac81856020860161217a565b80840191505092915050565b5f6121c38284612188565b915081905092915050565b5f81519050919050565b5f601f19601f8301169050919050565b5f6121f2826121ce565b6121fc81856119bb565b935061220c81856020860161217a565b612215816121d8565b840191505092915050565b5f6020820190508181035f83015261223881846121e8565b90509291505056fea26469706673582212201c87ab3b965354bd92f0eb2744df7e3739df7729b2d341409e84f987b4613f8564736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a989d83fb60d1a14846ca137c478e6b42d23620a000000000000000000000000bf144ee4708fd71077232633e7d02d219ec88151
-----Decoded View---------------
Arg [0] : _sanicToken (address): 0xA989d83fb60d1a14846CA137c478e6b42D23620A
Arg [1] : _feeRecipient (address): 0xbF144EE4708FD71077232633E7d02D219eC88151
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a989d83fb60d1a14846ca137c478e6b42d23620a
Arg [1] : 000000000000000000000000bf144ee4708fd71077232633e7d02d219ec88151
Deployed Bytecode Sourcemap
5306:5984:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8574:1011;;;:::i;:::-;;5457:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6172:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9593:325;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5626:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7251:1315;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10581:274;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6279:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5680:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5518:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10863:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5827:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6128:37;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;10473:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5565:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6223:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5914:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10980:307;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9926:539;;;:::i;:::-;;5404:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5740:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8574:1011;4196:1;4344:7;;:19;4336:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4196:1;4412:7;:18;;;;8631:17:::1;8651:5;:17;8657:10;8651:17;;;;;;;;;;;;;;;8631:37;;8710:1;8687:4;:20;;;:24;8679:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;8792:13;;8771:4;:18;;;:34;;;;:::i;:::-;8752:15;:53;;8744:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;8844:15;8862:28;8879:10;8862:16;:28::i;:::-;8844:46;;8919:1;8909:7;:11;8901:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;8958:15;9036;;9010:4;:23;;;:41;;;;:::i;:::-;8992:15;:59;8988:131;;;9104:3;9089:11;;9079:7;:21;;;;:::i;:::-;9078:29;;;;:::i;:::-;9068:39;;8988:131;9131:18;9162:7;9152;:17;;;;:::i;:::-;9131:38;;9201:15;9180:4;:18;;:36;;;;9253:15;9227:4;:23;;:41;;;;9305:10;9281:4;:20;;;:34;;;;;;;:::i;:::-;;;;;;;;9365:47;9389:10;9401;9365;;;;;;;;;;;:23;;;;:47;;;;;:::i;:::-;9439:1;9429:7;:11;9425:90;;;9457:46;9481:12;;;;;;;;;;;9495:7;9457:10;;;;;;;;;;;:23;;;;:46;;;;;:::i;:::-;9425:90;9545:10;9532:45;;;9557:10;9569:7;9532:45;;;;;;;:::i;:::-;;;;;;;;8620:965;;;;4152:1:::0;4457:7;:22;;;;8574:1011::o;5457:27::-;;;;;;;;;;;;;:::o;6172:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;9593:325::-;9655:7;9675:16;9694:5;:12;9700:5;9694:12;;;;;;;;;;;;;;;9675:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9717:19;9757:4;:18;;;9739:15;:36;;;;:::i;:::-;9717:58;;9786:20;9852:3;9833:15;;9810:4;:20;;;:38;;;;:::i;:::-;9809:46;;;;:::i;:::-;9786:69;;9904:6;9889:11;9874:12;:26;;;;:::i;:::-;9873:37;;;;:::i;:::-;9866:44;;;;;9593:325;;;:::o;5626:29::-;;;;:::o;7251:1315::-;4196:1;4344:7;;:19;4336:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4196:1;4412:7;:18;;;;7355:1:::1;7345:7;:11;7337:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7414:17;7434:10;;;;;;;;;;;:20;;;7455:10;7475:4;7434:47;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7414:67;;7513:7;7500:9;:20;;7492:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;7561:63;7589:10;7609:4;7616:7;7561:10;;;;;;;;;;;:27;;;;:63;;;;;;:::i;:::-;7637:11;7676:3;7662:10;;7652:7;:20;;;;:::i;:::-;7651:28;;;;:::i;:::-;7637:42;;7690:17;7720:3;7710:7;:13;;;;:::i;:::-;7690:33;;7736:42;7760:12;;;;;;;;;;;7774:3;7736:10;;;;;;;;;;;:23;;;;:42;;;;;:::i;:::-;7816:1;7795:23;;:9;:23;;;;:50;;;;;7835:10;7822:23;;:9;:23;;;;7795:50;7791:448;;;7871:15;:27;7887:10;7871:27;;;;;;;;;;;;;;;;;;;;;;;;;7870:28;7862:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7948:21;7998:3;7983:11;;7973:7;:21;;;;:::i;:::-;7972:29;;;;:::i;:::-;7948:53;;8016:49;8040:9;8051:13;8016:10;;;;;;;;;;;:23;;;;:49;;;;;:::i;:::-;8104:9;8080;:21;8090:10;8080:21;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8158:4;8128:15;:27;8144:10;8128:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;8202:9;8184:43;;;8213:13;8184:43;;;;;;:::i;:::-;;;;;;;;7847:392;7791:448;8251:17;8271:5;:17;8277:10;8271:17;;;;;;;;;;;;;;;8251:37;;8323:9;8299:4;:20;;;:33;;;;;;;:::i;:::-;;;;;;;;8364:15;8343:4;:18;;:36;;;;8416:1;8390:4;:23;;:27;;;;8481:9;8464:13;;:26;;;;;;;:::i;:::-;;;;;;;;8548:9;8508:50;;8516:10;8508:50;;;8528:7;8537:9;8508:50;;;;;;;:::i;:::-;;;;;;;;7326:1240;;;;4152:1:::0;4457:7;:22;;;;7251:1315;;:::o;10581:274::-;6864:5;;;;;;;;;;;6850:19;;:10;:19;;;6842:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;10680:1:::1;10659:23;;:9;:23;;::::0;10651:57:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10719:16;10746:10;;;;;;;;;;;10719:38;;10788:9;10768:10;;:30;;;;;;;;;;;;;;;;;;10837:9;10814:33;;10827:8;10814:33;;;;;;;;;;;;10640:215;10581:274:::0;:::o;6279:28::-;;;;:::o;5680:31::-;;;;:::o;5518:20::-;;;;;;;;;;;;;:::o;10863:107::-;10904:7;10927:10;;;;;;;;;;;:20;;;10956:4;10927:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10920:42;;10863:107;:::o;5827:41::-;;;;:::o;6128:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10473:100::-;10525:7;10552:13;;10545:20;;10473:100;:::o;5565:34::-;;;;:::o;6223:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;5914:31::-;;;;:::o;10980:307::-;6864:5;;;;;;;;;;;6850:19;;:10;:19;;;6842:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;11094:1:::1;11069:27;;:13;:27;;::::0;11061:69:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11141:20;11164:12;;;;;;;;;;;11141:35;;11202:13;11187:12;;:28;;;;;;;;;;;;;;;;;;11265:13;11231:48;;11251:12;11231:48;;;;;;;;;;;;11050:237;10980:307:::0;:::o;9926:539::-;4196:1;4344:7;;:19;4336:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4196:1;4412:7;:18;;;;9979:17:::1;9999:5;:17;10005:10;9999:17;;;;;;;;;;;;;;;9979:37;;10058:1;10035:4;:20;;;:24;10027:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10140:13;;10119:4;:18;;;:34;;;;:::i;:::-;10100:15;:53;;10092:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10192:15;10210:28;10227:10;10210:16;:28::i;:::-;10192:46;;10267:1;10257:7;:11;10249:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;10330:7;10306:4;:20;;;:31;;;;;;;:::i;:::-;;;;;;;;10395:15;10374:4;:18;;:36;;;;10437:10;10428:29;;;10449:7;10428:29;;;;;;:::i;:::-;;;;;;;;9968:497;;4152:1:::0;4457:7;:22;;;;9926:539::o;5404:24::-;;;;;;;;;;;;;:::o;5740:40::-;;;;:::o;2537:211::-;2654:86;2674:5;2704:23;;;2729:2;2733:5;2681:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2654:19;:86::i;:::-;2537:211;;;:::o;2756:248::-;2900:96;2920:5;2950:27;;;2979:4;2985:2;2989:5;2927:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2900:19;:96::i;:::-;2756:248;;;;:::o;3416:333::-;3497:23;3523:69;3551:4;3523:69;;;;;;;;;;;;;;;;;3531:5;3523:27;;;;:69;;;;;:::i;:::-;3497:95;;3627:1;3607:10;:17;:21;3603:139;;;3664:10;3653:30;;;;;;;;;;;;:::i;:::-;3645:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;3603:139;3486:263;3416:333;;:::o;833:230::-;970:12;1002:53;1025:6;1033:4;1039:1;1042:12;1002:22;:53::i;:::-;995:60;;833:230;;;;;:::o;1706:733::-;1879:12;1912:18;1923:6;1912:10;:18::i;:::-;1904:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;1978:12;1992:23;2019:6;:11;;2038:8;2048:4;2019:34;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1977:76;;;;2068:7;2064:368;;;2099:10;2092:17;;;;;;2064:368;2166:1;2146:10;:17;:21;2142:279;;;2249:10;2243:17;2310:15;2297:10;2293:2;2289:19;2282:44;2142:279;2392:12;2385:20;;;;;;;;;;;:::i;:::-;;;;;;;;1706:733;;;;;;;:::o;121:196::-;181:4;198:12;265:7;253:20;245:28;;308:1;301:4;:8;294:15;;;121:196;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;674:117::-;783:1;780;773:12;920:122;993:24;1011:5;993:24;:::i;:::-;986:5;983:35;973:63;;1032:1;1029;1022:12;973:63;920:122;:::o;1048:139::-;1094:5;1132:6;1119:20;1110:29;;1148:33;1175:5;1148:33;:::i;:::-;1048:139;;;;:::o;1193:329::-;1252:6;1301:2;1289:9;1280:7;1276:23;1272:32;1269:119;;;1307:79;;:::i;:::-;1269:119;1427:1;1452:53;1497:7;1488:6;1477:9;1473:22;1452:53;:::i;:::-;1442:63;;1398:117;1193:329;;;;:::o;1528:77::-;1565:7;1594:5;1583:16;;1528:77;;;:::o;1611:118::-;1698:24;1716:5;1698:24;:::i;:::-;1693:3;1686:37;1611:118;;:::o;1735:222::-;1828:4;1866:2;1855:9;1851:18;1843:26;;1879:71;1947:1;1936:9;1932:17;1923:6;1879:71;:::i;:::-;1735:222;;;;:::o;1963:122::-;2036:24;2054:5;2036:24;:::i;:::-;2029:5;2026:35;2016:63;;2075:1;2072;2065:12;2016:63;1963:122;:::o;2091:139::-;2137:5;2175:6;2162:20;2153:29;;2191:33;2218:5;2191:33;:::i;:::-;2091:139;;;;:::o;2236:474::-;2304:6;2312;2361:2;2349:9;2340:7;2336:23;2332:32;2329:119;;;2367:79;;:::i;:::-;2329:119;2487:1;2512:53;2557:7;2548:6;2537:9;2533:22;2512:53;:::i;:::-;2502:63;;2458:117;2614:2;2640:53;2685:7;2676:6;2665:9;2661:22;2640:53;:::i;:::-;2630:63;;2585:118;2236:474;;;;;:::o;2716:442::-;2865:4;2903:2;2892:9;2888:18;2880:26;;2916:71;2984:1;2973:9;2969:17;2960:6;2916:71;:::i;:::-;2997:72;3065:2;3054:9;3050:18;3041:6;2997:72;:::i;:::-;3079;3147:2;3136:9;3132:18;3123:6;3079:72;:::i;:::-;2716:442;;;;;;:::o;3164:90::-;3198:7;3241:5;3234:13;3227:21;3216:32;;3164:90;;;:::o;3260:109::-;3341:21;3356:5;3341:21;:::i;:::-;3336:3;3329:34;3260:109;;:::o;3375:210::-;3462:4;3500:2;3489:9;3485:18;3477:26;;3513:65;3575:1;3564:9;3560:17;3551:6;3513:65;:::i;:::-;3375:210;;;;:::o;3591:60::-;3619:3;3640:5;3633:12;;3591:60;;;:::o;3657:142::-;3707:9;3740:53;3758:34;3767:24;3785:5;3767:24;:::i;:::-;3758:34;:::i;:::-;3740:53;:::i;:::-;3727:66;;3657:142;;;:::o;3805:126::-;3855:9;3888:37;3919:5;3888:37;:::i;:::-;3875:50;;3805:126;;;:::o;3937:140::-;4001:9;4034:37;4065:5;4034:37;:::i;:::-;4021:50;;3937:140;;;:::o;4083:159::-;4184:51;4229:5;4184:51;:::i;:::-;4179:3;4172:64;4083:159;;:::o;4248:250::-;4355:4;4393:2;4382:9;4378:18;4370:26;;4406:85;4488:1;4477:9;4473:17;4464:6;4406:85;:::i;:::-;4248:250;;;;:::o;4504:169::-;4588:11;4622:6;4617:3;4610:19;4662:4;4657:3;4653:14;4638:29;;4504:169;;;;:::o;4679:181::-;4819:33;4815:1;4807:6;4803:14;4796:57;4679:181;:::o;4866:366::-;5008:3;5029:67;5093:2;5088:3;5029:67;:::i;:::-;5022:74;;5105:93;5194:3;5105:93;:::i;:::-;5223:2;5218:3;5214:12;5207:19;;4866:366;;;:::o;5238:419::-;5404:4;5442:2;5431:9;5427:18;5419:26;;5491:9;5485:4;5481:20;5477:1;5466:9;5462:17;5455:47;5519:131;5645:4;5519:131;:::i;:::-;5511:139;;5238:419;;;:::o;5663:167::-;5803:19;5799:1;5791:6;5787:14;5780:43;5663:167;:::o;5836:366::-;5978:3;5999:67;6063:2;6058:3;5999:67;:::i;:::-;5992:74;;6075:93;6164:3;6075:93;:::i;:::-;6193:2;6188:3;6184:12;6177:19;;5836:366;;;:::o;6208:419::-;6374:4;6412:2;6401:9;6397:18;6389:26;;6461:9;6455:4;6451:20;6447:1;6436:9;6432:17;6425:47;6489:131;6615:4;6489:131;:::i;:::-;6481:139;;6208:419;;;:::o;6633:180::-;6681:77;6678:1;6671:88;6778:4;6775:1;6768:15;6802:4;6799:1;6792:15;6819:191;6859:3;6878:20;6896:1;6878:20;:::i;:::-;6873:25;;6912:20;6930:1;6912:20;:::i;:::-;6907:25;;6955:1;6952;6948:9;6941:16;;6976:3;6973:1;6970:10;6967:36;;;6983:18;;:::i;:::-;6967:36;6819:191;;;;:::o;7016:171::-;7156:23;7152:1;7144:6;7140:14;7133:47;7016:171;:::o;7193:366::-;7335:3;7356:67;7420:2;7415:3;7356:67;:::i;:::-;7349:74;;7432:93;7521:3;7432:93;:::i;:::-;7550:2;7545:3;7541:12;7534:19;;7193:366;;;:::o;7565:419::-;7731:4;7769:2;7758:9;7754:18;7746:26;;7818:9;7812:4;7808:20;7804:1;7793:9;7789:17;7782:47;7846:131;7972:4;7846:131;:::i;:::-;7838:139;;7565:419;;;:::o;7990:170::-;8130:22;8126:1;8118:6;8114:14;8107:46;7990:170;:::o;8166:366::-;8308:3;8329:67;8393:2;8388:3;8329:67;:::i;:::-;8322:74;;8405:93;8494:3;8405:93;:::i;:::-;8523:2;8518:3;8514:12;8507:19;;8166:366;;;:::o;8538:419::-;8704:4;8742:2;8731:9;8727:18;8719:26;;8791:9;8785:4;8781:20;8777:1;8766:9;8762:17;8755:47;8819:131;8945:4;8819:131;:::i;:::-;8811:139;;8538:419;;;:::o;8963:410::-;9003:7;9026:20;9044:1;9026:20;:::i;:::-;9021:25;;9060:20;9078:1;9060:20;:::i;:::-;9055:25;;9115:1;9112;9108:9;9137:30;9155:11;9137:30;:::i;:::-;9126:41;;9316:1;9307:7;9303:15;9300:1;9297:22;9277:1;9270:9;9250:83;9227:139;;9346:18;;:::i;:::-;9227:139;9011:362;8963:410;;;;:::o;9379:180::-;9427:77;9424:1;9417:88;9524:4;9521:1;9514:15;9548:4;9545:1;9538:15;9565:185;9605:1;9622:20;9640:1;9622:20;:::i;:::-;9617:25;;9656:20;9674:1;9656:20;:::i;:::-;9651:25;;9695:1;9685:35;;9700:18;;:::i;:::-;9685:35;9742:1;9739;9735:9;9730:14;;9565:185;;;;:::o;9756:194::-;9796:4;9816:20;9834:1;9816:20;:::i;:::-;9811:25;;9850:20;9868:1;9850:20;:::i;:::-;9845:25;;9894:1;9891;9887:9;9879:17;;9918:1;9912:4;9909:11;9906:37;;;9923:18;;:::i;:::-;9906:37;9756:194;;;;:::o;9956:332::-;10077:4;10115:2;10104:9;10100:18;10092:26;;10128:71;10196:1;10185:9;10181:17;10172:6;10128:71;:::i;:::-;10209:72;10277:2;10266:9;10262:18;10253:6;10209:72;:::i;:::-;9956:332;;;;;:::o;10294:227::-;10434:34;10430:1;10422:6;10418:14;10411:58;10503:10;10498:2;10490:6;10486:15;10479:35;10294:227;:::o;10527:366::-;10669:3;10690:67;10754:2;10749:3;10690:67;:::i;:::-;10683:74;;10766:93;10855:3;10766:93;:::i;:::-;10884:2;10879:3;10875:12;10868:19;;10527:366;;;:::o;10899:419::-;11065:4;11103:2;11092:9;11088:18;11080:26;;11152:9;11146:4;11142:20;11138:1;11127:9;11123:17;11116:47;11180:131;11306:4;11180:131;:::i;:::-;11172:139;;10899:419;;;:::o;11324:332::-;11445:4;11483:2;11472:9;11468:18;11460:26;;11496:71;11564:1;11553:9;11549:17;11540:6;11496:71;:::i;:::-;11577:72;11645:2;11634:9;11630:18;11621:6;11577:72;:::i;:::-;11324:332;;;;;:::o;11662:143::-;11719:5;11750:6;11744:13;11735:22;;11766:33;11793:5;11766:33;:::i;:::-;11662:143;;;;:::o;11811:351::-;11881:6;11930:2;11918:9;11909:7;11905:23;11901:32;11898:119;;;11936:79;;:::i;:::-;11898:119;12056:1;12081:64;12137:7;12128:6;12117:9;12113:22;12081:64;:::i;:::-;12071:74;;12027:128;11811:351;;;;:::o;12168:173::-;12308:25;12304:1;12296:6;12292:14;12285:49;12168:173;:::o;12347:366::-;12489:3;12510:67;12574:2;12569:3;12510:67;:::i;:::-;12503:74;;12586:93;12675:3;12586:93;:::i;:::-;12704:2;12699:3;12695:12;12688:19;;12347:366;;;:::o;12719:419::-;12885:4;12923:2;12912:9;12908:18;12900:26;;12972:9;12966:4;12962:20;12958:1;12947:9;12943:17;12936:47;13000:131;13126:4;13000:131;:::i;:::-;12992:139;;12719:419;;;:::o;13144:180::-;13284:32;13280:1;13272:6;13268:14;13261:56;13144:180;:::o;13330:366::-;13472:3;13493:67;13557:2;13552:3;13493:67;:::i;:::-;13486:74;;13569:93;13658:3;13569:93;:::i;:::-;13687:2;13682:3;13678:12;13671:19;;13330:366;;;:::o;13702:419::-;13868:4;13906:2;13895:9;13891:18;13883:26;;13955:9;13949:4;13945:20;13941:1;13930:9;13926:17;13919:47;13983:131;14109:4;13983:131;:::i;:::-;13975:139;;13702:419;;;:::o;14127:164::-;14267:16;14263:1;14255:6;14251:14;14244:40;14127:164;:::o;14297:366::-;14439:3;14460:67;14524:2;14519:3;14460:67;:::i;:::-;14453:74;;14536:93;14625:3;14536:93;:::i;:::-;14654:2;14649:3;14645:12;14638:19;;14297:366;;;:::o;14669:419::-;14835:4;14873:2;14862:9;14858:18;14850:26;;14922:9;14916:4;14912:20;14908:1;14897:9;14893:17;14886:47;14950:131;15076:4;14950:131;:::i;:::-;14942:139;;14669:419;;;:::o;15094:171::-;15234:23;15230:1;15222:6;15218:14;15211:47;15094:171;:::o;15271:366::-;15413:3;15434:67;15498:2;15493:3;15434:67;:::i;:::-;15427:74;;15510:93;15599:3;15510:93;:::i;:::-;15628:2;15623:3;15619:12;15612:19;;15271:366;;;:::o;15643:419::-;15809:4;15847:2;15836:9;15832:18;15824:26;;15896:9;15890:4;15886:20;15882:1;15871:9;15867:17;15860:47;15924:131;16050:4;15924:131;:::i;:::-;15916:139;;15643:419;;;:::o;16068:179::-;16208:31;16204:1;16196:6;16192:14;16185:55;16068:179;:::o;16253:366::-;16395:3;16416:67;16480:2;16475:3;16416:67;:::i;:::-;16409:74;;16492:93;16581:3;16492:93;:::i;:::-;16610:2;16605:3;16601:12;16594:19;;16253:366;;;:::o;16625:419::-;16791:4;16829:2;16818:9;16814:18;16806:26;;16878:9;16872:4;16868:20;16864:1;16853:9;16849:17;16842:47;16906:131;17032:4;16906:131;:::i;:::-;16898:139;;16625:419;;;:::o;17050:332::-;17171:4;17209:2;17198:9;17194:18;17186:26;;17222:71;17290:1;17279:9;17275:17;17266:6;17222:71;:::i;:::-;17303:72;17371:2;17360:9;17356:18;17347:6;17303:72;:::i;:::-;17050:332;;;;;:::o;17388:442::-;17537:4;17575:2;17564:9;17560:18;17552:26;;17588:71;17656:1;17645:9;17641:17;17632:6;17588:71;:::i;:::-;17669:72;17737:2;17726:9;17722:18;17713:6;17669:72;:::i;:::-;17751;17819:2;17808:9;17804:18;17795:6;17751:72;:::i;:::-;17388:442;;;;;;:::o;17836:116::-;17906:21;17921:5;17906:21;:::i;:::-;17899:5;17896:32;17886:60;;17942:1;17939;17932:12;17886:60;17836:116;:::o;17958:137::-;18012:5;18043:6;18037:13;18028:22;;18059:30;18083:5;18059:30;:::i;:::-;17958:137;;;;:::o;18101:345::-;18168:6;18217:2;18205:9;18196:7;18192:23;18188:32;18185:119;;;18223:79;;:::i;:::-;18185:119;18343:1;18368:61;18421:7;18412:6;18401:9;18397:22;18368:61;:::i;:::-;18358:71;;18314:125;18101:345;;;;:::o;18452:229::-;18592:34;18588:1;18580:6;18576:14;18569:58;18661:12;18656:2;18648:6;18644:15;18637:37;18452:229;:::o;18687:366::-;18829:3;18850:67;18914:2;18909:3;18850:67;:::i;:::-;18843:74;;18926:93;19015:3;18926:93;:::i;:::-;19044:2;19039:3;19035:12;19028:19;;18687:366;;;:::o;19059:419::-;19225:4;19263:2;19252:9;19248:18;19240:26;;19312:9;19306:4;19302:20;19298:1;19287:9;19283:17;19276:47;19340:131;19466:4;19340:131;:::i;:::-;19332:139;;19059:419;;;:::o;19484:179::-;19624:31;19620:1;19612:6;19608:14;19601:55;19484:179;:::o;19669:366::-;19811:3;19832:67;19896:2;19891:3;19832:67;:::i;:::-;19825:74;;19908:93;19997:3;19908:93;:::i;:::-;20026:2;20021:3;20017:12;20010:19;;19669:366;;;:::o;20041:419::-;20207:4;20245:2;20234:9;20230:18;20222:26;;20294:9;20288:4;20284:20;20280:1;20269:9;20265:17;20258:47;20322:131;20448:4;20322:131;:::i;:::-;20314:139;;20041:419;;;:::o;20466:98::-;20517:6;20551:5;20545:12;20535:22;;20466:98;;;:::o;20570:147::-;20671:11;20708:3;20693:18;;20570:147;;;;:::o;20723:139::-;20812:6;20807:3;20802;20796:23;20853:1;20844:6;20839:3;20835:16;20828:27;20723:139;;;:::o;20868:386::-;20972:3;21000:38;21032:5;21000:38;:::i;:::-;21054:88;21135:6;21130:3;21054:88;:::i;:::-;21047:95;;21151:65;21209:6;21204:3;21197:4;21190:5;21186:16;21151:65;:::i;:::-;21241:6;21236:3;21232:16;21225:23;;20976:278;20868:386;;;;:::o;21260:271::-;21390:3;21412:93;21501:3;21492:6;21412:93;:::i;:::-;21405:100;;21522:3;21515:10;;21260:271;;;;:::o;21537:99::-;21589:6;21623:5;21617:12;21607:22;;21537:99;;;:::o;21642:102::-;21683:6;21734:2;21730:7;21725:2;21718:5;21714:14;21710:28;21700:38;;21642:102;;;:::o;21750:377::-;21838:3;21866:39;21899:5;21866:39;:::i;:::-;21921:71;21985:6;21980:3;21921:71;:::i;:::-;21914:78;;22001:65;22059:6;22054:3;22047:4;22040:5;22036:16;22001:65;:::i;:::-;22091:29;22113:6;22091:29;:::i;:::-;22086:3;22082:39;22075:46;;21842:285;21750:377;;;;:::o;22133:313::-;22246:4;22284:2;22273:9;22269:18;22261:26;;22333:9;22327:4;22323:20;22319:1;22308:9;22304:17;22297:47;22361:78;22434:4;22425:6;22361:78;:::i;:::-;22353:86;;22133:313;;;;:::o
Swarm Source
ipfs://1c87ab3b965354bd92f0eb2744df7e3739df7729b2d341409e84f987b4613f85
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.