ETH Price: $2,867.14 (-2.52%)

Contract

0x11988C627F7012B8Eb9cac42E74539a70acb4f6C

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
List Agent For S...4174426482026-01-03 10:55:0422 days ago1767437704IN
0x11988C62...70acb4f6C
0 ETH0.000000510.01
List Agent For S...4171386662026-01-02 13:49:0723 days ago1767361747IN
0x11988C62...70acb4f6C
0 ETH0.000000310.01
Execute Agent Tr...4144366812025-12-25 18:12:2631 days ago1766686346IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144366012025-12-25 18:12:0631 days ago1766686326IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
Execute Agent Tr...4144359452025-12-25 18:09:2331 days ago1766686163IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144305572025-12-25 17:46:5331 days ago1766684813IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
Execute Agent Tr...4144304692025-12-25 17:46:3031 days ago1766684790IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
Execute Agent Tr...4144247512025-12-25 17:22:4031 days ago1766683360IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144228012025-12-25 17:14:3331 days ago1766682873IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
Execute Agent Tr...4144207572025-12-25 17:06:0431 days ago1766682364IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144190472025-12-25 16:58:5731 days ago1766681937IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
Execute Agent Tr...4144170402025-12-25 16:50:3631 days ago1766681436IN
0x11988C62...70acb4f6C
0 ETH0.000001110.01067
Execute Agent Tr...4144154702025-12-25 16:44:0431 days ago1766681044IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144140092025-12-25 16:38:0031 days ago1766680680IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
Execute Agent Tr...4144134292025-12-25 16:35:3831 days ago1766680538IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144129532025-12-25 16:33:3931 days ago1766680419IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144125972025-12-25 16:32:1031 days ago1766680330IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144122792025-12-25 16:30:5031 days ago1766680250IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4144115832025-12-25 16:27:5731 days ago1766680077IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
Execute Agent Tr...4144098632025-12-25 16:20:4731 days ago1766679647IN
0x11988C62...70acb4f6C
0 ETH0.000001280.012266
Execute Agent Tr...4144082732025-12-25 16:14:1131 days ago1766679251IN
0x11988C62...70acb4f6C
0 ETH0.000001420.014258
Execute Agent Tr...4137760492025-12-23 20:25:5733 days ago1766521557IN
0x11988C62...70acb4f6C
0 ETH0.000000870.01
Execute Agent Tr...4137740462025-12-23 20:17:3633 days ago1766521056IN
0x11988C62...70acb4f6C
0 ETH0.000000870.01
Execute Agent Tr...4137707682025-12-23 20:03:5733 days ago1766520237IN
0x11988C62...70acb4f6C
0 ETH0.000001040.01
Execute Agent Tr...4137508972025-12-23 18:41:2133 days ago1766515281IN
0x11988C62...70acb4f6C
0 ETH0.0000010.01
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xC930d050...bFB6340d6
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
AISpotDEX

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 100 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

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

interface IERC721 {
    function ownerOf(uint256 tokenId) external view returns (address);
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
}


interface IERC20 {
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
}

interface IAIAgentFactory {
    function ownerOf(uint256 tokenId) external view returns (address);
}

interface IAIAgentInstance {
    function factory() external view returns (address);
    function agentId() external view returns (uint256);
}

