ERC-20
Insurance
Overview
Max Total Supply
100,000,000 X7104
Holders
91 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
X7104
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-24 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; /* /$$ /$$ /$$$$$$$$ /$$$$$$$$ /$$ | $$ / $$|_____ $$/ | $$_____/|__/ | $$/ $$/ /$$/ | $$ /$$ /$$$$$$$ /$$$$$$ /$$$$$$$ /$$$$$$$ /$$$$$$ \ $$$$/ /$$/ | $$$$$ | $$| $$__ $$ |____ $$| $$__ $$ /$$_____/ /$$__ $$ >$$ $$ /$$/ | $$__/ | $$| $$ \ $$ /$$$$$$$| $$ \ $$| $$ | $$$$$$$$ /$$/\ $$ /$$/ | $$ | $$| $$ | $$ /$$__ $$| $$ | $$| $$ | $$_____/ | $$ \ $$ /$$/ | $$ | $$| $$ | $$| $$$$$$$| $$ | $$| $$$$$$$| $$$$$$$ |__/ |__/|__/ |__/ |__/|__/ |__/ \_______/|__/ |__/ \_______/ \_______/ Contract: ERC-20 Token X7104 This contract will NOT be renounced. The following are the only functions that can be called on the contract that affect the contract: function setLiquidityHub(address liquidityHub_) external onlyOwner { require(!liquidityHubFrozen); liquidityHub = ILiquidityHub(liquidityHub_); } function setDiscountAuthority(address discountAuthority_) external onlyOwner { require(!discountAuthorityFrozen); discountAuthority = IDiscountAuthority(discountAuthority_); } function setFeeNumerator(uint256 feeNumerator_) external onlyOwner { require(feeNumerator_ <= maxFeeNumerator); feeNumerator = feeNumerator_; } function setAMM(address ammAddress, bool isAMM) external { require(msg.sender == address(liquidityHub) || msg.sender == owner(), "Only the owner or the liquidity hub may add a new pair"); ammPair[ammAddress] = isAMM; } function setOffRampPair(address ammAddress) external { require(msg.sender == address(liquidityHub) || msg.sender == owner(), "Only the owner or the liquidity hub may add a new pair"); offRampPair = ammAddress; } function freezeLiquidityHub() external onlyOwner { require(!liquidityHubFrozen); liquidityHubFrozen = true; } function freezeDiscountAuthority() external onlyOwner { require(!discountAuthorityFrozen); discountAuthorityFrozen = true; } These functions will be passed to DAO governance once the ecosystem stabilizes. */ abstract contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address owner_) { _transferOwnership(owner_); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == msg.sender, "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = msg.sender; _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = msg.sender; _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = msg.sender; _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = msg.sender; _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = msg.sender; uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } } interface ILiquidityHub { function processFees(address) external; } interface IDiscountAuthority { function discountRatio(address) external view returns (uint256, uint256); } contract X7104 is ERC20, Ownable { IDiscountAuthority public discountAuthority; ILiquidityHub public liquidityHub; mapping(address => bool) public ammPair; address public offRampPair; // max 6% fee uint256 public maxFeeNumerator = 600; // 2 % fee uint256 public feeNumerator = 200; uint256 public feeDenominator = 10000; bool discountAuthorityFrozen; bool liquidityHubFrozen; bool transfersEnabled; event LiquidityHubSet(address indexed liquidityHub); event DiscountAuthoritySet(address indexed discountAuthority); event FeeNumeratorSet(uint256 feeNumerator); event AMMSet(address indexed pairAddress, bool isAMM); event OffRampPairSet(address indexed offRampPair); event LiquidityHubFrozen(); event DiscountAuthorityFrozen(); constructor( address discountAuthority_, address liquidityHub_ ) ERC20("X7104", "X7104") Ownable(address(0x7000a09c425ABf5173FF458dF1370C25d1C58105)) { discountAuthority = IDiscountAuthority(discountAuthority_); liquidityHub = ILiquidityHub(liquidityHub_); _mint(address(0x7000a09c425ABf5173FF458dF1370C25d1C58105), 100000000 * 10**18); } function setLiquidityHub(address liquidityHub_) external onlyOwner { require(!liquidityHubFrozen); liquidityHub = ILiquidityHub(liquidityHub_); emit LiquidityHubSet(liquidityHub_); } function setDiscountAuthority(address discountAuthority_) external onlyOwner { require(!discountAuthorityFrozen); discountAuthority = IDiscountAuthority(discountAuthority_); emit DiscountAuthoritySet(discountAuthority_); } function setFeeNumerator(uint256 feeNumerator_) external onlyOwner { require(feeNumerator_ <= maxFeeNumerator); feeNumerator = feeNumerator_; emit FeeNumeratorSet(feeNumerator_); } function setAMM(address ammAddress, bool isAMM) external { require(msg.sender == address(liquidityHub) || msg.sender == owner(), "Only the owner or the liquidity hub may add a new pair"); ammPair[ammAddress] = isAMM; emit AMMSet(ammAddress, isAMM); } function setOffRampPair(address ammAddress) external { require(msg.sender == address(liquidityHub) || msg.sender == owner(), "Only the owner or the liquidity hub may add a new pair"); offRampPair = ammAddress; emit OffRampPairSet(ammAddress); } function freezeLiquidityHub() external onlyOwner { require(!liquidityHubFrozen); liquidityHubFrozen = true; emit LiquidityHubFrozen(); } function freezeDiscountAuthority() external onlyOwner { require(!discountAuthorityFrozen); discountAuthorityFrozen = true; emit DiscountAuthorityFrozen(); } function circulatingSupply() external view returns (uint256) { return totalSupply() - balanceOf(address(0)) - balanceOf(address(0x000000000000000000000000000000000000dEaD)); } function enableTrading() external onlyOwner { require(!transfersEnabled); transfersEnabled = true; } function _transfer( address from, address to, uint256 amount ) internal override { require(transfersEnabled || from == owner()); uint256 transferAmount = amount; if ( from == address(liquidityHub) || to == address(liquidityHub) ) { super._transfer(from, to, amount); return; } if ( ammPair[to] || ammPair[from] ) { address effectivePrincipal; if (ammPair[to]) { effectivePrincipal = from; } else { effectivePrincipal = to; } (uint256 feeModifierNumerator, uint256 feeModifierDenominator) = discountAuthority.discountRatio(effectivePrincipal); if (feeModifierNumerator > feeModifierDenominator || feeModifierDenominator == 0) { feeModifierNumerator = 1; feeModifierDenominator = 1; } uint256 feeAmount = amount * feeNumerator * feeModifierNumerator / feeDenominator / feeModifierDenominator; super._transfer(from, address(liquidityHub), feeAmount); transferAmount = amount - feeAmount; } if ( to == offRampPair ) { liquidityHub.processFees(address(this)); } super._transfer(from, to, transferAmount); } function rescueETH() external { (bool success,) = payable(address(liquidityHub)).call{value: address(this).balance}(""); require(success); } function rescueTokens(address tokenAddress) external { IERC20(tokenAddress).transfer(address(liquidityHub), IERC20(tokenAddress).balanceOf(address(this))); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"discountAuthority_","type":"address"},{"internalType":"address","name":"liquidityHub_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pairAddress","type":"address"},{"indexed":false,"internalType":"bool","name":"isAMM","type":"bool"}],"name":"AMMSet","type":"event"},{"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":[],"name":"DiscountAuthorityFrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"discountAuthority","type":"address"}],"name":"DiscountAuthoritySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feeNumerator","type":"uint256"}],"name":"FeeNumeratorSet","type":"event"},{"anonymous":false,"inputs":[],"name":"LiquidityHubFrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"liquidityHub","type":"address"}],"name":"LiquidityHubSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"offRampPair","type":"address"}],"name":"OffRampPairSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ammPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"discountAuthority","outputs":[{"internalType":"contract IDiscountAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freezeDiscountAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freezeLiquidityHub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidityHub","outputs":[{"internalType":"contract ILiquidityHub","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxFeeNumerator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"offRampPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ammAddress","type":"address"},{"internalType":"bool","name":"isAMM","type":"bool"}],"name":"setAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"discountAuthority_","type":"address"}],"name":"setDiscountAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeNumerator_","type":"uint256"}],"name":"setFeeNumerator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"liquidityHub_","type":"address"}],"name":"setLiquidityHub","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ammAddress","type":"address"}],"name":"setOffRampPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052610258600a5560c8600b55612710600c553480156200002257600080fd5b506040516200194338038062001943833981016040819052620000459162000275565b604080518082018252600580825264160dcc4c0d60da1b6020808401829052845180860190955291845290830152737000a09c425abf5173ff458df1370c25d1c5810591600362000097838262000352565b506004620000a6828262000352565b505050620000ba816200011e60201b60201c565b50600680546001600160a01b038085166001600160a01b031992831617909255600780549284169290911691909117905562000116737000a09c425abf5173ff458df1370c25d1c581056a52b7d2dcc80cd2e400000062000170565b505062000445565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001cb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620001df91906200041e565b90915550506001600160a01b038216600090815260208190526040812080548392906200020e9084906200041e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b03811681146200027057600080fd5b919050565b600080604083850312156200028957600080fd5b620002948362000258565b9150620002a46020840162000258565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d857607f821691505b602082108103620002f957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034d57600081815260208120601f850160051c81016020861015620003285750805b601f850160051c820191505b81811015620003495782815560010162000334565b5050505b505050565b81516001600160401b038111156200036e576200036e620002ad565b62000386816200037f8454620002c3565b84620002ff565b602080601f831160018114620003be5760008415620003a55750858301515b600019600386901b1c1916600185901b17855562000349565b600085815260208120601f198616915b82811015620003ef57888601518255948401946001909101908401620003ce565b50858210156200040e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082198211156200044057634e487b7160e01b600052601160045260246000fd5b500190565b6114ee80620004556000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c80638a8c523c1161010f578063a9d3cd8a116100a2578063dd62ed3e11610071578063dd62ed3e14610409578063e86dea4a1461041c578063f2fde38b14610425578063fbabba221461043857600080fd5b8063a9d3cd8a146103bd578063ab04a6bb146103d0578063abd6aa41146103e3578063be1c7142146103f657600080fd5b806398e2ebbf116100de57806398e2ebbf14610361578063a457c2d714610384578063a45db91114610397578063a9059cbb146103aa57600080fd5b80638a8c523c146103385780638da5cb5b146103405780639358928b1461035157806395d89b411461035957600080fd5b80632559882d116101875780634639139d116101565780634639139d146102e157806370a08231146102f4578063715018a61461031d5780637b31bd781461032557600080fd5b80632559882d1461028c578063313ce5671461029457806334091a43146102a357806339509351146102ce57600080fd5b806318160ddd116101c357806318160ddd1461026157806320331cfc1461026957806320800a001461027157806323b872dd1461027957600080fd5b8062ae3bf8146101f457806306fdde0314610209578063095ea7b314610227578063180b0d7e1461024a575b600080fd5b6102076102023660046111da565b610441565b005b61021161052b565b60405161021e91906111fc565b60405180910390f35b61023a610235366004611251565b6105bd565b604051901515815260200161021e565b610253600c5481565b60405190815260200161021e565b600254610253565b6102076105d5565b61020761062c565b61023a61028736600461127b565b61068f565b6102076106b3565b6040516012815260200161021e565b6006546102b6906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b61023a6102dc366004611251565b610703565b6007546102b6906001600160a01b031681565b6102536103023660046111da565b6001600160a01b031660009081526020819052604090205490565b610207610725565b6009546102b6906001600160a01b031681565b610207610739565b6005546001600160a01b03166102b6565b61025361076a565b6102116107d4565b61023a61036f3660046111da565b60086020526000908152604090205460ff1681565b61023a610392366004611251565b6107e3565b6102076103a53660046112b7565b610863565b61023a6103b8366004611251565b6108b5565b6102076103cb3660046112de565b6108c3565b6102076103de3660046111da565b610961565b6102076103f13660046111da565b6109c8565b6102076104043660046111da565b610a2a565b610253610417366004611315565b610ab3565b610253600b5481565b6102076104333660046111da565b610ade565b610253600a5481565b6007546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190611348565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105279190611361565b5050565b60606003805461053a9061137e565b80601f01602080910402602001604051908101604052809291908181526020018280546105669061137e565b80156105b35780601f10610588576101008083540402835291602001916105b3565b820191906000526020600020905b81548152906001019060200180831161059657829003601f168201915b5050505050905090565b6000336105cb818585610b54565b5060019392505050565b6105dd610c78565b600d54610100900460ff16156105f257600080fd5b600d805461ff0019166101001790556040517f4d344c8b0016d5807caec92f09a154f1cfc026110a8106ccbe2dceff0317355d90600090a1565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610679576040519150601f19603f3d011682016040523d82523d6000602084013e61067e565b606091505b505090508061068c57600080fd5b50565b60003361069d858285610ce1565b6106a8858585610d5b565b506001949350505050565b6106bb610c78565b600d5460ff16156106cb57600080fd5b600d805460ff191660011790556040517f527064e85a8453752e55610dd634b6ee8cd80307b0ea3f0eed8c1f7ca2696f8e90600090a1565b6000336105cb8185856107168383610ab3565b61072091906113ce565b610b54565b61072d610c78565b6107376000610f9d565b565b610741610c78565b600d5462010000900460ff161561075757600080fd5b600d805462ff0000191662010000179055565b600060208190527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83548180527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546002546107c591906113e6565b6107cf91906113e6565b905090565b60606004805461053a9061137e565b600033816107f18286610ab3565b9050838110156108565760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6106a88286868403610b54565b61086b610c78565b600a5481111561087a57600080fd5b600b8190556040518181527fc1bcceddd77fdc95a8da9bec5802d2e0bb564dd02c0730222d8e12030bd910439060200160405180910390a150565b6000336105cb818585610d5b565b6007546001600160a01b03163314806108e657506005546001600160a01b031633145b6109025760405162461bcd60e51b815260040161084d906113fd565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f52f7750de642e169ff687a199cc8453a96d938130a797c0a11ea42a4d1659d87910160405180910390a25050565b610969610c78565b600d54610100900460ff161561097e57600080fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fd3c93458b0ffb1a51466cc4b7fcda74d245ef1c6bdfe9e111609eea5afcae4c990600090a250565b6109d0610c78565b600d5460ff16156109e057600080fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f03694a956320a0c277498a931248855f5ef47143cabe91ec33fc0a4393bb774e90600090a250565b6007546001600160a01b0316331480610a4d57506005546001600160a01b031633145b610a695760405162461bcd60e51b815260040161084d906113fd565b600980546001600160a01b0319166001600160a01b0383169081179091556040517f205890426c74334fba9f3d65990e94e55dac01584e054394ab50173c4a01da2d90600090a250565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610ae6610c78565b6001600160a01b038116610b4b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084d565b61068c81610f9d565b6001600160a01b038316610bb65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161084d565b6001600160a01b038216610c175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161084d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b33610c8b6005546001600160a01b031690565b6001600160a01b0316146107375760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084d565b6000610ced8484610ab3565b90506000198114610d555781811015610d485760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161084d565b610d558484848403610b54565b50505050565b600d5462010000900460ff1680610d7f57506005546001600160a01b038481169116145b610d8857600080fd5b60075481906001600160a01b0385811691161480610db357506007546001600160a01b038481169116145b15610dc357610d55848484610fef565b6001600160a01b03831660009081526008602052604090205460ff1680610e0257506001600160a01b03841660009081526008602052604090205460ff165b15610f1e576001600160a01b03831660009081526008602052604081205460ff1615610e2f575083610e32565b50825b6006546040516305666bad60e11b81526001600160a01b0383811660048301526000928392911690630accd75a906024016040805180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea39190611453565b9150915080821180610eb3575080155b15610ebf575060019050805b600081600c5484600b5489610ed49190611477565b610ede9190611477565b610ee89190611496565b610ef29190611496565b600754909150610f0d9089906001600160a01b031683610fef565b610f1781876113e6565b9450505050505b6009546001600160a01b0390811690841603610f92576007546040516330ac175560e11b81523060048201526001600160a01b03909116906361582eaa90602401600060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050505b610d55848483610fef565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166110535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084d565b6001600160a01b0382166110b55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084d565b6001600160a01b0383166000908152602081905260409020548181101561112d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161084d565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906111649084906113ce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111b091815260200190565b60405180910390a350505050565b80356001600160a01b03811681146111d557600080fd5b919050565b6000602082840312156111ec57600080fd5b6111f5826111be565b9392505050565b600060208083528351808285015260005b818110156112295785810183015185820160400152820161120d565b8181111561123b576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561126457600080fd5b61126d836111be565b946020939093013593505050565b60008060006060848603121561129057600080fd5b611299846111be565b92506112a7602085016111be565b9150604084013590509250925092565b6000602082840312156112c957600080fd5b5035919050565b801515811461068c57600080fd5b600080604083850312156112f157600080fd5b6112fa836111be565b9150602083013561130a816112d0565b809150509250929050565b6000806040838503121561132857600080fd5b611331836111be565b915061133f602084016111be565b90509250929050565b60006020828403121561135a57600080fd5b5051919050565b60006020828403121561137357600080fd5b81516111f5816112d0565b600181811c9082168061139257607f821691505b6020821081036113b257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113e1576113e16113b8565b500190565b6000828210156113f8576113f86113b8565b500390565b60208082526036908201527f4f6e6c7920746865206f776e6572206f7220746865206c697175696469747920604082015275343ab11036b0bc9030b2321030903732bb903830b4b960511b606082015260800190565b6000806040838503121561146657600080fd5b505080516020909101519092909150565b6000816000190483118215151615611491576114916113b8565b500290565b6000826114b357634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e58555695ed8c530da2f352fc106405092d783d6a5f6fdbbfa06f148f913349164736f6c634300080f00330000000000000000000000007100aacc6047281b105201cb9e0decf9ae5431da0000000000000000000000007102407afa5d6581aab694feb03feb0e7cf69ebb
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101ef5760003560e01c80638a8c523c1161010f578063a9d3cd8a116100a2578063dd62ed3e11610071578063dd62ed3e14610409578063e86dea4a1461041c578063f2fde38b14610425578063fbabba221461043857600080fd5b8063a9d3cd8a146103bd578063ab04a6bb146103d0578063abd6aa41146103e3578063be1c7142146103f657600080fd5b806398e2ebbf116100de57806398e2ebbf14610361578063a457c2d714610384578063a45db91114610397578063a9059cbb146103aa57600080fd5b80638a8c523c146103385780638da5cb5b146103405780639358928b1461035157806395d89b411461035957600080fd5b80632559882d116101875780634639139d116101565780634639139d146102e157806370a08231146102f4578063715018a61461031d5780637b31bd781461032557600080fd5b80632559882d1461028c578063313ce5671461029457806334091a43146102a357806339509351146102ce57600080fd5b806318160ddd116101c357806318160ddd1461026157806320331cfc1461026957806320800a001461027157806323b872dd1461027957600080fd5b8062ae3bf8146101f457806306fdde0314610209578063095ea7b314610227578063180b0d7e1461024a575b600080fd5b6102076102023660046111da565b610441565b005b61021161052b565b60405161021e91906111fc565b60405180910390f35b61023a610235366004611251565b6105bd565b604051901515815260200161021e565b610253600c5481565b60405190815260200161021e565b600254610253565b6102076105d5565b61020761062c565b61023a61028736600461127b565b61068f565b6102076106b3565b6040516012815260200161021e565b6006546102b6906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b61023a6102dc366004611251565b610703565b6007546102b6906001600160a01b031681565b6102536103023660046111da565b6001600160a01b031660009081526020819052604090205490565b610207610725565b6009546102b6906001600160a01b031681565b610207610739565b6005546001600160a01b03166102b6565b61025361076a565b6102116107d4565b61023a61036f3660046111da565b60086020526000908152604090205460ff1681565b61023a610392366004611251565b6107e3565b6102076103a53660046112b7565b610863565b61023a6103b8366004611251565b6108b5565b6102076103cb3660046112de565b6108c3565b6102076103de3660046111da565b610961565b6102076103f13660046111da565b6109c8565b6102076104043660046111da565b610a2a565b610253610417366004611315565b610ab3565b610253600b5481565b6102076104333660046111da565b610ade565b610253600a5481565b6007546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190611348565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105279190611361565b5050565b60606003805461053a9061137e565b80601f01602080910402602001604051908101604052809291908181526020018280546105669061137e565b80156105b35780601f10610588576101008083540402835291602001916105b3565b820191906000526020600020905b81548152906001019060200180831161059657829003601f168201915b5050505050905090565b6000336105cb818585610b54565b5060019392505050565b6105dd610c78565b600d54610100900460ff16156105f257600080fd5b600d805461ff0019166101001790556040517f4d344c8b0016d5807caec92f09a154f1cfc026110a8106ccbe2dceff0317355d90600090a1565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610679576040519150601f19603f3d011682016040523d82523d6000602084013e61067e565b606091505b505090508061068c57600080fd5b50565b60003361069d858285610ce1565b6106a8858585610d5b565b506001949350505050565b6106bb610c78565b600d5460ff16156106cb57600080fd5b600d805460ff191660011790556040517f527064e85a8453752e55610dd634b6ee8cd80307b0ea3f0eed8c1f7ca2696f8e90600090a1565b6000336105cb8185856107168383610ab3565b61072091906113ce565b610b54565b61072d610c78565b6107376000610f9d565b565b610741610c78565b600d5462010000900460ff161561075757600080fd5b600d805462ff0000191662010000179055565b600060208190527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83548180527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546002546107c591906113e6565b6107cf91906113e6565b905090565b60606004805461053a9061137e565b600033816107f18286610ab3565b9050838110156108565760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6106a88286868403610b54565b61086b610c78565b600a5481111561087a57600080fd5b600b8190556040518181527fc1bcceddd77fdc95a8da9bec5802d2e0bb564dd02c0730222d8e12030bd910439060200160405180910390a150565b6000336105cb818585610d5b565b6007546001600160a01b03163314806108e657506005546001600160a01b031633145b6109025760405162461bcd60e51b815260040161084d906113fd565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f52f7750de642e169ff687a199cc8453a96d938130a797c0a11ea42a4d1659d87910160405180910390a25050565b610969610c78565b600d54610100900460ff161561097e57600080fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fd3c93458b0ffb1a51466cc4b7fcda74d245ef1c6bdfe9e111609eea5afcae4c990600090a250565b6109d0610c78565b600d5460ff16156109e057600080fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f03694a956320a0c277498a931248855f5ef47143cabe91ec33fc0a4393bb774e90600090a250565b6007546001600160a01b0316331480610a4d57506005546001600160a01b031633145b610a695760405162461bcd60e51b815260040161084d906113fd565b600980546001600160a01b0319166001600160a01b0383169081179091556040517f205890426c74334fba9f3d65990e94e55dac01584e054394ab50173c4a01da2d90600090a250565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610ae6610c78565b6001600160a01b038116610b4b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084d565b61068c81610f9d565b6001600160a01b038316610bb65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161084d565b6001600160a01b038216610c175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161084d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b33610c8b6005546001600160a01b031690565b6001600160a01b0316146107375760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084d565b6000610ced8484610ab3565b90506000198114610d555781811015610d485760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161084d565b610d558484848403610b54565b50505050565b600d5462010000900460ff1680610d7f57506005546001600160a01b038481169116145b610d8857600080fd5b60075481906001600160a01b0385811691161480610db357506007546001600160a01b038481169116145b15610dc357610d55848484610fef565b6001600160a01b03831660009081526008602052604090205460ff1680610e0257506001600160a01b03841660009081526008602052604090205460ff165b15610f1e576001600160a01b03831660009081526008602052604081205460ff1615610e2f575083610e32565b50825b6006546040516305666bad60e11b81526001600160a01b0383811660048301526000928392911690630accd75a906024016040805180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea39190611453565b9150915080821180610eb3575080155b15610ebf575060019050805b600081600c5484600b5489610ed49190611477565b610ede9190611477565b610ee89190611496565b610ef29190611496565b600754909150610f0d9089906001600160a01b031683610fef565b610f1781876113e6565b9450505050505b6009546001600160a01b0390811690841603610f92576007546040516330ac175560e11b81523060048201526001600160a01b03909116906361582eaa90602401600060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050505b610d55848483610fef565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166110535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084d565b6001600160a01b0382166110b55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084d565b6001600160a01b0383166000908152602081905260409020548181101561112d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161084d565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906111649084906113ce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111b091815260200190565b60405180910390a350505050565b80356001600160a01b03811681146111d557600080fd5b919050565b6000602082840312156111ec57600080fd5b6111f5826111be565b9392505050565b600060208083528351808285015260005b818110156112295785810183015185820160400152820161120d565b8181111561123b576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561126457600080fd5b61126d836111be565b946020939093013593505050565b60008060006060848603121561129057600080fd5b611299846111be565b92506112a7602085016111be565b9150604084013590509250925092565b6000602082840312156112c957600080fd5b5035919050565b801515811461068c57600080fd5b600080604083850312156112f157600080fd5b6112fa836111be565b9150602083013561130a816112d0565b809150509250929050565b6000806040838503121561132857600080fd5b611331836111be565b915061133f602084016111be565b90509250929050565b60006020828403121561135a57600080fd5b5051919050565b60006020828403121561137357600080fd5b81516111f5816112d0565b600181811c9082168061139257607f821691505b6020821081036113b257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113e1576113e16113b8565b500190565b6000828210156113f8576113f86113b8565b500390565b60208082526036908201527f4f6e6c7920746865206f776e6572206f7220746865206c697175696469747920604082015275343ab11036b0bc9030b2321030903732bb903830b4b960511b606082015260800190565b6000806040838503121561146657600080fd5b505080516020909101519092909150565b6000816000190483118215151615611491576114916113b8565b500290565b6000826114b357634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e58555695ed8c530da2f352fc106405092d783d6a5f6fdbbfa06f148f913349164736f6c634300080f0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007100aacc6047281b105201cb9e0decf9ae5431da0000000000000000000000007102407afa5d6581aab694feb03feb0e7cf69ebb
-----Decoded View---------------
Arg [0] : discountAuthority_ (address): 0x7100AAcC6047281b105201cb9e0DEcF9Ae5431DA
Arg [1] : liquidityHub_ (address): 0x7102407afa5d6581AAb694FEB03fEB0e7Cf69ebb
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007100aacc6047281b105201cb9e0decf9ae5431da
Arg [1] : 0000000000000000000000007102407afa5d6581aab694feb03feb0e7cf69ebb
Deployed Bytecode Sourcemap
8733:5030:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13587:171;;;;;;:::i;:::-;;:::i;:::-;;4704:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5634:199;;;;;;:::i;:::-;;:::i;:::-;;;1409:14:1;;1402:22;1384:41;;1372:2;1357:18;5634:199:0;1244:187:1;9068:37:0;;;;;;;;;1582:25:1;;;1570:2;1555:18;9068:37:0;1436:177:1;5025:108:0;5113:12;;5025:108;;11257:168;;;:::i;13416:163::-;;;:::i;5841:293::-;;;;;;:::i;:::-;;:::i;11433:188::-;;;:::i;4924:93::-;;;5007:2;2093:36:1;;2081:2;2066:18;4924:93:0;1951:184:1;8775:43:0;;;;;-1:-1:-1;;;;;8775:43:0;;;;;;-1:-1:-1;;;;;2330:32:1;;;2312:51;;2300:2;2285:18;8775:43:0;2140:229:1;6142:236:0;;;;;;:::i;:::-;;:::i;8825:33::-;;;;;-1:-1:-1;;;;;8825:33:0;;;5141:127;;;;;;:::i;:::-;-1:-1:-1;;;;;5242:18:0;5215:7;5242:18;;;;;;;;;;;;5141:127;2851:103;;;:::i;8913:26::-;;;;;-1:-1:-1;;;;;8913:26:0;;;11826:123;;;:::i;2618:87::-;2691:6;;-1:-1:-1;;;;;2691:6:0;2618:87;;11629:189;;;:::i;4812:104::-;;;:::i;8867:39::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6386:434;;;;;;:::i;:::-;;:::i;10463:212::-;;;;;;:::i;:::-;;:::i;5276:191::-;;;;;;:::i;:::-;;:::i;10683:282::-;;;;;;:::i;:::-;;:::i;9979:214::-;;;;;;:::i;:::-;;:::i;10201:254::-;;;;;;:::i;:::-;;:::i;10973:276::-;;;;;;:::i;:::-;;:::i;5475:151::-;;;;;;:::i;:::-;;:::i;9028:33::-;;;;;;2962:201;;;;;;:::i;:::-;;:::i;8967:36::-;;;;;;13587:171;13689:12;;13704:45;;-1:-1:-1;;;13704:45:0;;13743:4;13704:45;;;2312:51:1;-1:-1:-1;;;;;13651:29:0;;;;;;13689:12;;;13651:29;;13704:30;;2285:18:1;;13704:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13651:99;;-1:-1:-1;;;;;;13651:99:0;;;;;;;-1:-1:-1;;;;;4085:32:1;;;13651:99:0;;;4067:51:1;4134:18;;;4127:34;4040:18;;13651:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13587:171;:::o;4704:100::-;4758:13;4791:5;4784:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4704:100;:::o;5634:199::-;5717:4;5750:10;5771:32;5750:10;5787:7;5796:6;5771:8;:32::i;:::-;-1:-1:-1;5821:4:0;;5634:199;-1:-1:-1;;;5634:199:0:o;11257:168::-;2577:13;:11;:13::i;:::-;11326:18:::1;::::0;::::1;::::0;::::1;;;11325:19;11317:28;;;::::0;::::1;;11356:18;:25:::0;;-1:-1:-1;;11356:25:0::1;;;::::0;;11397:20:::1;::::0;::::1;::::0;11356:25;;11397:20:::1;11257:168::o:0;13416:163::-;13491:12;;13475:69;;13458:12;;-1:-1:-1;;;;;13491:12:0;;13518:21;;13458:12;13475:69;13458:12;13475:69;13518:21;13491:12;13475:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13457:87;;;13563:7;13555:16;;;;;;13446:133;13416:163::o;5841:293::-;5972:4;6007:10;6028:38;6044:4;6007:10;6059:6;6028:15;:38::i;:::-;6077:27;6087:4;6093:2;6097:6;6077:9;:27::i;:::-;-1:-1:-1;6122:4:0;;5841:293;-1:-1:-1;;;;5841:293:0:o;11433:188::-;2577:13;:11;:13::i;:::-;11507:23:::1;::::0;::::1;;11506:24;11498:33;;;::::0;::::1;;11542:23;:30:::0;;-1:-1:-1;;11542:30:0::1;11568:4;11542:30;::::0;;11588:25:::1;::::0;::::1;::::0;11542:23:::1;::::0;11588:25:::1;11433:188::o:0;6142:236::-;6230:4;6263:10;6284:64;6263:10;6300:7;6337:10;6309:25;6263:10;6300:7;6309:9;:25::i;:::-;:38;;;;:::i;:::-;6284:8;:64::i;2851:103::-;2577:13;:11;:13::i;:::-;2916:30:::1;2943:1;2916:18;:30::i;:::-;2851:103::o:0;11826:123::-;2577:13;:11;:13::i;:::-;11890:16:::1;::::0;;;::::1;;;11889:17;11881:26;;;::::0;::::1;;11918:16;:23:::0;;-1:-1:-1;;11918:23:0::1;::::0;::::1;::::0;;11826:123::o;11629:189::-;11681:7;5242:18;;;;;;;;;;;5113:12;;11708:37;;5242:18;11708:37;:::i;:::-;:102;;;;:::i;:::-;11701:109;;11629:189;:::o;4812:104::-;4868:13;4901:7;4894:14;;;;;:::i;6386:434::-;6479:4;6512:10;6479:4;6560:25;6512:10;6577:7;6560:9;:25::i;:::-;6533:52;;6624:15;6604:16;:35;;6596:85;;;;-1:-1:-1;;;6596:85:0;;5614:2:1;6596:85:0;;;5596:21:1;5653:2;5633:18;;;5626:30;5692:34;5672:18;;;5665:62;-1:-1:-1;;;5743:18:1;;;5736:35;5788:19;;6596:85:0;;;;;;;;;6717:60;6726:5;6733:7;6761:15;6742:16;:34;6717:8;:60::i;10463:212::-;2577:13;:11;:13::i;:::-;10566:15:::1;;10549:13;:32;;10541:41;;;::::0;::::1;;10593:12;:28:::0;;;10637:30:::1;::::0;1582:25:1;;;10637:30:0::1;::::0;1570:2:1;1555:18;10637:30:0::1;;;;;;;10463:212:::0;:::o;5276:191::-;5355:4;5388:10;5409:28;5388:10;5426:2;5430:6;5409:9;:28::i;10683:282::-;10781:12;;-1:-1:-1;;;;;10781:12:0;10759:10;:35;;:60;;-1:-1:-1;2691:6:0;;-1:-1:-1;;;;;2691:6:0;10798:10;:21;10759:60;10751:127;;;;-1:-1:-1;;;10751:127:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10889:19:0;;;;;;:7;:19;;;;;;;;;:27;;-1:-1:-1;;10889:27:0;;;;;;;;;;10932:25;;1384:41:1;;;10932:25:0;;1357:18:1;10932:25:0;;;;;;;10683:282;;:::o;9979:214::-;2577:13;:11;:13::i;:::-;10066:18:::1;::::0;::::1;::::0;::::1;;;10065:19;10057:28;;;::::0;::::1;;10096:12;:43:::0;;-1:-1:-1;;;;;;10096:43:0::1;-1:-1:-1::0;;;;;10096:43:0;::::1;::::0;;::::1;::::0;;;10155:30:::1;::::0;::::1;::::0;-1:-1:-1;;10155:30:0::1;9979:214:::0;:::o;10201:254::-;2577:13;:11;:13::i;:::-;10298:23:::1;::::0;::::1;;10297:24;10289:33;;;::::0;::::1;;10333:17;:58:::0;;-1:-1:-1;;;;;;10333:58:0::1;-1:-1:-1::0;;;;;10333:58:0;::::1;::::0;;::::1;::::0;;;10407:40:::1;::::0;::::1;::::0;-1:-1:-1;;10407:40:0::1;10201:254:::0;:::o;10973:276::-;11067:12;;-1:-1:-1;;;;;11067:12:0;11045:10;:35;;:60;;-1:-1:-1;2691:6:0;;-1:-1:-1;;;;;2691:6:0;11084:10;:21;11045:60;11037:127;;;;-1:-1:-1;;;11037:127:0;;;;;;;:::i;:::-;11175:11;:24;;-1:-1:-1;;;;;;11175:24:0;-1:-1:-1;;;;;11175:24:0;;;;;;;;11215:26;;;;-1:-1:-1;;11215:26:0;10973:276;:::o;5475:151::-;-1:-1:-1;;;;;5591:18:0;;;5564:7;5591:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5475:151::o;2962:201::-;2577:13;:11;:13::i;:::-;-1:-1:-1;;;;;3051:22:0;::::1;3043:73;;;::::0;-1:-1:-1;;;3043:73:0;;6443:2:1;3043:73:0::1;::::0;::::1;6425:21:1::0;6482:2;6462:18;;;6455:30;6521:34;6501:18;;;6494:62;-1:-1:-1;;;6572:18:1;;;6565:36;6618:19;;3043:73:0::1;6241:402:1::0;3043:73:0::1;3127:28;3146:8;3127:18;:28::i;7692:380::-:0;-1:-1:-1;;;;;7828:19:0;;7820:68;;;;-1:-1:-1;;;7820:68:0;;6850:2:1;7820:68:0;;;6832:21:1;6889:2;6869:18;;;6862:30;6928:34;6908:18;;;6901:62;-1:-1:-1;;;6979:18:1;;;6972:34;7023:19;;7820:68:0;6648:400:1;7820:68:0;-1:-1:-1;;;;;7907:21:0;;7899:68;;;;-1:-1:-1;;;7899:68:0;;7255:2:1;7899:68:0;;;7237:21:1;7294:2;7274:18;;;7267:30;7333:34;7313:18;;;7306:62;-1:-1:-1;;;7384:18:1;;;7377:32;7426:19;;7899:68:0;7053:398:1;7899:68:0;-1:-1:-1;;;;;7980:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8032:32;;1582:25:1;;;8032:32:0;;1555:18:1;8032:32:0;;;;;;;7692:380;;;:::o;2713:130::-;2788:10;2777:7;2691:6;;-1:-1:-1;;;;;2691:6:0;;2618:87;2777:7;-1:-1:-1;;;;;2777:21:0;;2769:66;;;;-1:-1:-1;;;2769:66:0;;7658:2:1;2769:66:0;;;7640:21:1;;;7677:18;;;7670:30;7736:34;7716:18;;;7709:62;7788:18;;2769:66:0;7456:356:1;8080:453:0;8215:24;8242:25;8252:5;8259:7;8242:9;:25::i;:::-;8215:52;;-1:-1:-1;;8282:16:0;:37;8278:248;;8364:6;8344:16;:26;;8336:68;;;;-1:-1:-1;;;8336:68:0;;8019:2:1;8336:68:0;;;8001:21:1;8058:2;8038:18;;;8031:30;8097:31;8077:18;;;8070:59;8146:18;;8336:68:0;7817:353:1;8336:68:0;8448:51;8457:5;8464:7;8492:6;8473:16;:25;8448:8;:51::i;:::-;8204:329;8080:453;;;:::o;11957:1451::-;12089:16;;;;;;;;:35;;-1:-1:-1;2691:6:0;;-1:-1:-1;;;;;12109:15:0;;;2691:6;;12109:15;12089:35;12081:44;;;;;;12216:12;;12163:6;;-1:-1:-1;;;;;12200:29:0;;;12216:12;;12200:29;;:73;;-1:-1:-1;12260:12:0;;-1:-1:-1;;;;;12246:27:0;;;12260:12;;12246:27;12200:73;12182:184;;;12300:33;12316:4;12322:2;12326:6;12300:15;:33::i;12182:184::-;-1:-1:-1;;;;;12396:11:0;;;;;;:7;:11;;;;;;;;;:28;;-1:-1:-1;;;;;;12411:13:0;;;;;;:7;:13;;;;;;;;12396:28;12378:844;;;-1:-1:-1;;;;;12496:11:0;;12451:26;12496:11;;;:7;:11;;;;;;;;12492:141;;;-1:-1:-1;12549:4:0;12492:141;;;-1:-1:-1;12615:2:0;12492:141;12714:17;;:51;;-1:-1:-1;;;12714:51:0;;-1:-1:-1;;;;;2330:32:1;;;12714:51:0;;;2312::1;12650:28:0;;;;12714:17;;;:31;;2285:18:1;;12714:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12649:116;;;;12807:22;12784:20;:45;:76;;;-1:-1:-1;12833:27:0;;12784:76;12780:186;;;-1:-1:-1;12904:1:0;;-1:-1:-1;12904:1:0;12780:186;12982:17;13066:22;13049:14;;13026:20;13011:12;;13002:6;:21;;;;:::i;:::-;:44;;;;:::i;:::-;:61;;;;:::i;:::-;:86;;;;:::i;:::-;13135:12;;12982:106;;-1:-1:-1;13105:55:0;;13121:4;;-1:-1:-1;;;;;13135:12:0;12982:106;13105:15;:55::i;:::-;13192:18;13201:9;13192:6;:18;:::i;:::-;13175:35;;12436:786;;;;12378:844;13258:11;;-1:-1:-1;;;;;13258:11:0;;;13252:17;;;;13234:113;;13296:12;;:39;;-1:-1:-1;;;13296:39:0;;13329:4;13296:39;;;2312:51:1;-1:-1:-1;;;;;13296:12:0;;;;:24;;2285:18:1;;13296:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13234:113;13359:41;13375:4;13381:2;13385:14;13359:15;:41::i;3171:191::-;3264:6;;;-1:-1:-1;;;;;3281:17:0;;;-1:-1:-1;;;;;;3281:17:0;;;;;;;3314:40;;3264:6;;;3281:17;3264:6;;3314:40;;3245:16;;3314:40;3234:128;3171:191;:::o;6828:572::-;-1:-1:-1;;;;;6959:18:0;;6951:68;;;;-1:-1:-1;;;6951:68:0;;9022:2:1;6951:68:0;;;9004:21:1;9061:2;9041:18;;;9034:30;9100:34;9080:18;;;9073:62;-1:-1:-1;;;9151:18:1;;;9144:35;9196:19;;6951:68:0;8820:401:1;6951:68:0;-1:-1:-1;;;;;7038:16:0;;7030:64;;;;-1:-1:-1;;;7030:64:0;;9428:2:1;7030:64:0;;;9410:21:1;9467:2;9447:18;;;9440:30;9506:34;9486:18;;;9479:62;-1:-1:-1;;;9557:18:1;;;9550:33;9600:19;;7030:64:0;9226:399:1;7030:64:0;-1:-1:-1;;;;;7129:15:0;;7107:19;7129:15;;;;;;;;;;;7163:21;;;;7155:72;;;;-1:-1:-1;;;7155:72:0;;9832:2:1;7155:72:0;;;9814:21:1;9871:2;9851:18;;;9844:30;9910:34;9890:18;;;9883:62;-1:-1:-1;;;9961:18:1;;;9954:36;10007:19;;7155:72:0;9630:402:1;7155:72:0;-1:-1:-1;;;;;7263:15:0;;;:9;:15;;;;;;;;;;;7281:20;;;7263:38;;7325:13;;;;;;;;:23;;7295:6;;7263:9;7325:23;;7295:6;;7325:23;:::i;:::-;;;;;;;;7381:2;-1:-1:-1;;;;;7366:26:0;7375:4;-1:-1:-1;;;;;7366:26:0;;7385:6;7366:26;;;;1582:25:1;;1570:2;1555:18;;1436:177;7366:26:0;;;;;;;;6940:460;6828:572;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:597::-;495:4;524:2;553;542:9;535:21;585:6;579:13;628:6;623:2;612:9;608:18;601:34;653:1;663:140;677:6;674:1;671:13;663:140;;;772:14;;;768:23;;762:30;738:17;;;757:2;734:26;727:66;692:10;;663:140;;;821:6;818:1;815:13;812:91;;;891:1;886:2;877:6;866:9;862:22;858:31;851:42;812:91;-1:-1:-1;964:2:1;943:15;-1:-1:-1;;939:29:1;924:45;;;;971:2;920:54;;383:597;-1:-1:-1;;;383:597:1:o;985:254::-;1053:6;1061;1114:2;1102:9;1093:7;1089:23;1085:32;1082:52;;;1130:1;1127;1120:12;1082:52;1153:29;1172:9;1153:29;:::i;:::-;1143:39;1229:2;1214:18;;;;1201:32;;-1:-1:-1;;;985:254:1:o;1618:328::-;1695:6;1703;1711;1764:2;1752:9;1743:7;1739:23;1735:32;1732:52;;;1780:1;1777;1770:12;1732:52;1803:29;1822:9;1803:29;:::i;:::-;1793:39;;1851:38;1885:2;1874:9;1870:18;1851:38;:::i;:::-;1841:48;;1936:2;1925:9;1921:18;1908:32;1898:42;;1618:328;;;;;:::o;2811:180::-;2870:6;2923:2;2911:9;2902:7;2898:23;2894:32;2891:52;;;2939:1;2936;2929:12;2891:52;-1:-1:-1;2962:23:1;;2811:180;-1:-1:-1;2811:180:1:o;2996:118::-;3082:5;3075:13;3068:21;3061:5;3058:32;3048:60;;3104:1;3101;3094:12;3119:315;3184:6;3192;3245:2;3233:9;3224:7;3220:23;3216:32;3213:52;;;3261:1;3258;3251:12;3213:52;3284:29;3303:9;3284:29;:::i;:::-;3274:39;;3363:2;3352:9;3348:18;3335:32;3376:28;3398:5;3376:28;:::i;:::-;3423:5;3413:15;;;3119:315;;;;;:::o;3439:260::-;3507:6;3515;3568:2;3556:9;3547:7;3543:23;3539:32;3536:52;;;3584:1;3581;3574:12;3536:52;3607:29;3626:9;3607:29;:::i;:::-;3597:39;;3655:38;3689:2;3678:9;3674:18;3655:38;:::i;:::-;3645:48;;3439:260;;;;;:::o;3704:184::-;3774:6;3827:2;3815:9;3806:7;3802:23;3798:32;3795:52;;;3843:1;3840;3833:12;3795:52;-1:-1:-1;3866:16:1;;3704:184;-1:-1:-1;3704:184:1:o;4172:245::-;4239:6;4292:2;4280:9;4271:7;4267:23;4263:32;4260:52;;;4308:1;4305;4298:12;4260:52;4340:9;4334:16;4359:28;4381:5;4359:28;:::i;4422:380::-;4501:1;4497:12;;;;4544;;;4565:61;;4619:4;4611:6;4607:17;4597:27;;4565:61;4672:2;4664:6;4661:14;4641:18;4638:38;4635:161;;4718:10;4713:3;4709:20;4706:1;4699:31;4753:4;4750:1;4743:15;4781:4;4778:1;4771:15;4635:161;;4422:380;;;:::o;5017:127::-;5078:10;5073:3;5069:20;5066:1;5059:31;5109:4;5106:1;5099:15;5133:4;5130:1;5123:15;5149:128;5189:3;5220:1;5216:6;5213:1;5210:13;5207:39;;;5226:18;;:::i;:::-;-1:-1:-1;5262:9:1;;5149:128::o;5282:125::-;5322:4;5350:1;5347;5344:8;5341:34;;;5355:18;;:::i;:::-;-1:-1:-1;5392:9:1;;5282:125::o;5818:418::-;6020:2;6002:21;;;6059:2;6039:18;;;6032:30;6098:34;6093:2;6078:18;;6071:62;-1:-1:-1;;;6164:2:1;6149:18;;6142:52;6226:3;6211:19;;5818:418::o;8175:245::-;8254:6;8262;8315:2;8303:9;8294:7;8290:23;8286:32;8283:52;;;8331:1;8328;8321:12;8283:52;-1:-1:-1;;8354:16:1;;8410:2;8395:18;;;8389:25;8354:16;;8389:25;;-1:-1:-1;8175:245:1:o;8425:168::-;8465:7;8531:1;8527;8523:6;8519:14;8516:1;8513:21;8508:1;8501:9;8494:17;8490:45;8487:71;;;8538:18;;:::i;:::-;-1:-1:-1;8578:9:1;;8425:168::o;8598:217::-;8638:1;8664;8654:132;;8708:10;8703:3;8699:20;8696:1;8689:31;8743:4;8740:1;8733:15;8771:4;8768:1;8761:15;8654:132;-1:-1:-1;8800:9:1;;8598:217::o
Swarm Source
ipfs://e58555695ed8c530da2f352fc106405092d783d6a5f6fdbbfa06f148f9133491
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.