More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 29 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 18844338 | 375 days ago | IN | 0 ETH | 0.00227428 | ||||
Approve | 18771992 | 386 days ago | IN | 0 ETH | 0.00222095 | ||||
Approve | 18771569 | 386 days ago | IN | 0 ETH | 0.0024732 | ||||
Approve | 18771354 | 386 days ago | IN | 0 ETH | 0.00228003 | ||||
Approve | 18771317 | 386 days ago | IN | 0 ETH | 0.00249516 | ||||
Approve | 18771293 | 386 days ago | IN | 0 ETH | 0.00263505 | ||||
Approve | 18771249 | 386 days ago | IN | 0 ETH | 0.00306847 | ||||
Approve | 18771226 | 386 days ago | IN | 0 ETH | 0.00282186 | ||||
Approve | 18771189 | 386 days ago | IN | 0 ETH | 0.00490459 | ||||
Approve | 18771189 | 386 days ago | IN | 0 ETH | 0.00490459 | ||||
Approve | 18771189 | 386 days ago | IN | 0 ETH | 0.00490459 | ||||
Approve | 18771189 | 386 days ago | IN | 0 ETH | 0.00490459 | ||||
Approve | 18771157 | 386 days ago | IN | 0 ETH | 0.00496233 | ||||
Approve | 18771120 | 386 days ago | IN | 0 ETH | 0.00248881 | ||||
Renounce Ownersh... | 18771085 | 386 days ago | IN | 0 ETH | 0.00131138 | ||||
Set Fees | 18771084 | 386 days ago | IN | 0 ETH | 0.00210011 | ||||
Set Max Wallet | 18771083 | 386 days ago | IN | 0 ETH | 0.0015603 | ||||
Set Max Wallet | 18771081 | 386 days ago | IN | 0 ETH | 0.00187817 | ||||
Approve | 18771075 | 386 days ago | IN | 0 ETH | 0.00306331 | ||||
Approve | 18771066 | 386 days ago | IN | 0 ETH | 0.00439526 | ||||
Approve | 18771066 | 386 days ago | IN | 0 ETH | 0.00439526 | ||||
Approve | 18771066 | 386 days ago | IN | 0 ETH | 0.00439526 | ||||
Approve | 18771066 | 386 days ago | IN | 0 ETH | 0.00439526 | ||||
Set Fee Swap Ena... | 18771051 | 386 days ago | IN | 0 ETH | 0.00176626 | ||||
Approve | 18771051 | 386 days ago | IN | 0 ETH | 0.00299705 |
Loading...
Loading
Contract Name:
FRIN
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-12 */ // SPDX-License-Identifier: MIT /** A safe place for you to invest and borrow against your holdings. Fast, easily and on your own terms. Website: https://www.fringefinance.org Telegram: https://t.me/frinfi_erc Twitter: https://twitter.com/frinfi_erc Dapp: https://app.fringefinance.org */ pragma solidity 0.8.21; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } interface IUniswapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IUniswapFactory { function createPair(address tokenA, address tokenB) external returns (address uniswapPair); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } contract FRIN is IERC20, Ownable { using SafeMath for uint256; string constant _name = "Fringe Finance"; string constant _symbol = "FRIN"; uint8 constant _decimals = 9; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) _isFeeExempt; mapping (address => bool) _isMaxTxExempt; address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 _totalSupply = 10 ** 9 * (10 ** _decimals); uint256 _lpFee = 0; uint256 _mktFee = 25; uint256 _tFee = _lpFee + _mktFee; uint256 _denominator = 100; uint256 public maxTxAmount = (_totalSupply * 18) / 1000; address public marketingWallet; IUniswapRouter public uniswapRouter; address public uniswapPair; bool public feeSwapEnabled = false; uint256 public feeSwapThreshold = _totalSupply / 100000; // 0.1% bool _inswap; modifier lockSwap() { _inswap = true; _; _inswap = false; } constructor () Ownable(msg.sender) { uniswapRouter = IUniswapRouter(routerAddress); uniswapPair = IUniswapFactory(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this)); _allowances[address(this)][address(uniswapRouter)] = type(uint256).max; address _owner = owner; marketingWallet = 0xD80AfdadFe1377C7C71054e28330241147F314FC; _isFeeExempt[marketingWallet] = true; _isMaxTxExempt[_owner] = true; _isMaxTxExempt[marketingWallet] = true; _isMaxTxExempt[deadAddress] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function takeFees(address sender, uint256 amount) internal returns (uint256) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 feeAmount = amount.mul(_tFee).div(_denominator); if (shouldChargeFee(sender) && !feeSwapEnabled) { feeAmount = 0; } _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldChargeFee(address sender) internal view returns (bool) { return !_isFeeExempt[sender]; } function setMaxWallet(uint256 amountPercent) external onlyOwner { maxTxAmount = (_totalSupply * amountPercent ) / 1000; } function setFeeSwapEnabled(bool value) external onlyOwner { feeSwapEnabled = value; } function shouldSwap() internal view returns (bool) { return !_inswap && feeSwapEnabled && _balances[address(this)] >= feeSwapThreshold; } function swapAndLiquidify() internal lockSwap { uint256 contractTokenBalance = balanceOf(address(this)); uint256 amountToLiquify = contractTokenBalance.mul(_lpFee).div(_tFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapRouter.WETH(); uint256 balanceBefore = address(this).balance; uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = _tFee.sub(_lpFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(_lpFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(_mktFee).div(totalETHFee); (bool MarketingSuccess, /* bytes memory data */) = payable(marketingWallet).call{value: amountETHMarketing, gas: 30000}(""); require(MarketingSuccess, "receiver rejected ETH transfer"); if(amountToLiquify > 0){ uniswapRouter.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, marketingWallet, block.timestamp ); } } function _transferStandard(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function setFees(uint256 liquidityFee_, uint256 marketingFee_) external onlyOwner { _lpFee = liquidityFee_; _mktFee = marketingFee_; _tFee = _lpFee + _mktFee; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(_inswap){ return _transferStandard(sender, recipient, amount); } if (recipient != uniswapPair && recipient != deadAddress) { require(_isMaxTxExempt[recipient] || _balances[recipient] + amount <= maxTxAmount, "Transfer amount exceeds the bag size."); } if(shouldSwap() && shouldChargeFee(sender) && recipient == uniswapPair && amount > feeSwapThreshold){ swapAndLiquidify(); } bool shouldTax = shouldChargeFee(sender) || !feeSwapEnabled; if (shouldTax) { _balances[recipient] = _balances[recipient].add(takeFees(sender, amount)); } else { _balances[recipient] = _balances[recipient].add(amount); } emit Transfer(sender, recipient, amount); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee_","type":"uint256"},{"internalType":"uint256","name":"marketingFee_","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600580546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556006805490911661dead179055620000486009600a62000476565b6200005890633b9aca006200048d565b6007555f6008819055601960098190556200007391620004a7565b600a556064600b556103e860075460126200008f91906200048d565b6200009b9190620004bd565b600c55600f805460ff60a01b19169055600754620000be90620186a090620004bd565b601055348015620000cd575f80fd5b505f8054336001600160a01b031991821617909155600554600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000137573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200015d9190620004dd565b6001600160a01b031663c9c65396600e5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e29190620004dd565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156200022c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002529190620004dd565b600f80546001600160a01b039283166001600160a01b031991821617909155305f908152600260209081526040808320600e548616845282528083205f1990558254600d805490951673d80afdadfe1377c7c71054e28330241147f314fc1785557f1e76b797d6ddcc41e1bcdabc62e25d29e1f908c2be83b23c880b82924f34af01805460ff1990811660019081179092559187168086526004855283862080548416831790559554871685528285208054831682179055600654909616845281842080549091168617905560075484845294825280832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000505565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003bb57815f19048211156200039f576200039f62000367565b80851615620003ad57918102915b93841c939080029062000380565b509250929050565b5f82620003d35750600162000470565b81620003e157505f62000470565b8160018114620003fa5760028114620004055762000425565b600191505062000470565b60ff84111562000419576200041962000367565b50506001821b62000470565b5060208310610133831016604e8410600b84101617156200044a575081810a62000470565b6200045683836200037b565b805f19048211156200046c576200046c62000367565b0290505b92915050565b5f6200048660ff841683620003c3565b9392505050565b808202811582820484141762000470576200047062000367565b8082018082111562000470576200047062000367565b5f82620004d857634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620004ee575f80fd5b81516001600160a01b038116811462000486575f80fd5b6113c080620005135f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a85780638d08c1681161006d5780638d08c1681461035b57806395d89b411461037a578063a9059cbb146103a6578063c816841b146103c5578063dd62ed3e146103e4578063de28707114610428575f80fd5b8063715018a6146102c0578063735de9f7146102d457806375f0a8741461030b578063893d20e81461032a5780638c0b5e2214610346575f80fd5b806323b872dd116100ee57806323b872dd146102065780632f54bf6e14610225578063313ce567146102525780635d0044ca1461026d57806370a082311461028c575f80fd5b806304866b801461013457806306fdde0314610169578063095ea7b3146101a85780630b78f9c0146101c757806318160ddd146101e8575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b50600f5461015490600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b348015610174575f80fd5b5060408051808201909152600e81526d4672696e67652046696e616e636560901b60208201525b60405161016091906110bf565b3480156101b3575f80fd5b506101546101c2366004611121565b61043d565b3480156101d2575f80fd5b506101e66101e136600461114b565b6104a9565b005b3480156101f3575f80fd5b506007545b604051908152602001610160565b348015610211575f80fd5b5061015461022036600461116b565b6104f6565b348015610230575f80fd5b5061015461023f3660046111a9565b5f546001600160a01b0391821691161490565b34801561025d575f80fd5b5060405160098152602001610160565b348015610278575f80fd5b506101e66102873660046111c4565b6105b4565b348015610297575f80fd5b506101f86102a63660046111a9565b6001600160a01b03165f9081526001602052604090205490565b3480156102cb575f80fd5b506101e66105fe565b3480156102df575f80fd5b50600e546102f3906001600160a01b031681565b6040516001600160a01b039091168152602001610160565b348015610316575f80fd5b50600d546102f3906001600160a01b031681565b348015610335575f80fd5b505f546001600160a01b03166102f3565b348015610351575f80fd5b506101f8600c5481565b348015610366575f80fd5b506101e66103753660046111db565b61066b565b348015610385575f80fd5b50604080518082019091526004815263232924a760e11b602082015261019b565b3480156103b1575f80fd5b506101546103c0366004611121565b6106b2565b3480156103d0575f80fd5b50600f546102f3906001600160a01b031681565b3480156103ef575f80fd5b506101f86103fe3660046111fa565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610433575f80fd5b506101f860105481565b335f8181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104979086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146104db5760405162461bcd60e51b81526004016104d290611231565b60405180910390fd5b600882905560098190556104ef8183611265565b600a555050565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f191461059f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260028252838120338252909152919091205461057b9184906106be565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b6105aa8484846106f6565b90505b9392505050565b5f546001600160a01b031633146105dd5760405162461bcd60e51b81526004016104d290611231565b6103e8816007546105ee9190611278565b6105f8919061128f565b600c5550565b5f546001600160a01b031633146106275760405162461bcd60e51b81526004016104d290611231565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146106945760405162461bcd60e51b81526004016104d290611231565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b5f6105ad3384846106f6565b5f81848411156106e15760405162461bcd60e51b81526004016104d291906110bf565b505f6106ed84866112ae565b95945050505050565b6011545f9060ff16156107155761070e84848461095d565b90506105ad565b600f546001600160a01b0384811691161480159061074157506006546001600160a01b03848116911614155b156107ea576001600160a01b0383165f9081526004602052604090205460ff16806107905750600c546001600160a01b0384165f9081526001602052604090205461078d908490611265565b11155b6107ea5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016104d2565b6107f2610a40565b801561081657506001600160a01b0384165f9081526003602052604090205460ff16155b801561082f5750600f546001600160a01b038481169116145b801561083c575060105482115b1561084957610849610a7f565b6001600160a01b0384165f9081526003602052604081205460ff16158061087a5750600f54600160a01b900460ff16155b905080156108ca576108ad61088f8685610def565b6001600160a01b0386165f9081526001602052604090205490610f35565b6001600160a01b0385165f90815260016020526040902055610905565b6001600160a01b0384165f908152600160205260409020546108ec9084610f35565b6001600160a01b0385165f908152600160205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161094a91815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526001909152918220546109ad9184906106be565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546109db9083610f35565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a2e9086815260200190565b60405180910390a35060019392505050565b6011545f9060ff16158015610a5e5750600f54600160a01b900460ff165b8015610a7a5750601054305f9081526001602052604090205410155b905090565b6011805460ff191660011790555f610aab306001600160a01b03165f9081526001602052604090205490565b90505f610ad46002610ace600a54610ace60085487610f9390919063ffffffff16565b90611011565b90505f610ae18383611052565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610b1957610b196112c1565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9491906112d5565b81600181518110610ba757610ba76112c1565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bf09086905f908790309042906004016112f0565b5f604051808303815f87803b158015610c07575f80fd5b505af1158015610c19573d5f803e3d5ffd5b505050505f610c31824761105290919063ffffffff16565b90505f610c56610c4d600260085461101190919063ffffffff16565b600a5490611052565b90505f610c776002610ace84610ace60085488610f9390919063ffffffff16565b90505f610c9383610ace60095487610f9390919063ffffffff16565b600d546040519192505f916001600160a01b039091169061753090849084818181858888f193505050503d805f8114610ce7576040519150601f19603f3d011682016040523d82523d5f602084013e610cec565b606091505b5050905080610d3d5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016104d2565b8815610dd957600e54600d5460405163f305d71960e01b8152306004820152602481018c90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610db0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dd5919061135f565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385165f908152600190915291822054610e3f9184906106be565b6001600160a01b0384165f90815260016020526040812091909155600b54600a54610e709190610ace908690610f93565b9050610e94846001600160a01b03165f9081526003602052604090205460ff161590565b8015610eaa5750600f54600160a01b900460ff16155b15610eb257505f5b305f90815260016020526040902054610ecb9082610f35565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1b9085815260200190565b60405180910390a3610f2d8382611052565b949350505050565b5f80610f418385611265565b9050838110156105ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d2565b5f825f03610fa257505f6104a3565b5f610fad8385611278565b905082610fba858361128f565b146105ad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d2565b5f6105ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611093565b5f6105ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106be565b5f81836110b35760405162461bcd60e51b81526004016104d291906110bf565b505f6106ed848661128f565b5f6020808352835180828501525f5b818110156110ea578581018301518582016040015282016110ce565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461111e575f80fd5b50565b5f8060408385031215611132575f80fd5b823561113d8161110a565b946020939093013593505050565b5f806040838503121561115c575f80fd5b50508035926020909101359150565b5f805f6060848603121561117d575f80fd5b83356111888161110a565b925060208401356111988161110a565b929592945050506040919091013590565b5f602082840312156111b9575f80fd5b81356105ad8161110a565b5f602082840312156111d4575f80fd5b5035919050565b5f602082840312156111eb575f80fd5b813580151581146105ad575f80fd5b5f806040838503121561120b575f80fd5b82356112168161110a565b915060208301356112268161110a565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104a3576104a3611251565b80820281158282048414176104a3576104a3611251565b5f826112a957634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104a3576104a3611251565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112e5575f80fd5b81516105ad8161110a565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561133e5784516001600160a01b031683529383019391830191600101611319565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611371575f80fd5b835192506020840151915060408401519050925092509256fea264697066735822122013348a378351e868206c104f62648b6891bc7e80d31904e3c617d24d69e4084564736f6c63430008150033
Deployed Bytecode
0x608060405260043610610129575f3560e01c8063715018a6116100a85780638d08c1681161006d5780638d08c1681461035b57806395d89b411461037a578063a9059cbb146103a6578063c816841b146103c5578063dd62ed3e146103e4578063de28707114610428575f80fd5b8063715018a6146102c0578063735de9f7146102d457806375f0a8741461030b578063893d20e81461032a5780638c0b5e2214610346575f80fd5b806323b872dd116100ee57806323b872dd146102065780632f54bf6e14610225578063313ce567146102525780635d0044ca1461026d57806370a082311461028c575f80fd5b806304866b801461013457806306fdde0314610169578063095ea7b3146101a85780630b78f9c0146101c757806318160ddd146101e8575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b50600f5461015490600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b348015610174575f80fd5b5060408051808201909152600e81526d4672696e67652046696e616e636560901b60208201525b60405161016091906110bf565b3480156101b3575f80fd5b506101546101c2366004611121565b61043d565b3480156101d2575f80fd5b506101e66101e136600461114b565b6104a9565b005b3480156101f3575f80fd5b506007545b604051908152602001610160565b348015610211575f80fd5b5061015461022036600461116b565b6104f6565b348015610230575f80fd5b5061015461023f3660046111a9565b5f546001600160a01b0391821691161490565b34801561025d575f80fd5b5060405160098152602001610160565b348015610278575f80fd5b506101e66102873660046111c4565b6105b4565b348015610297575f80fd5b506101f86102a63660046111a9565b6001600160a01b03165f9081526001602052604090205490565b3480156102cb575f80fd5b506101e66105fe565b3480156102df575f80fd5b50600e546102f3906001600160a01b031681565b6040516001600160a01b039091168152602001610160565b348015610316575f80fd5b50600d546102f3906001600160a01b031681565b348015610335575f80fd5b505f546001600160a01b03166102f3565b348015610351575f80fd5b506101f8600c5481565b348015610366575f80fd5b506101e66103753660046111db565b61066b565b348015610385575f80fd5b50604080518082019091526004815263232924a760e11b602082015261019b565b3480156103b1575f80fd5b506101546103c0366004611121565b6106b2565b3480156103d0575f80fd5b50600f546102f3906001600160a01b031681565b3480156103ef575f80fd5b506101f86103fe3660046111fa565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610433575f80fd5b506101f860105481565b335f8181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104979086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146104db5760405162461bcd60e51b81526004016104d290611231565b60405180910390fd5b600882905560098190556104ef8183611265565b600a555050565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f191461059f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f90815260028252838120338252909152919091205461057b9184906106be565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b6105aa8484846106f6565b90505b9392505050565b5f546001600160a01b031633146105dd5760405162461bcd60e51b81526004016104d290611231565b6103e8816007546105ee9190611278565b6105f8919061128f565b600c5550565b5f546001600160a01b031633146106275760405162461bcd60e51b81526004016104d290611231565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146106945760405162461bcd60e51b81526004016104d290611231565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b5f6105ad3384846106f6565b5f81848411156106e15760405162461bcd60e51b81526004016104d291906110bf565b505f6106ed84866112ae565b95945050505050565b6011545f9060ff16156107155761070e84848461095d565b90506105ad565b600f546001600160a01b0384811691161480159061074157506006546001600160a01b03848116911614155b156107ea576001600160a01b0383165f9081526004602052604090205460ff16806107905750600c546001600160a01b0384165f9081526001602052604090205461078d908490611265565b11155b6107ea5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016104d2565b6107f2610a40565b801561081657506001600160a01b0384165f9081526003602052604090205460ff16155b801561082f5750600f546001600160a01b038481169116145b801561083c575060105482115b1561084957610849610a7f565b6001600160a01b0384165f9081526003602052604081205460ff16158061087a5750600f54600160a01b900460ff16155b905080156108ca576108ad61088f8685610def565b6001600160a01b0386165f9081526001602052604090205490610f35565b6001600160a01b0385165f90815260016020526040902055610905565b6001600160a01b0384165f908152600160205260409020546108ec9084610f35565b6001600160a01b0385165f908152600160205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161094a91815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526001909152918220546109ad9184906106be565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546109db9083610f35565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a2e9086815260200190565b60405180910390a35060019392505050565b6011545f9060ff16158015610a5e5750600f54600160a01b900460ff165b8015610a7a5750601054305f9081526001602052604090205410155b905090565b6011805460ff191660011790555f610aab306001600160a01b03165f9081526001602052604090205490565b90505f610ad46002610ace600a54610ace60085487610f9390919063ffffffff16565b90611011565b90505f610ae18383611052565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610b1957610b196112c1565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9491906112d5565b81600181518110610ba757610ba76112c1565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610bf09086905f908790309042906004016112f0565b5f604051808303815f87803b158015610c07575f80fd5b505af1158015610c19573d5f803e3d5ffd5b505050505f610c31824761105290919063ffffffff16565b90505f610c56610c4d600260085461101190919063ffffffff16565b600a5490611052565b90505f610c776002610ace84610ace60085488610f9390919063ffffffff16565b90505f610c9383610ace60095487610f9390919063ffffffff16565b600d546040519192505f916001600160a01b039091169061753090849084818181858888f193505050503d805f8114610ce7576040519150601f19603f3d011682016040523d82523d5f602084013e610cec565b606091505b5050905080610d3d5760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016104d2565b8815610dd957600e54600d5460405163f305d71960e01b8152306004820152602481018c90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610db0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dd5919061135f565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385165f908152600190915291822054610e3f9184906106be565b6001600160a01b0384165f90815260016020526040812091909155600b54600a54610e709190610ace908690610f93565b9050610e94846001600160a01b03165f9081526003602052604090205460ff161590565b8015610eaa5750600f54600160a01b900460ff16155b15610eb257505f5b305f90815260016020526040902054610ecb9082610f35565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1b9085815260200190565b60405180910390a3610f2d8382611052565b949350505050565b5f80610f418385611265565b9050838110156105ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d2565b5f825f03610fa257505f6104a3565b5f610fad8385611278565b905082610fba858361128f565b146105ad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d2565b5f6105ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611093565b5f6105ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106be565b5f81836110b35760405162461bcd60e51b81526004016104d291906110bf565b505f6106ed848661128f565b5f6020808352835180828501525f5b818110156110ea578581018301518582016040015282016110ce565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461111e575f80fd5b50565b5f8060408385031215611132575f80fd5b823561113d8161110a565b946020939093013593505050565b5f806040838503121561115c575f80fd5b50508035926020909101359150565b5f805f6060848603121561117d575f80fd5b83356111888161110a565b925060208401356111988161110a565b929592945050506040919091013590565b5f602082840312156111b9575f80fd5b81356105ad8161110a565b5f602082840312156111d4575f80fd5b5035919050565b5f602082840312156111eb575f80fd5b813580151581146105ad575f80fd5b5f806040838503121561120b575f80fd5b82356112168161110a565b915060208301356112268161110a565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104a3576104a3611251565b80820281158282048414176104a3576104a3611251565b5f826112a957634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104a3576104a3611251565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112e5575f80fd5b81516105ad8161110a565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561133e5784516001600160a01b031683529383019391830191600101611319565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611371575f80fd5b835192506020840151915060408401519050925092509256fea264697066735822122013348a378351e868206c104f62648b6891bc7e80d31904e3c617d24d69e4084564736f6c63430008150033
Deployed Bytecode Sourcemap
4372:7354:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5279:34;;;;;;;;;;-1:-1:-1;5279:34:0;;;;-1:-1:-1;;;5279:34:0;;;;;;;;;179:14:1;;172:22;154:41;;142:2;127:18;5279:34:0;;;;;;;;6471:80;;;;;;;;;;-1:-1:-1;6543:5:0;;;;;;;;;;;;-1:-1:-1;;;6543:5:0;;;;6471:80;;;;;;;:::i;9802:216::-;;;;;;;;;;-1:-1:-1;9802:216:0;;;;;:::i;:::-;;:::i;10576:196::-;;;;;;;;;;-1:-1:-1;10576:196:0;;;;;:::i;:::-;;:::i;:::-;;6201:88;;;;;;;;;;-1:-1:-1;6274:12:0;;6201:88;;;1614:25:1;;;1602:2;1587:18;6201:88:0;1468:177:1;10026:370:0;;;;;;;;;;-1:-1:-1;10026:370:0;;;;;:::i;:::-;;:::i;4075:103::-;;;;;;;;;;-1:-1:-1;4075:103:0;;;;;:::i;:::-;4130:4;4165:5;-1:-1:-1;;;;;4154:16:0;;;4165:5;;4154:16;;4075:103;6295:80;;;;;;;;;;-1:-1:-1;6295:80:0;;4560:1;2505:36:1;;2493:2;2478:18;6295:80:0;2363:184:1;7535:135:0;;;;;;;;;;-1:-1:-1;7535:135:0;;;;;:::i;:::-;;:::i;6641:105::-;;;;;;;;;;-1:-1:-1;6641:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6725:18:0;6707:7;6725:18;;;:9;:18;;;;;;;6641:105;4184:131;;;;;;;;;;;;;:::i;5204:35::-;;;;;;;;;;-1:-1:-1;5204:35:0;;;;-1:-1:-1;;;;;5204:35:0;;;;;;-1:-1:-1;;;;;2923:32:1;;;2905:51;;2893:2;2878:18;5204:35:0;2737:225:1;5167:30:0;;;;;;;;;;-1:-1:-1;5167:30:0;;;;-1:-1:-1;;;;;5167:30:0;;;6557:78;;;;;;;;;;-1:-1:-1;6609:7:0;6627:5;-1:-1:-1;;;;;6627:5:0;6557:78;;5105:55;;;;;;;;;;;;;;;;7678:99;;;;;;;;;;-1:-1:-1;7678:99:0;;;;;:::i;:::-;;:::i;6381:84::-;;;;;;;;;;-1:-1:-1;6455:7:0;;;;;;;;;;;;-1:-1:-1;;;6455:7:0;;;;6381:84;;10408:156;;;;;;;;;;-1:-1:-1;10408:156:0;;;;;:::i;:::-;;:::i;5246:26::-;;;;;;;;;;-1:-1:-1;5246:26:0;;;;-1:-1:-1;;;;;5246:26:0;;;6752:133;;;;;;;;;;-1:-1:-1;6752:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6854:19:0;;;6836:7;6854:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6752:133;5320:55;;;;;;;;;;;;;;;;9802:216;9906:10;9877:4;9894:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9894:32:0;;;;;;;;;;:41;;;9951:37;9877:4;;9894:32;;9951:37;;;;9929:6;1614:25:1;;1602:2;1587:18;;1468:177;9951:37:0;;;;;;;;-1:-1:-1;10006:4:0;9802:216;;;;;:::o;10576:196::-;4130:4;4165:5;-1:-1:-1;;;;;4165:5:0;4036:10;4154:16;4020:38;;;;-1:-1:-1;;;4020:38:0;;;;;;;:::i;:::-;;;;;;;;;10670:6:::1;:22:::0;;;10705:7:::1;:23:::0;;;10748:16:::1;10715:13:::0;10679;10748:16:::1;:::i;:::-;10740:5;:24:::0;-1:-1:-1;;10576:196:0:o;10026:370::-;-1:-1:-1;;;;;10146:19:0;;10126:4;10146:19;;;:11;:19;;;;;;;;10166:10;10146:31;;;;;;;;-1:-1:-1;;10146:52:0;10143:186;;10248:69;;;;;;;;;;;-1:-1:-1;;;10248:69:0;;;;;;;;-1:-1:-1;;;;;10248:19:0;;-1:-1:-1;10248:19:0;;;:11;:19;;;;;10268:10;10248:31;;;;;;;;;;:69;;10284:6;;10248:35;:69::i;:::-;-1:-1:-1;;;;;10214:19:0;;;;;;:11;:19;;;;;;;;10234:10;10214:31;;;;;;;:103;10143:186;10348:40;10362:6;10370:9;10381:6;10348:13;:40::i;:::-;10341:47;;10026:370;;;;;;:::o;7535:135::-;4130:4;4165:5;-1:-1:-1;;;;;4165:5:0;4036:10;4154:16;4020:38;;;;-1:-1:-1;;;4020:38:0;;;;;;;:::i;:::-;7658:4:::1;7640:13;7625:12;;:28;;;;:::i;:::-;7624:38;;;;:::i;:::-;7610:11;:52:::0;-1:-1:-1;7535:135:0:o;4184:131::-;4130:4;4165:5;-1:-1:-1;;;;;4165:5:0;4036:10;4154:16;4020:38;;;;-1:-1:-1;;;4020:38:0;;;;;;;:::i;:::-;4257:1:::1;4241:18:::0;;-1:-1:-1;;;;;;4241:18:0::1;::::0;;4275:32:::1;::::0;2905:51:1;;;4275:32:0::1;::::0;2893:2:1;2878:18;4275:32:0::1;;;;;;;4184:131::o:0;7678:99::-;4130:4;4165:5;-1:-1:-1;;;;;4165:5:0;4036:10;4154:16;4020:38;;;;-1:-1:-1;;;4020:38:0;;;;;;;:::i;:::-;7747:14:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;7747:22:0::1;-1:-1:-1::0;;;;7747:22:0;;::::1;::::0;;;::::1;::::0;;7678:99::o;10408:156::-;10488:4;10512:44;10526:10;10538:9;10549:6;10512:13;:44::i;683:190::-;769:7;805:12;797:6;;;;789:29;;;;-1:-1:-1;;;789:29:0;;;;;;;;:::i;:::-;-1:-1:-1;829:9:0;841:5;845:1;841;:5;:::i;:::-;829:17;683:190;-1:-1:-1;;;;;683:190:0:o;10788:935::-;10900:7;;10880:4;;10900:7;;10897:67;;;10917:44;10935:6;10943:9;10954:6;10917:17;:44::i;:::-;10910:51;;;;10897:67;11001:11;;-1:-1:-1;;;;;10988:24:0;;;11001:11;;10988:24;;;;:52;;-1:-1:-1;11029:11:0;;-1:-1:-1;;;;;11016:24:0;;;11029:11;;11016:24;;10988:52;10984:208;;;-1:-1:-1;;;;;11065:25:0;;;;;;:14;:25;;;;;;;;;:73;;-1:-1:-1;11127:11:0;;-1:-1:-1;;;;;11094:20:0;;;;;;:9;:20;;;;;;:29;;11117:6;;11094:29;:::i;:::-;:44;;11065:73;11057:123;;;;-1:-1:-1;;;11057:123:0;;5172:2:1;11057:123:0;;;5154:21:1;5211:2;5191:18;;;5184:30;5250:34;5230:18;;;5223:62;-1:-1:-1;;;5301:18:1;;;5294:35;5346:19;;11057:123:0;4970:401:1;11057:123:0;11213:12;:10;:12::i;:::-;:39;;;;-1:-1:-1;;;;;;7499:20:0;;7474:4;7499:20;;;:12;:20;;;;;;;;7498:21;11229:23;11213:67;;;;-1:-1:-1;11269:11:0;;-1:-1:-1;;;;;11256:24:0;;;11269:11;;11256:24;11213:67;:96;;;;;11293:16;;11284:6;:25;11213:96;11210:147;;;11326:18;:16;:18::i;:::-;-1:-1:-1;;;;;7499:20:0;;11368:14;7499:20;;;:12;:20;;;;;;;;7498:21;11385:42;;;-1:-1:-1;11413:14:0;;-1:-1:-1;;;11413:14:0;;;;11412:15;11385:42;11368:59;;11442:9;11438:203;;;11491:50;11516:24;11525:6;11533;11516:8;:24::i;:::-;-1:-1:-1;;;;;11491:20:0;;;;;;:9;:20;;;;;;;:24;:50::i;:::-;-1:-1:-1;;;;;11468:20:0;;;;;;:9;:20;;;;;:73;11438:203;;;-1:-1:-1;;;;;11597:20:0;;;;;;:9;:20;;;;;;:32;;11622:6;11597:24;:32::i;:::-;-1:-1:-1;;;;;11574:20:0;;;;;;:9;:20;;;;;:55;11438:203;11675:9;-1:-1:-1;;;;;11658:35:0;11667:6;-1:-1:-1;;;;;11658:35:0;;11686:6;11658:35;;;;1614:25:1;;1602:2;1587:18;;1468:177;11658:35:0;;;;;;;;-1:-1:-1;11711:4:0;;10788:935;-1:-1:-1;;;;10788:935:0:o;9457:333::-;9590:53;;;;;;;;;;;-1:-1:-1;;;9590:53:0;;;;;;;;-1:-1:-1;;;;;9590:17:0;;9553:4;9590:17;;;:9;:17;;;;;;;:53;;9612:6;;9590:21;:53::i;:::-;-1:-1:-1;;;;;9570:17:0;;;;;;;:9;:17;;;;;;:73;;;;9677:20;;;;;;;:32;;9702:6;9677:24;:32::i;:::-;-1:-1:-1;;;;;9654:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9725:35;;;;;;;;;;9753:6;1614:25:1;;1602:2;1587:18;;1468:177;9725:35:0;;;;;;;;-1:-1:-1;9778:4:0;9457:333;;;;;:::o;7785:169::-;7855:7;;7830:4;;7855:7;;7854:8;:35;;;;-1:-1:-1;7875:14:0;;-1:-1:-1;;;7875:14:0;;;;7854:35;:92;;;;-1:-1:-1;7930:16:0;;7920:4;7902:24;;;;:9;:24;;;;;;:44;;7854:92;7847:99;;7785:169;:::o;7966:1483::-;5431:7;:14;;-1:-1:-1;;5431:14:0;5441:4;5431:14;;;:7;8054:24:::1;8072:4;-1:-1:-1::0;;;;;6725:18:0;6707:7;6725:18;;;:9;:18;;;;;;;6641:105;8054:24:::1;8023:55;;8089:23;8115:50;8163:1;8115:43;8152:5;;8115:32;8140:6;;8115:20;:24;;:32;;;;:::i;:::-;:36:::0;::::1;:43::i;:50::-;8089:76:::0;-1:-1:-1;8176:20:0::1;8199:41;:20:::0;8089:76;8199:24:::1;:41::i;:::-;8277:16;::::0;;8291:1:::1;8277:16:::0;;;;;::::1;::::0;;8176:64;;-1:-1:-1;8253:21:0::1;::::0;8277:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8277:16:0::1;8253:40;;8322:4;8304;8309:1;8304:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8304:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8348:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;8348:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;8304:7;;8348:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8338:4;8343:1;8338:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8338:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;8439:13:::1;::::0;:195:::1;::::0;-1:-1:-1;;;8439:195:0;;8405:21:::1;::::0;8439:13;;;::::1;::::0;:64:::1;::::0;:195:::1;::::0;8518:12;;8381:21:::1;::::0;8561:4;;8588::::1;::::0;8608:15:::1;::::0;8439:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8645:17;8665:40;8691:13;8665:21;:25;;:40;;;;:::i;:::-;8645:60;;8716:19;8738:24;8748:13;8759:1;8748:6;;:10;;:13;;;;:::i;:::-;8738:5;::::0;;:9:::1;:24::i;:::-;8716:46;;8773:26;8802:45;8845:1;8802:38;8828:11;8802:21;8816:6;;8802:9;:13;;:21;;;;:::i;:45::-;8773:74;;8858:26;8887:39;8914:11;8887:22;8901:7;;8887:9;:13;;:22;;;;:::i;:39::-;9000:15;::::0;8992:72:::1;::::0;8858:68;;-1:-1:-1;8942:21:0::1;::::0;-1:-1:-1;;;;;9000:15:0;;::::1;::::0;9054:5:::1;::::0;8858:68;;8942:21;8992:72;8942:21;8992:72;8858:68;9000:15;9054:5;8992:72:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:123;;;9083:16;9075:59;;;::::0;-1:-1:-1;;;9075:59:0;;7293:2:1;9075:59:0::1;::::0;::::1;7275:21:1::0;7332:2;7312:18;;;7305:30;7371:32;7351:18;;;7344:60;7421:18;;9075:59:0::1;7091:354:1::0;9075:59:0::1;9150:19:::0;;9147:295:::1;;9185:13;::::0;9366:15:::1;::::0;9185:245:::1;::::0;-1:-1:-1;;;9185:245:0;;9268:4:::1;9185:245;::::0;::::1;7791:34:1::0;7841:18;;;7834:34;;;9185:13:0::1;7884:18:1::0;;;7877:34;;;7927:18;;;7920:34;-1:-1:-1;;;;;9366:15:0;;::::1;7970:19:1::0;;;7963:44;9400:15:0::1;8023:19:1::0;;;8016:35;9185:13:0;::::1;::::0;:29:::1;::::0;9222:18;;7725:19:1;;9185:245:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9147:295;-1:-1:-1::0;;5450:7:0;:15;;-1:-1:-1;;5450:15:0;;;-1:-1:-1;;;;;;;;7966:1483:0:o;6891:507::-;6999:53;;;;;;;;;;;-1:-1:-1;;;6999:53:0;;;;;;;;-1:-1:-1;;;;;6999:17:0;;6959:7;6999:17;;;:9;:17;;;;;;;:53;;7021:6;;6999:21;:53::i;:::-;-1:-1:-1;;;;;6979:17:0;;;;;;:9;:17;;;;;:73;;;;7105:12;;7094:5;;7083:35;;7105:12;7083:17;;:6;;:10;:17::i;:35::-;7063:55;;7133:23;7149:6;-1:-1:-1;;;;;7499:20:0;7474:4;7499:20;;;:12;:20;;;;;;;;7498:21;;7410:117;7133:23;:42;;;;-1:-1:-1;7161:14:0;;-1:-1:-1;;;7161:14:0;;;;7160:15;7133:42;7129:88;;;-1:-1:-1;7204:1:0;7129:88;7272:4;7254:24;;;;:9;:24;;;;;;:39;;7283:9;7254:28;:39::i;:::-;7245:4;7227:24;;;;:9;:24;;;;;;;:66;;;;7309:42;;-1:-1:-1;;;;;7309:42:0;;;;;;;7341:9;1614:25:1;;1602:2;1587:18;;1468:177;7309:42:0;;;;;;;;7369:21;:6;7380:9;7369:10;:21::i;:::-;7362:28;6891:507;-1:-1:-1;;;;6891:507:0:o;356:179::-;414:7;;446:5;450:1;446;:5;:::i;:::-;434:17;;475:1;470;:6;;462:46;;;;-1:-1:-1;;;462:46:0;;8575:2:1;462:46:0;;;8557:21:1;8614:2;8594:18;;;8587:30;8653:29;8633:18;;;8626:57;8700:18;;462:46:0;8373:351:1;879:246:0;937:7;961:1;966;961:6;957:47;;-1:-1:-1;991:1:0;984:8;;957:47;1014:9;1026:5;1030:1;1026;:5;:::i;:::-;1014:17;-1:-1:-1;1059:1:0;1050:5;1054:1;1014:17;1050:5;:::i;:::-;:10;1042:56;;;;-1:-1:-1;;;1042:56:0;;8931:2:1;1042:56:0;;;8913:21:1;8970:2;8950:18;;;8943:30;9009:34;8989:18;;;8982:62;-1:-1:-1;;;9060:18:1;;;9053:31;9101:19;;1042:56:0;8729:397:1;1131:132:0;1189:7;1216:39;1220:1;1223;1216:39;;;;;;;;;;;;;;;;;:3;:39::i;541:136::-;599:7;626:43;630:1;633;626:43;;;;;;;;;;;;;;;;;:3;:43::i;1269:189::-;1355:7;1390:12;1383:5;1375:28;;;;-1:-1:-1;;;1375:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1414:9:0;1426:5;1430:1;1426;:5;:::i;206:548:1:-;318:4;347:2;376;365:9;358:21;408:6;402:13;451:6;446:2;435:9;431:18;424:34;476:1;486:140;500:6;497:1;494:13;486:140;;;595:14;;;591:23;;585:30;561:17;;;580:2;557:26;550:66;515:10;;486:140;;;490:3;675:1;670:2;661:6;650:9;646:22;642:31;635:42;745:2;738;734:7;729:2;721:6;717:15;713:29;702:9;698:45;694:54;686:62;;;;206:548;;;;:::o;759:131::-;-1:-1:-1;;;;;834:31:1;;824:42;;814:70;;880:1;877;870:12;814:70;759:131;:::o;895:315::-;963:6;971;1024:2;1012:9;1003:7;999:23;995:32;992:52;;;1040:1;1037;1030:12;992:52;1079:9;1066:23;1098:31;1123:5;1098:31;:::i;:::-;1148:5;1200:2;1185:18;;;;1172:32;;-1:-1:-1;;;895:315:1:o;1215:248::-;1283:6;1291;1344:2;1332:9;1323:7;1319:23;1315:32;1312:52;;;1360:1;1357;1350:12;1312:52;-1:-1:-1;;1383:23:1;;;1453:2;1438:18;;;1425:32;;-1:-1:-1;1215:248:1:o;1650:456::-;1727:6;1735;1743;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;1851:9;1838:23;1870:31;1895:5;1870:31;:::i;:::-;1920:5;-1:-1:-1;1977:2:1;1962:18;;1949:32;1990:33;1949:32;1990:33;:::i;:::-;1650:456;;2042:7;;-1:-1:-1;;;2096:2:1;2081:18;;;;2068:32;;1650:456::o;2111:247::-;2170:6;2223:2;2211:9;2202:7;2198:23;2194:32;2191:52;;;2239:1;2236;2229:12;2191:52;2278:9;2265:23;2297:31;2322:5;2297:31;:::i;2552:180::-;2611:6;2664:2;2652:9;2643:7;2639:23;2635:32;2632:52;;;2680:1;2677;2670:12;2632:52;-1:-1:-1;2703:23:1;;2552:180;-1:-1:-1;2552:180:1:o;3175:273::-;3231:6;3284:2;3272:9;3263:7;3259:23;3255:32;3252:52;;;3300:1;3297;3290:12;3252:52;3339:9;3326:23;3392:5;3385:13;3378:21;3371:5;3368:32;3358:60;;3414:1;3411;3404:12;3453:388;3521:6;3529;3582:2;3570:9;3561:7;3557:23;3553:32;3550:52;;;3598:1;3595;3588:12;3550:52;3637:9;3624:23;3656:31;3681:5;3656:31;:::i;:::-;3706:5;-1:-1:-1;3763:2:1;3748:18;;3735:32;3776:33;3735:32;3776:33;:::i;:::-;3828:7;3818:17;;;3453:388;;;;;:::o;3846:329::-;4048:2;4030:21;;;4087:1;4067:18;;;4060:29;-1:-1:-1;;;4120:2:1;4105:18;;4098:36;4166:2;4151:18;;3846:329::o;4180:127::-;4241:10;4236:3;4232:20;4229:1;4222:31;4272:4;4269:1;4262:15;4296:4;4293:1;4286:15;4312:125;4377:9;;;4398:10;;;4395:36;;;4411:18;;:::i;4442:168::-;4515:9;;;4546;;4563:15;;;4557:22;;4543:37;4533:71;;4584:18;;:::i;4615:217::-;4655:1;4681;4671:132;;4725:10;4720:3;4716:20;4713:1;4706:31;4760:4;4757:1;4750:15;4788:4;4785:1;4778:15;4671:132;-1:-1:-1;4817:9:1;;4615:217::o;4837:128::-;4904:9;;;4925:11;;;4922:37;;;4939:18;;:::i;5508:127::-;5569:10;5564:3;5560:20;5557:1;5550:31;5600:4;5597:1;5590:15;5624:4;5621:1;5614:15;5640:251;5710:6;5763:2;5751:9;5742:7;5738:23;5734:32;5731:52;;;5779:1;5776;5769:12;5731:52;5811:9;5805:16;5830:31;5855:5;5830:31;:::i;5896:980::-;6158:4;6206:3;6195:9;6191:19;6237:6;6226:9;6219:25;6263:2;6301:6;6296:2;6285:9;6281:18;6274:34;6344:3;6339:2;6328:9;6324:18;6317:31;6368:6;6403;6397:13;6434:6;6426;6419:22;6472:3;6461:9;6457:19;6450:26;;6511:2;6503:6;6499:15;6485:29;;6532:1;6542:195;6556:6;6553:1;6550:13;6542:195;;;6621:13;;-1:-1:-1;;;;;6617:39:1;6605:52;;6712:15;;;;6677:12;;;;6653:1;6571:9;6542:195;;;-1:-1:-1;;;;;;;6793:32:1;;;;6788:2;6773:18;;6766:60;-1:-1:-1;;;6857:3:1;6842:19;6835:35;6754:3;5896:980;-1:-1:-1;;;5896:980:1:o;8062:306::-;8150:6;8158;8166;8219:2;8207:9;8198:7;8194:23;8190:32;8187:52;;;8235:1;8232;8225:12;8187:52;8264:9;8258:16;8248:26;;8314:2;8303:9;8299:18;8293:25;8283:35;;8358:2;8347:9;8343:18;8337:25;8327:35;;8062:306;;;;;:::o
Swarm Source
ipfs://13348a378351e868206c104f62648b6891bc7e80d31904e3c617d24d69e40845
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.