ETH Price: $2,224.02 (-5.58%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve239496542025-12-05 22:20:4759 days ago1764973247IN
X7 Finance: X7102 Token
0 ETH0.000006650.1435
Approve235125972025-10-05 15:55:23121 days ago1759679723IN
X7 Finance: X7102 Token
0 ETH0.000052291.12780861
Approve231705692025-08-18 21:15:35168 days ago1755551735IN
X7 Finance: X7102 Token
0 ETH0.000070672.41352441
Transfer231704772025-08-18 20:57:11168 days ago1755550631IN
X7 Finance: X7102 Token
0 ETH0.000136232.35048583
Approve229556422025-07-19 20:30:47198 days ago1752957047IN
X7 Finance: X7102 Token
0 ETH0.000134062.89101343
Approve217389972025-01-30 17:58:23368 days ago1738259903IN
X7 Finance: X7102 Token
0 ETH0.000341847.3755448
Approve216202592025-01-14 4:13:35385 days ago1736828015IN
X7 Finance: X7102 Token
0 ETH0.000095942.06845842
Approve215673512025-01-06 18:56:23392 days ago1736189783IN
X7 Finance: X7102 Token
0 ETH0.0008677518.72257327
Approve215622902025-01-06 1:57:11393 days ago1736128631IN
X7 Finance: X7102 Token
0 ETH0.000354317.64081702
Approve215378212025-01-02 15:55:59397 days ago1735833359IN
X7 Finance: X7102 Token
0 ETH0.0006881414.83975824
Approve214420582024-12-20 6:51:47410 days ago1734677507IN
X7 Finance: X7102 Token
0 ETH0.00054111.67273081
Approve213901572024-12-13 0:58:23417 days ago1734051503IN
X7 Finance: X7102 Token
0 ETH0.0005094310.98878207
Transfer213900382024-12-13 0:34:11417 days ago1734050051IN
X7 Finance: X7102 Token
0 ETH0.0007806513.47157246
Approve211932742024-11-15 13:04:35445 days ago1731675875IN
X7 Finance: X7102 Token
0 ETH0.0007726616.67103405
Approve211462112024-11-08 23:28:35451 days ago1731108515IN
X7 Finance: X7102 Token
0 ETH0.0004774210.2503609
Approve207494662024-09-14 14:32:35507 days ago1726324355IN
X7 Finance: X7102 Token
0 ETH0.000116862.52025592
Approve207030892024-09-08 3:04:59513 days ago1725764699IN
X7 Finance: X7102 Token
0 ETH0.000054751.86972219
Approve207023502024-09-08 0:36:11513 days ago1725755771IN
X7 Finance: X7102 Token
0 ETH0.000040551.3853618
Approve206736522024-09-04 0:31:11517 days ago1725409871IN
X7 Finance: X7102 Token
0 ETH0.000073171.57805558
Approve206734772024-09-03 23:55:59517 days ago1725407759IN
X7 Finance: X7102 Token
0 ETH0.000034380.74136728
Approve206734532024-09-03 23:51:11517 days ago1725407471IN
X7 Finance: X7102 Token
0 ETH0.000025880.55828187
Approve206734322024-09-03 23:46:47517 days ago1725407207IN
X7 Finance: X7102 Token
0 ETH0.000048481.04520823
Approve206733552024-09-03 23:31:23517 days ago1725406283IN
X7 Finance: X7102 Token
0 ETH0.000036740.79226682
Approve206675932024-09-03 4:14:35518 days ago1725336875IN
X7 Finance: X7102 Token
0 ETH0.000055631.19973091
Approve206670292024-09-03 2:20:59518 days ago1725330059IN
X7 Finance: X7102 Token
0 ETH0.000082221.77461913
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
X7102

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-09-24
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;

/*

 /$$   /$$ /$$$$$$$$       /$$$$$$$$ /$$
| $$  / $$|_____ $$/      | $$_____/|__/
|  $$/ $$/     /$$/       | $$       /$$ /$$$$$$$   /$$$$$$  /$$$$$$$   /$$$$$$$  /$$$$$$
 \  $$$$/     /$$/        | $$$$$   | $$| $$__  $$ |____  $$| $$__  $$ /$$_____/ /$$__  $$
  >$$  $$    /$$/         | $$__/   | $$| $$  \ $$  /$$$$$$$| $$  \ $$| $$      | $$$$$$$$
 /$$/\  $$  /$$/          | $$      | $$| $$  | $$ /$$__  $$| $$  | $$| $$      | $$_____/
| $$  \ $$ /$$/           | $$      | $$| $$  | $$|  $$$$$$$| $$  | $$|  $$$$$$$|  $$$$$$$
|__/  |__/|__/            |__/      |__/|__/  |__/ \_______/|__/  |__/ \_______/ \_______/

Contract: ERC-20 Token X7102

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 X7102 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("X7102", "X7102") 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

Contract ABI

API
[{"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"}]

6080604052610258600a5560c8600b55612710600c553480156200002257600080fd5b506040516200194338038062001943833981016040819052620000459162000275565b6040805180820182526005808252642c1b98981960d91b6020808401829052845180860190955291845290830152737000a09c425abf5173ff458df1370c25d1c5810591600362000097838262000352565b506004620000a6828262000352565b505050620000ba816200011e60201b60201c565b50600680546001600160a01b038085166001600160a01b031992831617909255600780549284169290911691909117905562000116737000a09c425abf5173ff458df1370c25d1c581056a52b7d2dcc80cd2e400000062000170565b505062000445565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001cb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620001df91906200041e565b90915550506001600160a01b038216600090815260208190526040812080548392906200020e9084906200041e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b03811681146200027057600080fd5b919050565b600080604083850312156200028957600080fd5b620002948362000258565b9150620002a46020840162000258565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d857607f821691505b602082108103620002f957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034d57600081815260208120601f850160051c81016020861015620003285750805b601f850160051c820191505b81811015620003495782815560010162000334565b5050505b505050565b81516001600160401b038111156200036e576200036e620002ad565b62000386816200037f8454620002c3565b84620002ff565b602080601f831160018114620003be5760008415620003a55750858301515b600019600386901b1c1916600185901b17855562000349565b600085815260208120601f198616915b82811015620003ef57888601518255948401946001909101908401620003ce565b50858210156200040e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082198211156200044057634e487b7160e01b600052601160045260246000fd5b500190565b6114ee80620004556000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c80638a8c523c1161010f578063a9d3cd8a116100a2578063dd62ed3e11610071578063dd62ed3e14610409578063e86dea4a1461041c578063f2fde38b14610425578063fbabba221461043857600080fd5b8063a9d3cd8a146103bd578063ab04a6bb146103d0578063abd6aa41146103e3578063be1c7142146103f657600080fd5b806398e2ebbf116100de57806398e2ebbf14610361578063a457c2d714610384578063a45db91114610397578063a9059cbb146103aa57600080fd5b80638a8c523c146103385780638da5cb5b146103405780639358928b1461035157806395d89b411461035957600080fd5b80632559882d116101875780634639139d116101565780634639139d146102e157806370a08231146102f4578063715018a61461031d5780637b31bd781461032557600080fd5b80632559882d1461028c578063313ce5671461029457806334091a43146102a357806339509351146102ce57600080fd5b806318160ddd116101c357806318160ddd1461026157806320331cfc1461026957806320800a001461027157806323b872dd1461027957600080fd5b8062ae3bf8146101f457806306fdde0314610209578063095ea7b314610227578063180b0d7e1461024a575b600080fd5b6102076102023660046111da565b610441565b005b61021161052b565b60405161021e91906111fc565b60405180910390f35b61023a610235366004611251565b6105bd565b604051901515815260200161021e565b610253600c5481565b60405190815260200161021e565b600254610253565b6102076105d5565b61020761062c565b61023a61028736600461127b565b61068f565b6102076106b3565b6040516012815260200161021e565b6006546102b6906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b61023a6102dc366004611251565b610703565b6007546102b6906001600160a01b031681565b6102536103023660046111da565b6001600160a01b031660009081526020819052604090205490565b610207610725565b6009546102b6906001600160a01b031681565b610207610739565b6005546001600160a01b03166102b6565b61025361076a565b6102116107d4565b61023a61036f3660046111da565b60086020526000908152604090205460ff1681565b61023a610392366004611251565b6107e3565b6102076103a53660046112b7565b610863565b61023a6103b8366004611251565b6108b5565b6102076103cb3660046112de565b6108c3565b6102076103de3660046111da565b610961565b6102076103f13660046111da565b6109c8565b6102076104043660046111da565b610a2a565b610253610417366004611315565b610ab3565b610253600b5481565b6102076104333660046111da565b610ade565b610253600a5481565b6007546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190611348565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105279190611361565b5050565b60606003805461053a9061137e565b80601f01602080910402602001604051908101604052809291908181526020018280546105669061137e565b80156105b35780601f10610588576101008083540402835291602001916105b3565b820191906000526020600020905b81548152906001019060200180831161059657829003601f168201915b5050505050905090565b6000336105cb818585610b54565b5060019392505050565b6105dd610c78565b600d54610100900460ff16156105f257600080fd5b600d805461ff0019166101001790556040517f4d344c8b0016d5807caec92f09a154f1cfc026110a8106ccbe2dceff0317355d90600090a1565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610679576040519150601f19603f3d011682016040523d82523d6000602084013e61067e565b606091505b505090508061068c57600080fd5b50565b60003361069d858285610ce1565b6106a8858585610d5b565b506001949350505050565b6106bb610c78565b600d5460ff16156106cb57600080fd5b600d805460ff191660011790556040517f527064e85a8453752e55610dd634b6ee8cd80307b0ea3f0eed8c1f7ca2696f8e90600090a1565b6000336105cb8185856107168383610ab3565b61072091906113ce565b610b54565b61072d610c78565b6107376000610f9d565b565b610741610c78565b600d5462010000900460ff161561075757600080fd5b600d805462ff0000191662010000179055565b600060208190527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83548180527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546002546107c591906113e6565b6107cf91906113e6565b905090565b60606004805461053a9061137e565b600033816107f18286610ab3565b9050838110156108565760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6106a88286868403610b54565b61086b610c78565b600a5481111561087a57600080fd5b600b8190556040518181527fc1bcceddd77fdc95a8da9bec5802d2e0bb564dd02c0730222d8e12030bd910439060200160405180910390a150565b6000336105cb818585610d5b565b6007546001600160a01b03163314806108e657506005546001600160a01b031633145b6109025760405162461bcd60e51b815260040161084d906113fd565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f52f7750de642e169ff687a199cc8453a96d938130a797c0a11ea42a4d1659d87910160405180910390a25050565b610969610c78565b600d54610100900460ff161561097e57600080fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fd3c93458b0ffb1a51466cc4b7fcda74d245ef1c6bdfe9e111609eea5afcae4c990600090a250565b6109d0610c78565b600d5460ff16156109e057600080fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f03694a956320a0c277498a931248855f5ef47143cabe91ec33fc0a4393bb774e90600090a250565b6007546001600160a01b0316331480610a4d57506005546001600160a01b031633145b610a695760405162461bcd60e51b815260040161084d906113fd565b600980546001600160a01b0319166001600160a01b0383169081179091556040517f205890426c74334fba9f3d65990e94e55dac01584e054394ab50173c4a01da2d90600090a250565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610ae6610c78565b6001600160a01b038116610b4b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084d565b61068c81610f9d565b6001600160a01b038316610bb65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161084d565b6001600160a01b038216610c175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161084d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b33610c8b6005546001600160a01b031690565b6001600160a01b0316146107375760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084d565b6000610ced8484610ab3565b90506000198114610d555781811015610d485760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161084d565b610d558484848403610b54565b50505050565b600d5462010000900460ff1680610d7f57506005546001600160a01b038481169116145b610d8857600080fd5b60075481906001600160a01b0385811691161480610db357506007546001600160a01b038481169116145b15610dc357610d55848484610fef565b6001600160a01b03831660009081526008602052604090205460ff1680610e0257506001600160a01b03841660009081526008602052604090205460ff165b15610f1e576001600160a01b03831660009081526008602052604081205460ff1615610e2f575083610e32565b50825b6006546040516305666bad60e11b81526001600160a01b0383811660048301526000928392911690630accd75a906024016040805180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea39190611453565b9150915080821180610eb3575080155b15610ebf575060019050805b600081600c5484600b5489610ed49190611477565b610ede9190611477565b610ee89190611496565b610ef29190611496565b600754909150610f0d9089906001600160a01b031683610fef565b610f1781876113e6565b9450505050505b6009546001600160a01b0390811690841603610f92576007546040516330ac175560e11b81523060048201526001600160a01b03909116906361582eaa90602401600060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050505b610d55848483610fef565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166110535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084d565b6001600160a01b0382166110b55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084d565b6001600160a01b0383166000908152602081905260409020548181101561112d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161084d565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906111649084906113ce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111b091815260200190565b60405180910390a350505050565b80356001600160a01b03811681146111d557600080fd5b919050565b6000602082840312156111ec57600080fd5b6111f5826111be565b9392505050565b600060208083528351808285015260005b818110156112295785810183015185820160400152820161120d565b8181111561123b576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561126457600080fd5b61126d836111be565b946020939093013593505050565b60008060006060848603121561129057600080fd5b611299846111be565b92506112a7602085016111be565b9150604084013590509250925092565b6000602082840312156112c957600080fd5b5035919050565b801515811461068c57600080fd5b600080604083850312156112f157600080fd5b6112fa836111be565b9150602083013561130a816112d0565b809150509250929050565b6000806040838503121561132857600080fd5b611331836111be565b915061133f602084016111be565b90509250929050565b60006020828403121561135a57600080fd5b5051919050565b60006020828403121561137357600080fd5b81516111f5816112d0565b600181811c9082168061139257607f821691505b6020821081036113b257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113e1576113e16113b8565b500190565b6000828210156113f8576113f86113b8565b500390565b60208082526036908201527f4f6e6c7920746865206f776e6572206f7220746865206c697175696469747920604082015275343ab11036b0bc9030b2321030903732bb903830b4b960511b606082015260800190565b6000806040838503121561146657600080fd5b505080516020909101519092909150565b6000816000190483118215151615611491576114916113b8565b500290565b6000826114b357634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e724fda02a14389d881290f45e17b029a5532648874c010089cd2d20bbdaaf2c64736f6c634300080f00330000000000000000000000007100aacc6047281b105201cb9e0decf9ae5431da0000000000000000000000007102407afa5d6581aab694feb03feb0e7cf69ebb

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101ef5760003560e01c80638a8c523c1161010f578063a9d3cd8a116100a2578063dd62ed3e11610071578063dd62ed3e14610409578063e86dea4a1461041c578063f2fde38b14610425578063fbabba221461043857600080fd5b8063a9d3cd8a146103bd578063ab04a6bb146103d0578063abd6aa41146103e3578063be1c7142146103f657600080fd5b806398e2ebbf116100de57806398e2ebbf14610361578063a457c2d714610384578063a45db91114610397578063a9059cbb146103aa57600080fd5b80638a8c523c146103385780638da5cb5b146103405780639358928b1461035157806395d89b411461035957600080fd5b80632559882d116101875780634639139d116101565780634639139d146102e157806370a08231146102f4578063715018a61461031d5780637b31bd781461032557600080fd5b80632559882d1461028c578063313ce5671461029457806334091a43146102a357806339509351146102ce57600080fd5b806318160ddd116101c357806318160ddd1461026157806320331cfc1461026957806320800a001461027157806323b872dd1461027957600080fd5b8062ae3bf8146101f457806306fdde0314610209578063095ea7b314610227578063180b0d7e1461024a575b600080fd5b6102076102023660046111da565b610441565b005b61021161052b565b60405161021e91906111fc565b60405180910390f35b61023a610235366004611251565b6105bd565b604051901515815260200161021e565b610253600c5481565b60405190815260200161021e565b600254610253565b6102076105d5565b61020761062c565b61023a61028736600461127b565b61068f565b6102076106b3565b6040516012815260200161021e565b6006546102b6906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b61023a6102dc366004611251565b610703565b6007546102b6906001600160a01b031681565b6102536103023660046111da565b6001600160a01b031660009081526020819052604090205490565b610207610725565b6009546102b6906001600160a01b031681565b610207610739565b6005546001600160a01b03166102b6565b61025361076a565b6102116107d4565b61023a61036f3660046111da565b60086020526000908152604090205460ff1681565b61023a610392366004611251565b6107e3565b6102076103a53660046112b7565b610863565b61023a6103b8366004611251565b6108b5565b6102076103cb3660046112de565b6108c3565b6102076103de3660046111da565b610961565b6102076103f13660046111da565b6109c8565b6102076104043660046111da565b610a2a565b610253610417366004611315565b610ab3565b610253600b5481565b6102076104333660046111da565b610ade565b610253600a5481565b6007546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190611348565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105279190611361565b5050565b60606003805461053a9061137e565b80601f01602080910402602001604051908101604052809291908181526020018280546105669061137e565b80156105b35780601f10610588576101008083540402835291602001916105b3565b820191906000526020600020905b81548152906001019060200180831161059657829003601f168201915b5050505050905090565b6000336105cb818585610b54565b5060019392505050565b6105dd610c78565b600d54610100900460ff16156105f257600080fd5b600d805461ff0019166101001790556040517f4d344c8b0016d5807caec92f09a154f1cfc026110a8106ccbe2dceff0317355d90600090a1565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610679576040519150601f19603f3d011682016040523d82523d6000602084013e61067e565b606091505b505090508061068c57600080fd5b50565b60003361069d858285610ce1565b6106a8858585610d5b565b506001949350505050565b6106bb610c78565b600d5460ff16156106cb57600080fd5b600d805460ff191660011790556040517f527064e85a8453752e55610dd634b6ee8cd80307b0ea3f0eed8c1f7ca2696f8e90600090a1565b6000336105cb8185856107168383610ab3565b61072091906113ce565b610b54565b61072d610c78565b6107376000610f9d565b565b610741610c78565b600d5462010000900460ff161561075757600080fd5b600d805462ff0000191662010000179055565b600060208190527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf83548180527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546002546107c591906113e6565b6107cf91906113e6565b905090565b60606004805461053a9061137e565b600033816107f18286610ab3565b9050838110156108565760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6106a88286868403610b54565b61086b610c78565b600a5481111561087a57600080fd5b600b8190556040518181527fc1bcceddd77fdc95a8da9bec5802d2e0bb564dd02c0730222d8e12030bd910439060200160405180910390a150565b6000336105cb818585610d5b565b6007546001600160a01b03163314806108e657506005546001600160a01b031633145b6109025760405162461bcd60e51b815260040161084d906113fd565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f52f7750de642e169ff687a199cc8453a96d938130a797c0a11ea42a4d1659d87910160405180910390a25050565b610969610c78565b600d54610100900460ff161561097e57600080fd5b600780546001600160a01b0319166001600160a01b0383169081179091556040517fd3c93458b0ffb1a51466cc4b7fcda74d245ef1c6bdfe9e111609eea5afcae4c990600090a250565b6109d0610c78565b600d5460ff16156109e057600080fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f03694a956320a0c277498a931248855f5ef47143cabe91ec33fc0a4393bb774e90600090a250565b6007546001600160a01b0316331480610a4d57506005546001600160a01b031633145b610a695760405162461bcd60e51b815260040161084d906113fd565b600980546001600160a01b0319166001600160a01b0383169081179091556040517f205890426c74334fba9f3d65990e94e55dac01584e054394ab50173c4a01da2d90600090a250565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610ae6610c78565b6001600160a01b038116610b4b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084d565b61068c81610f9d565b6001600160a01b038316610bb65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161084d565b6001600160a01b038216610c175760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161084d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b33610c8b6005546001600160a01b031690565b6001600160a01b0316146107375760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084d565b6000610ced8484610ab3565b90506000198114610d555781811015610d485760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161084d565b610d558484848403610b54565b50505050565b600d5462010000900460ff1680610d7f57506005546001600160a01b038481169116145b610d8857600080fd5b60075481906001600160a01b0385811691161480610db357506007546001600160a01b038481169116145b15610dc357610d55848484610fef565b6001600160a01b03831660009081526008602052604090205460ff1680610e0257506001600160a01b03841660009081526008602052604090205460ff165b15610f1e576001600160a01b03831660009081526008602052604081205460ff1615610e2f575083610e32565b50825b6006546040516305666bad60e11b81526001600160a01b0383811660048301526000928392911690630accd75a906024016040805180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea39190611453565b9150915080821180610eb3575080155b15610ebf575060019050805b600081600c5484600b5489610ed49190611477565b610ede9190611477565b610ee89190611496565b610ef29190611496565b600754909150610f0d9089906001600160a01b031683610fef565b610f1781876113e6565b9450505050505b6009546001600160a01b0390811690841603610f92576007546040516330ac175560e11b81523060048201526001600160a01b03909116906361582eaa90602401600060405180830381600087803b158015610f7957600080fd5b505af1158015610f8d573d6000803e3d6000fd5b505050505b610d55848483610fef565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166110535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084d565b6001600160a01b0382166110b55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084d565b6001600160a01b0383166000908152602081905260409020548181101561112d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161084d565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906111649084906113ce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111b091815260200190565b60405180910390a350505050565b80356001600160a01b03811681146111d557600080fd5b919050565b6000602082840312156111ec57600080fd5b6111f5826111be565b9392505050565b600060208083528351808285015260005b818110156112295785810183015185820160400152820161120d565b8181111561123b576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561126457600080fd5b61126d836111be565b946020939093013593505050565b60008060006060848603121561129057600080fd5b611299846111be565b92506112a7602085016111be565b9150604084013590509250925092565b6000602082840312156112c957600080fd5b5035919050565b801515811461068c57600080fd5b600080604083850312156112f157600080fd5b6112fa836111be565b9150602083013561130a816112d0565b809150509250929050565b6000806040838503121561132857600080fd5b611331836111be565b915061133f602084016111be565b90509250929050565b60006020828403121561135a57600080fd5b5051919050565b60006020828403121561137357600080fd5b81516111f5816112d0565b600181811c9082168061139257607f821691505b6020821081036113b257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156113e1576113e16113b8565b500190565b6000828210156113f8576113f86113b8565b500390565b60208082526036908201527f4f6e6c7920746865206f776e6572206f7220746865206c697175696469747920604082015275343ab11036b0bc9030b2321030903732bb903830b4b960511b606082015260800190565b6000806040838503121561146657600080fd5b505080516020909101519092909150565b6000816000190483118215151615611491576114916113b8565b500290565b6000826114b357634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e724fda02a14389d881290f45e17b029a5532648874c010089cd2d20bbdaaf2c64736f6c634300080f0033

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://e724fda02a14389d881290f45e17b029a5532648874c010089cd2d20bbdaaf2c

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

X7 is designed to address the needs of four major quadrants within decentralized finance. The symbiotic nature of each segment in the X7 Finance ecosystem provides fluid insurance for lenders and mutual funding for all other market participants.

Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.