contract AISpotDEX {
    IERC20 public immutable pdxxToken;
    address public immutable agentFactory;
    address public owner;
    address public feeReceiver;

    address public commissionWallet;

    uint256 public constant feeBps = 100; // 1%
    uint256 public pdxxRewardPool;
    uint256 public rewardAmount = 200 * 1e18;

    uint256 public pdxxCommissionPool;

    mapping(uint256 => uint256) public agentSalePrice;

    event TradeExecuted(
        address indexed agentA,
        address indexed agentB,
        address tokenSell,
        address tokenBuy,
        uint256 amountSell,
        uint256 amountBuy,
        uint256 pdxxFee
    );

    event AgentFeePaid(address indexed agent, uint256 amount, address token);
    event AgentRewarded(address indexed agent, uint256 amount);
    event AdminWithdrawn(address indexed to, uint256 amount);
    event RewardAmountUpdated(uint256 newAmount);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event RewardPoolFunded(address indexed from, uint256 amount);
    event AgentListed(uint256 indexed agentId, address indexed seller, uint256 price);
    event AgentSold(uint256 indexed agentId, address indexed buyer, address indexed seller, uint256 price, uint256 fee);
    event CommissionWithdrawn(address indexed to, uint256 amount);
    event CommissionFunded(address indexed from, uint256 amount);


    constructor(address _pdxxToken, address _agentFactory) {
        pdxxToken = IERC20(_pdxxToken);
        agentFactory = _agentFactory;
        owner = msg.sender;
        feeReceiver = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }

    function executeAgentTrade(
        address agentSell,
        address agentBuy,
        address tokenSell,
        address tokenBuy,
        uint256 amountSell,
        uint256 amountBuy
    ) external onlyOwner {
        require(_isValidAgent(agentSell), "Invalid agent A");
        require(_isValidAgent(agentBuy), "Invalid agent B");

        uint256 feeAmount = (amountBuy * feeBps) / 10000; // 1% от покупателя

        require(IERC20(tokenSell).transferFrom(agentSell, agentBuy, amountSell), "Sell transfer failed");
        require(IERC20(tokenBuy).transferFrom(agentBuy, agentSell, amountBuy), "Buy transfer failed");        

        require(pdxxToken.transferFrom(agentBuy, address(this), feeAmount), "PDXX fee from buyer failed");
        emit AgentFeePaid(agentBuy, feeAmount, address(pdxxToken));

        pdxxCommissionPool += feeAmount;

        emit TradeExecuted(agentSell, agentBuy, tokenSell, tokenBuy, amountSell, amountBuy, feeAmount);
    }

    function rewardNewAgent(address agent) external onlyOwner {
        require(_isValidAgent(agent), "Invalid agent");
        require(pdxxRewardPool >= rewardAmount, "Not enough in reward pool");

        pdxxRewardPool -= rewardAmount;
        require(pdxxToken.transfer(agent, rewardAmount), "Reward transfer failed");

        emit AgentRewarded(agent, rewardAmount);
    }

    function setRewardAmount(uint256 newAmount) external onlyOwner {
        rewardAmount = newAmount;
        emit RewardAmountUpdated(newAmount);
    }

    function adminWithdrawFromRewardPool(uint256 amount, address to) external onlyOwner {
        require(to != address(0), "Zero address");
        require(amount <= pdxxRewardPool, "Not enough in reward pool");

        pdxxRewardPool -= amount;
        require(pdxxToken.transfer(to, amount), "Withdraw transfer failed");

        emit AdminWithdrawn(to, amount);
    }

    function _isValidAgent(address agent) internal view returns (bool) {
        try IAIAgentInstance(agent).factory() returns (address f) {
            return f == agentFactory;
        } catch {
            return false;
        }
    }

    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner != address(0), "Zero address");
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }


    function fundRewardPool(uint256 amount) external {
        require(amount > 0, "Amount must be > 0");
        require(pdxxToken.transferFrom(msg.sender, address(this), amount), "PDXX transfer failed");

        pdxxRewardPool += amount;

        emit RewardPoolFunded(msg.sender, amount);
    }


    function fundCommissionPool(uint256 amount) external {
        require(amount > 0, "Amount must be > 0");
        require(pdxxToken.transferFrom(msg.sender, address(this), amount), "PDXX transfer failed");

        pdxxCommissionPool += amount;

        emit CommissionFunded(msg.sender, amount);
    }


    

    function listAgentForSale(uint256 agentId, uint256 price) external {
        require(price > 0, "Price must be > 0");
        require(IAIAgentFactory(agentFactory).ownerOf(agentId) == msg.sender, "Not owner");

        agentSalePrice[agentId] = price;
        emit AgentListed(agentId, msg.sender, price);
    }


    function delistAgent(uint256 agentId) external {
        require(IAIAgentFactory(agentFactory).ownerOf(agentId) == msg.sender, "Not owner");
        agentSalePrice[agentId] = 0;
    }


    function isListed(uint256 agentId) external view returns (bool) {
        return agentSalePrice[agentId] > 0;
    }



    function buyAgent(uint256 agentId) external {
        uint256 price = agentSalePrice[agentId];
        require(price > 0, "Agent not listed");

        address seller = IAIAgentFactory(agentFactory).ownerOf(agentId);
        require(seller != address(0) && seller != msg.sender, "Invalid seller");

        uint256 fee = (price * 1000) / 10000; // 10%
        uint256 total = price + fee;

        require(pdxxToken.transferFrom(msg.sender, address(this), total), "PDXX transfer failed");

        pdxxCommissionPool += fee;

        require(pdxxToken.transfer(seller, price), "Payout transfer failed");


        IERC721(agentFactory).safeTransferFrom(seller, msg.sender, agentId);

        agentSalePrice[agentId] = 0;

        emit AgentSold(agentId, msg.sender, seller, price, fee);
    }

    function setCommissionWallet(address _wallet) external onlyOwner {
        require(_wallet != address(0), "Zero address");
        commissionWallet = _wallet;
    }

    function withdrawFromCommissionPool(uint256 amount) external {
        require(msg.sender == commissionWallet, "Not commission wallet");
        require(amount <= pdxxCommissionPool, "Not enough in commission pool");

        pdxxCommissionPool -= amount;
        require(pdxxToken.transfer(commissionWallet, amount), "Withdraw transfer failed");

        emit CommissionWithdrawn(commissionWallet, amount);
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 100
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_pdxxToken","type":"address"},{"internalType":"address","name":"_agentFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AdminWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"token","type":"address"}],"name":"AgentFeePaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"agentId","type":"uint256"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"AgentListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AgentRewarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"agentId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"AgentSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"CommissionFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"CommissionWithdrawn","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":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"RewardAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardPoolFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agentA","type":"address"},{"indexed":true,"internalType":"address","name":"agentB","type":"address"},{"indexed":false,"internalType":"address","name":"tokenSell","type":"address"},{"indexed":false,"internalType":"address","name":"tokenBuy","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSell","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"pdxxFee","type":"uint256"}],"name":"TradeExecuted","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"adminWithdrawFromRewardPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"agentFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"agentSalePrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256"}],"name":"buyAgent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"commissionWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256"}],"name":"delistAgent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"agentSell","type":"address"},{"internalType":"address","name":"agentBuy","type":"address"},{"internalType":"address","name":"tokenSell","type":"address"},{"internalType":"address","name":"tokenBuy","type":"address"},{"internalType":"uint256","name":"amountSell","type":"uint256"},{"internalType":"uint256","name":"amountBuy","type":"uint256"}],"name":"executeAgentTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeBps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"fundCommissionPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"fundRewardPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256"}],"name":"isListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"name":"listAgentForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pdxxCommissionPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pdxxRewardPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pdxxToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"rewardNewAgent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"setCommissionWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFromCommissionPool","outputs":[],"stateMutability":"nonpayable","type":"function"}]

0x60c0604052680ad78ebc5ac620000060045534801561001d57600080fd5b50604051611b36380380611b3683398101604081905261003c91610091565b6001600160a01b039182166080521660a05260008054336001600160a01b031991821681179092556001805490911690911790556100c4565b80516001600160a01b038116811461008c57600080fd5b919050565b600080604083850312156100a457600080fd5b6100ad83610075565b91506100bb60208401610075565b90509250929050565b60805160a0516119eb61014b600039600081816101f30152818161069501528181610df2015281816111660152818161141801526116660152600081816102c901528181610439015281816105500152818161081901528181610bbf01528181610c9801528181610f5b0152818161127c01528181611342015261151b01526119eb6000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806397c0262a116100c3578063d433a6c81161007c578063d433a6c8146102c4578063f2fde38b146102eb578063f7b2a7be146102fe578063fa3ded9014610307578063fcce48831461031a578063ffb39cbd1461034c57600080fd5b806397c0262a1461025c578063a8a65a781461026f578063ac22f55114610282578063b3f006741461028b578063b6f45f111461029e578063c2a2e638146102b157600080fd5b80636a227298116101155780636a227298146101bb5780637d60b6ce146101db5780637df107ea146101ee5780638200b9aa1461022d57806387f27a02146102405780638da5cb5b1461024957600080fd5b806301efccaf146101525780631d583e0d146101675780632119596f1461017a57806324a9d8531461018d5780632fb29a55146101a8575b600080fd5b6101656101603660046116a1565b61035f565b005b6101656101753660046116a1565b610519565b6101656101883660046116ba565b610631565b610195606481565b6040519081526020015b60405180910390f35b6101656101b63660046116f4565b610779565b6101956101c93660046116a1565b60066020526000908152604090205481565b6101656101e9366004611724565b6108f6565b6102157f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161019f565b61016561023b366004611748565b610968565b61019560035481565b600054610215906001600160a01b031681565b600254610215906001600160a01b031681565b61016561027d3660046116a1565b610d6d565b61019560055481565b600154610215906001600160a01b031681565b6101656102ac3660046116a1565b610dd2565b6101656102bf366004611724565b610e94565b6102157f000000000000000000000000000000000000000000000000000000000000000081565b6101656102f9366004611724565b611053565b61019560045481565b6101656103153660046116a1565b6110fe565b61033c6103283660046116a1565b600090815260066020526040902054151590565b604051901515815260200161019f565b61016561035a3660046116a1565b6114e4565b6002546001600160a01b031633146103b65760405162461bcd60e51b8152602060048201526015602482015274139bdd0818dbdb5b5a5cdcda5bdb881dd85b1b195d605a1b60448201526064015b60405180910390fd5b6005548111156104085760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820696e20636f6d6d697373696f6e20706f6f6c00000060448201526064016103ad565b806005600082825461041a91906117cc565b909155505060025460405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263a9059cbb9261047492919091169085906004016117e5565b6020604051808303816000875af1158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b791906117fe565b6104d35760405162461bcd60e51b81526004016103ad90611820565b6002546040518281526001600160a01b03909116907fd244b5a3b2e3977ecffe1a5e5ab7661aadfecbae24be711b7a72bb42bd1b2db0906020015b60405180910390a250565b600081116105395760405162461bcd60e51b81526004016103ad90611852565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906105899033903090869060040161187e565b6020604051808303816000875af11580156105a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cc91906117fe565b6105e85760405162461bcd60e51b81526004016103ad906118a2565b80600360008282546105fa91906118d0565b909155505060405181815233907fd3c7d1587d8f93bae0fcfc5a820d2187e755a75ec28a06c20a9da047e1b01eb59060200161050e565b600081116106755760405162461bcd60e51b815260206004820152601160248201527005072696365206d757374206265203e203607c1b60448201526064016103ad565b6040516331a9108f60e11b81526004810183905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156106dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070091906118e3565b6001600160a01b0316146107265760405162461bcd60e51b81526004016103ad90611900565b6000828152600660205260409081902082905551339083907f2c179e1e4a2440acecf6f47ee9d109186409daeeab22578623edc7bf37ddbbc19061076d9085815260200190565b60405180910390a35050565b6000546001600160a01b031633146107a35760405162461bcd60e51b81526004016103ad90611900565b6001600160a01b0381166107c95760405162461bcd60e51b81526004016103ad90611923565b6003548211156107eb5760405162461bcd60e51b81526004016103ad90611949565b81600360008282546107fd91906117cc565b909155505060405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb9061085090849086906004016117e5565b6020604051808303816000875af115801561086f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089391906117fe565b6108af5760405162461bcd60e51b81526004016103ad90611820565b806001600160a01b03167fca1cf43de312865665f595e88f569f9d5246690c07df26e86aba01147e6d1314836040516108ea91815260200190565b60405180910390a25050565b6000546001600160a01b031633146109205760405162461bcd60e51b81526004016103ad90611900565b6001600160a01b0381166109465760405162461bcd60e51b81526004016103ad90611923565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109925760405162461bcd60e51b81526004016103ad90611900565b61099b866115fc565b6109d95760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206167656e74204160881b60448201526064016103ad565b6109e2856115fc565b610a205760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21030b3b2b73a102160891b60448201526064016103ad565b6000612710610a3060648461197c565b610a3a9190611993565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90610a6d908a908a90889060040161187e565b6020604051808303816000875af1158015610a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab091906117fe565b610af35760405162461bcd60e51b815260206004820152601460248201527314d95b1b081d1c985b9cd9995c8819985a5b195960621b60448201526064016103ad565b6040516323b872dd60e01b81526001600160a01b038516906323b872dd90610b239089908b90879060040161187e565b6020604051808303816000875af1158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6691906117fe565b610ba85760405162461bcd60e51b8152602060048201526013602482015272109d5e481d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103ad565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610bf89089903090869060040161187e565b6020604051808303816000875af1158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b91906117fe565b610c875760405162461bcd60e51b815260206004820152601a60248201527f50445858206665652066726f6d206275796572206661696c656400000000000060448201526064016103ad565b604080518281526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660208301528816917f7741d4f725b37604da6d57208b777fe0ff1b2581cd77080f325602b05443f9d8910160405180910390a28060056000828254610cfe91906118d0565b9091555050604080516001600160a01b03878116825286811660208301529181018590526060810184905260808101839052818816918916907fbe424db0fea33aaeac020945c445e8a830405cc3ae1fe4874efcaa64c76b1fc49060a00160405180910390a350505050505050565b6000546001600160a01b03163314610d975760405162461bcd60e51b81526004016103ad90611900565b60048190556040518181527f9639dea65e74b72b1b86ccf3e4f9b6d23b88d2aad2f103d0b3afe394e67edade9060200160405180910390a150565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d91906118e3565b6001600160a01b031614610e835760405162461bcd60e51b81526004016103ad90611900565b600090815260066020526040812055565b6000546001600160a01b03163314610ebe5760405162461bcd60e51b81526004016103ad90611900565b610ec7816115fc565b610f035760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081859d95b9d609a1b60448201526064016103ad565b6004546003541015610f275760405162461bcd60e51b81526004016103ad90611949565b60045460036000828254610f3b91906117cc565b90915550506004805460405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263a9059cbb92610f8e928692016117e5565b6020604051808303816000875af1158015610fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd191906117fe565b6110165760405162461bcd60e51b815260206004820152601660248201527514995dd85c99081d1c985b9cd9995c8819985a5b195960521b60448201526064016103ad565b806001600160a01b03167fbfb306f49a3ca3a1839ee1fc46a4a5ab81b7c33d1c79e28b78c06202c11abc3c60045460405161050e91815260200190565b6000546001600160a01b0316331461107d5760405162461bcd60e51b81526004016103ad90611900565b6001600160a01b0381166110a35760405162461bcd60e51b81526004016103ad90611923565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600660205260409020548061114d5760405162461bcd60e51b815260206004820152601060248201526f1059d95b9d081b9bdd081b1a5cdd195960821b60448201526064016103ad565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156111b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d991906118e3565b90506001600160a01b038116158015906111fc57506001600160a01b0381163314155b6112395760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b63632b960911b60448201526064016103ad565b600061271061124a846103e861197c565b6112549190611993565b9050600061126282856118d0565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906112b59033903090869060040161187e565b6020604051808303816000875af11580156112d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f891906117fe565b6113145760405162461bcd60e51b81526004016103ad906118a2565b816005600082825461132691906118d0565b909155505060405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb9061137990869088906004016117e5565b6020604051808303816000875af1158015611398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bc91906117fe565b6114015760405162461bcd60e51b815260206004820152601660248201527514185e5bdd5d081d1c985b9cd9995c8819985a5b195960521b60448201526064016103ad565b604051632142170760e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342842e0e9061145190869033908a9060040161187e565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b50505060008681526006602090815260408083209290925581518781529081018590526001600160a01b0386169250339188917fa774d8f54ed613012237cb37624df86bba2c4770712fe4bf36ef6129b117a05a910160405180910390a45050505050565b600081116115045760405162461bcd60e51b81526004016103ad90611852565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906115549033903090869060040161187e565b6020604051808303816000875af1158015611573573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159791906117fe565b6115b35760405162461bcd60e51b81526004016103ad906118a2565b80600560008282546115c591906118d0565b909155505060405181815233907fc5ca4a7c490d1b67bdae16f9c805ea5f4070b816968ab1fa0818426bcd380c7b9060200161050e565b6000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611658575060408051601f3d908101601f19168201909252611655918101906118e3565b60015b61166457506000919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614915050919050565b6000602082840312156116b357600080fd5b5035919050565b600080604083850312156116cd57600080fd5b50508035926020909101359150565b6001600160a01b03811681146116f157600080fd5b50565b6000806040838503121561170757600080fd5b823591506020830135611719816116dc565b809150509250929050565b60006020828403121561173657600080fd5b8135611741816116dc565b9392505050565b60008060008060008060c0878903121561176157600080fd5b863561176c816116dc565b9550602087013561177c816116dc565b9450604087013561178c816116dc565b9350606087013561179c816116dc565b9598949750929560808101359460a0909101359350915050565b634e487b7160e01b600052601160045260246000fd5b818103818111156117df576117df6117b6565b92915050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561181057600080fd5b8151801515811461174157600080fd5b60208082526018908201527715da5d1a191c985dc81d1c985b9cd9995c8819985a5b195960421b604082015260600190565b6020808252601290820152710416d6f756e74206d757374206265203e20360741b604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208082526014908201527314111616081d1c985b9cd9995c8819985a5b195960621b604082015260600190565b808201808211156117df576117df6117b6565b6000602082840312156118f557600080fd5b8151611741816116dc565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b6020808252600c908201526b5a65726f206164647265737360a01b604082015260600190565b602080825260199082015278139bdd08195b9bdd59da081a5b881c995dd85c99081c1bdbdb603a1b604082015260600190565b80820281158282048414176117df576117df6117b6565b6000826119b057634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220b3cb814c6262b49145e9e91f006d9cbcf7210fa819e7adb2e1aa6f2c88411a5e64736f6c634300081c0033000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a850000000000000000000000008c5cd9bf5a41d91add3559cc9343a451a0bf11ec

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806397c0262a116100c3578063d433a6c81161007c578063d433a6c8146102c4578063f2fde38b146102eb578063f7b2a7be146102fe578063fa3ded9014610307578063fcce48831461031a578063ffb39cbd1461034c57600080fd5b806397c0262a1461025c578063a8a65a781461026f578063ac22f55114610282578063b3f006741461028b578063b6f45f111461029e578063c2a2e638146102b157600080fd5b80636a227298116101155780636a227298146101bb5780637d60b6ce146101db5780637df107ea146101ee5780638200b9aa1461022d57806387f27a02146102405780638da5cb5b1461024957600080fd5b806301efccaf146101525780631d583e0d146101675780632119596f1461017a57806324a9d8531461018d5780632fb29a55146101a8575b600080fd5b6101656101603660046116a1565b61035f565b005b6101656101753660046116a1565b610519565b6101656101883660046116ba565b610631565b610195606481565b6040519081526020015b60405180910390f35b6101656101b63660046116f4565b610779565b6101956101c93660046116a1565b60066020526000908152604090205481565b6101656101e9366004611724565b6108f6565b6102157f0000000000000000000000008c5cd9bf5a41d91add3559cc9343a451a0bf11ec81565b6040516001600160a01b03909116815260200161019f565b61016561023b366004611748565b610968565b61019560035481565b600054610215906001600160a01b031681565b600254610215906001600160a01b031681565b61016561027d3660046116a1565b610d6d565b61019560055481565b600154610215906001600160a01b031681565b6101656102ac3660046116a1565b610dd2565b6101656102bf366004611724565b610e94565b6102157f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a8581565b6101656102f9366004611724565b611053565b61019560045481565b6101656103153660046116a1565b6110fe565b61033c6103283660046116a1565b600090815260066020526040902054151590565b604051901515815260200161019f565b61016561035a3660046116a1565b6114e4565b6002546001600160a01b031633146103b65760405162461bcd60e51b8152602060048201526015602482015274139bdd0818dbdb5b5a5cdcda5bdb881dd85b1b195d605a1b60448201526064015b60405180910390fd5b6005548111156104085760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820696e20636f6d6d697373696f6e20706f6f6c00000060448201526064016103ad565b806005600082825461041a91906117cc565b909155505060025460405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a8581169263a9059cbb9261047492919091169085906004016117e5565b6020604051808303816000875af1158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b791906117fe565b6104d35760405162461bcd60e51b81526004016103ad90611820565b6002546040518281526001600160a01b03909116907fd244b5a3b2e3977ecffe1a5e5ab7661aadfecbae24be711b7a72bb42bd1b2db0906020015b60405180910390a250565b600081116105395760405162461bcd60e51b81526004016103ad90611852565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a8516906323b872dd906105899033903090869060040161187e565b6020604051808303816000875af11580156105a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cc91906117fe565b6105e85760405162461bcd60e51b81526004016103ad906118a2565b80600360008282546105fa91906118d0565b909155505060405181815233907fd3c7d1587d8f93bae0fcfc5a820d2187e755a75ec28a06c20a9da047e1b01eb59060200161050e565b600081116106755760405162461bcd60e51b815260206004820152601160248201527005072696365206d757374206265203e203607c1b60448201526064016103ad565b6040516331a9108f60e11b81526004810183905233906001600160a01b037f0000000000000000000000008c5cd9bf5a41d91add3559cc9343a451a0bf11ec1690636352211e90602401602060405180830381865afa1580156106dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070091906118e3565b6001600160a01b0316146107265760405162461bcd60e51b81526004016103ad90611900565b6000828152600660205260409081902082905551339083907f2c179e1e4a2440acecf6f47ee9d109186409daeeab22578623edc7bf37ddbbc19061076d9085815260200190565b60405180910390a35050565b6000546001600160a01b031633146107a35760405162461bcd60e51b81526004016103ad90611900565b6001600160a01b0381166107c95760405162461bcd60e51b81526004016103ad90611923565b6003548211156107eb5760405162461bcd60e51b81526004016103ad90611949565b81600360008282546107fd91906117cc565b909155505060405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a85169063a9059cbb9061085090849086906004016117e5565b6020604051808303816000875af115801561086f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089391906117fe565b6108af5760405162461bcd60e51b81526004016103ad90611820565b806001600160a01b03167fca1cf43de312865665f595e88f569f9d5246690c07df26e86aba01147e6d1314836040516108ea91815260200190565b60405180910390a25050565b6000546001600160a01b031633146109205760405162461bcd60e51b81526004016103ad90611900565b6001600160a01b0381166109465760405162461bcd60e51b81526004016103ad90611923565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109925760405162461bcd60e51b81526004016103ad90611900565b61099b866115fc565b6109d95760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206167656e74204160881b60448201526064016103ad565b6109e2856115fc565b610a205760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21030b3b2b73a102160891b60448201526064016103ad565b6000612710610a3060648461197c565b610a3a9190611993565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90610a6d908a908a90889060040161187e565b6020604051808303816000875af1158015610a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab091906117fe565b610af35760405162461bcd60e51b815260206004820152601460248201527314d95b1b081d1c985b9cd9995c8819985a5b195960621b60448201526064016103ad565b6040516323b872dd60e01b81526001600160a01b038516906323b872dd90610b239089908b90879060040161187e565b6020604051808303816000875af1158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6691906117fe565b610ba85760405162461bcd60e51b8152602060048201526013602482015272109d5e481d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103ad565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a8516906323b872dd90610bf89089903090869060040161187e565b6020604051808303816000875af1158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b91906117fe565b610c875760405162461bcd60e51b815260206004820152601a60248201527f50445858206665652066726f6d206275796572206661696c656400000000000060448201526064016103ad565b604080518281526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a85811660208301528816917f7741d4f725b37604da6d57208b777fe0ff1b2581cd77080f325602b05443f9d8910160405180910390a28060056000828254610cfe91906118d0565b9091555050604080516001600160a01b03878116825286811660208301529181018590526060810184905260808101839052818816918916907fbe424db0fea33aaeac020945c445e8a830405cc3ae1fe4874efcaa64c76b1fc49060a00160405180910390a350505050505050565b6000546001600160a01b03163314610d975760405162461bcd60e51b81526004016103ad90611900565b60048190556040518181527f9639dea65e74b72b1b86ccf3e4f9b6d23b88d2aad2f103d0b3afe394e67edade9060200160405180910390a150565b6040516331a9108f60e11b81526004810182905233906001600160a01b037f0000000000000000000000008c5cd9bf5a41d91add3559cc9343a451a0bf11ec1690636352211e90602401602060405180830381865afa158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d91906118e3565b6001600160a01b031614610e835760405162461bcd60e51b81526004016103ad90611900565b600090815260066020526040812055565b6000546001600160a01b03163314610ebe5760405162461bcd60e51b81526004016103ad90611900565b610ec7816115fc565b610f035760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081859d95b9d609a1b60448201526064016103ad565b6004546003541015610f275760405162461bcd60e51b81526004016103ad90611949565b60045460036000828254610f3b91906117cc565b90915550506004805460405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a85169263a9059cbb92610f8e928692016117e5565b6020604051808303816000875af1158015610fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd191906117fe565b6110165760405162461bcd60e51b815260206004820152601660248201527514995dd85c99081d1c985b9cd9995c8819985a5b195960521b60448201526064016103ad565b806001600160a01b03167fbfb306f49a3ca3a1839ee1fc46a4a5ab81b7c33d1c79e28b78c06202c11abc3c60045460405161050e91815260200190565b6000546001600160a01b0316331461107d5760405162461bcd60e51b81526004016103ad90611900565b6001600160a01b0381166110a35760405162461bcd60e51b81526004016103ad90611923565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600660205260409020548061114d5760405162461bcd60e51b815260206004820152601060248201526f1059d95b9d081b9bdd081b1a5cdd195960821b60448201526064016103ad565b6040516331a9108f60e11b8152600481018390526000907f0000000000000000000000008c5cd9bf5a41d91add3559cc9343a451a0bf11ec6001600160a01b031690636352211e90602401602060405180830381865afa1580156111b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d991906118e3565b90506001600160a01b038116158015906111fc57506001600160a01b0381163314155b6112395760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b63632b960911b60448201526064016103ad565b600061271061124a846103e861197c565b6112549190611993565b9050600061126282856118d0565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a8516906323b872dd906112b59033903090869060040161187e565b6020604051808303816000875af11580156112d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f891906117fe565b6113145760405162461bcd60e51b81526004016103ad906118a2565b816005600082825461132691906118d0565b909155505060405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a85169063a9059cbb9061137990869088906004016117e5565b6020604051808303816000875af1158015611398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bc91906117fe565b6114015760405162461bcd60e51b815260206004820152601660248201527514185e5bdd5d081d1c985b9cd9995c8819985a5b195960521b60448201526064016103ad565b604051632142170760e11b81526001600160a01b037f0000000000000000000000008c5cd9bf5a41d91add3559cc9343a451a0bf11ec16906342842e0e9061145190869033908a9060040161187e565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b50505060008681526006602090815260408083209290925581518781529081018590526001600160a01b0386169250339188917fa774d8f54ed613012237cb37624df86bba2c4770712fe4bf36ef6129b117a05a910160405180910390a45050505050565b600081116115045760405162461bcd60e51b81526004016103ad90611852565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000877c6cf14472f3c8fb4d60d941fdf35e1a7b4a8516906323b872dd906115549033903090869060040161187e565b6020604051808303816000875af1158015611573573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159791906117fe565b6115b35760405162461bcd60e51b81526004016103ad906118a2565b80600560008282546115c591906118d0565b909155505060405181815233907fc5ca4a7c490d1b67bdae16f9c805ea5f4070b816968ab1fa0818426bcd380c7b9060200161050e565b6000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611658575060408051601f3d908101601f19168201909252611655918101906118e3565b60015b61166457506000919050565b7f0000000000000000000000008c5cd9bf5a41d91add3559cc9343a451a0bf11ec6001600160a01b0316816001600160a01b031614915050919050565b6000602082840312156116b357600080fd5b5035919050565b600080604083850312156116cd57600080fd5b50508035926020909101359150565b6001600160a01b03811681146116f157600080fd5b50565b6000806040838503121561170757600080fd5b823591506020830135611719816116dc565b809150509250929050565b60006020828403121561173657600080fd5b8135611741816116dc565b9392505050565b60008060008060008060c0878903121561176157600080fd5b863561176c816116dc565b9550602087013561177c816116dc565b9450604087013561178c816116dc565b9350606087013561179c816116dc565b9598949750929560808101359460a0909101359350915050565b634e487b7160e01b600052601160045260246000fd5b818103818111156117df576117df6117b6565b92915050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561181057600080fd5b8151801515811461174157600080fd5b60208082526018908201527715da5d1a191c985dc81d1c985b9cd9995c8819985a5b195960421b604082015260600190565b6020808252601290820152710416d6f756e74206d757374206265203e20360741b604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208082526014908201527314111616081d1c985b9cd9995c8819985a5b195960621b604082015260600190565b808201808211156117df576117df6117b6565b6000602082840312156118f557600080fd5b8151611741816116dc565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b6020808252600c908201526b5a65726f206164647265737360a01b604082015260600190565b602080825260199082015278139bdd08195b9bdd59da081a5b881c995dd85c99081c1bdbdb603a1b604082015260600190565b80820281158282048414176117df576117df6117b6565b6000826119b057634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220b3cb814c6262b49145e9e91f006d9cbcf7210fa819e7adb2e1aa6f2c88411a5e64736f6c634300081c0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.