GLMR Price: $0.019158 (-5.91%)

Contract

0x0f2aeaC3558dBE8061d3a94f14857917E4CC9dad

Overview

GLMR Balance

Moonbeam Chain LogoMoonbeam Chain LogoMoonbeam Chain Logo0 GLMR

GLMR Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Remove Sharia Co...133587732025-11-15 21:40:0075 days ago1763242800IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0031427233.25
Remove Sharia Co...133587722025-11-15 21:39:5475 days ago1763242794IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0032230233.25
Remove Sharia Co...133587712025-11-15 21:39:4875 days ago1763242788IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0031687533.25
Remove Sharia Co...133587702025-11-15 21:39:4275 days ago1763242782IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0033732733.25
Remove Sharia Co...133587692025-11-15 21:39:3675 days ago1763242776IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0032929833.25
Remove Sharia Co...133587682025-11-15 21:39:3075 days ago1763242770IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0032126433.25
Remove Sharia Co...133587672025-11-15 21:39:2475 days ago1763242764IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0028623533.25
Remove Sharia Co...133587662025-11-15 21:39:1875 days ago1763242758IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0030520533.25
Remove Sharia Co...133587652025-11-15 21:39:1275 days ago1763242752IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0029717533.25
Remove Sharia Co...133587642025-11-15 21:39:0675 days ago1763242746IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0026214333.25
Remove Sharia Co...133587632025-11-15 21:39:0075 days ago1763242740IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0028110833.25
Remove Sharia Co...133587632025-11-15 21:39:0075 days ago1763242740IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0027307833.25
Remove Sharia Co...133587602025-11-15 21:38:4275 days ago1763242722IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0023801633.25
Remove Sharia Co...133587572025-11-15 21:38:2475 days ago1763242704IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0025704933.25
Remove Sharia Co...133587562025-11-15 21:38:1875 days ago1763242698IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0024898933.25
Remove Sharia Co...133587542025-11-15 21:38:1275 days ago1763242692IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0024095633.25
Register Sharia ...133587222025-11-15 21:34:4275 days ago1763242482IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0169399433.25
Register Sharia ...133587212025-11-15 21:34:3675 days ago1763242476IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0141166233.25
Register Sharia ...133587202025-11-15 21:34:3075 days ago1763242470IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0141166233.25
Register Sharia ...133587182025-11-15 21:34:1875 days ago1763242458IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0141166233.25
Register Sharia ...133587172025-11-15 21:34:1275 days ago1763242452IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0141166233.25
Register Sharia ...133587162025-11-15 21:34:0675 days ago1763242446IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0169399433.25
Register Sharia ...133587152025-11-15 21:34:0075 days ago1763242440IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0169399433.25
Register Sharia ...133587142025-11-15 21:33:5475 days ago1763242434IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0169399433.25
Register Sharia ...133587132025-11-15 21:33:4875 days ago1763242428IN
0x0f2aeaC3...7E4CC9dad
0 GLMR0.0169399433.25
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ShariaCompliance

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/access/Ownable.sol";

/**
 * @title ShariaCompliance
 * @notice Registry and validation system for Sharia-compliant tokens
 * @dev Manages which tokens are approved for Islamic finance compliance
 */
contract ShariaCompliance is Ownable {
    // ============================================================================
    // STRUCTS
    // ============================================================================

    struct ShariaCoin {
        string id;              
        string name;
        string symbol;
        address tokenAddress;  
        bool verified;
        string complianceReason;
        bool exists;
    }

    // ============================================================================
    // STATE VARIABLES
    // ============================================================================

    /// @notice Mapping from coin ID (address) to Sharia coin data
    mapping(string => ShariaCoin) public shariaCoins;
    
    /// @notice Array of all registered coin IDs for enumeration
    string[] public coinIds;
    
    /// @notice Mapping to track coin ID existence in array
    mapping(string => bool) private coinIdExists;

    // Add reverse lookup mappings
    mapping(address => string) public addressToSymbol;  // Address → Symbol
    mapping(string => address) public symbolToAddress;  // Symbol → Address

    // ============================================================================
    // EVENTS
    // ============================================================================

    event CoinRegistered(
        string indexed coinId,
        string name,
        string symbol,
        string complianceReason
    );

    event CoinRemoved(string indexed coinId);

    event CoinUpdated(
        string indexed coinId,
        bool verified,
        string complianceReason
    );

    // ============================================================================
    // ERRORS
    // ============================================================================

    error CoinNotFound(string coinId);
    error CoinAlreadyExists(string coinId);
    error NotShariaCompliant(string coinId);

    // ============================================================================
    // CONSTRUCTOR
    // ============================================================================

    constructor() Ownable(msg.sender) {
        // Initialize with some default Sharia-compliant coins
        _initializeDefaultCoins();
    }

    // ============================================================================
    // ADMIN FUNCTIONS
    // ============================================================================

    /**
     * @notice Register a new Sharia-compliant coin
     * @param coinId Unique identifier (typically token address)
     * @param name Token name
     * @param symbol Token symbol
     * @param complianceReason Explanation of Sharia compliance
     */
    function registerShariaCoin(
        string memory coinId,
        string memory name,
        string memory symbol,
        address tokenAddress, 
        string memory complianceReason
    ) external onlyOwner {
        if (shariaCoins[coinId].exists) {
            revert CoinAlreadyExists(coinId);
        }
        
        if (tokenAddress != address(0)) {
            // Prevent duplicate addresses
            string memory existingSymbol = addressToSymbol[tokenAddress];
            if (bytes(existingSymbol).length > 0) {
                revert("Address already registered");
            }
            // Prevent duplicate symbols
            address existingAddress = symbolToAddress[symbol];
            if (existingAddress != address(0)) {
                revert("Symbol already registered");
            }
            addressToSymbol[tokenAddress] = symbol;
            symbolToAddress[symbol] = tokenAddress;
        }

        shariaCoins[coinId] = ShariaCoin({
            id: coinId,
            name: name,
            symbol: symbol,
            tokenAddress: tokenAddress,  
            verified: true,
            complianceReason: complianceReason,
            exists: true
        });

        if (!coinIdExists[coinId]) {
            coinIds.push(coinId);
            coinIdExists[coinId] = true;
        }

        emit CoinRegistered(coinId, name, symbol, complianceReason);
    }

    /**
     * @notice Remove a coin from the Sharia compliance registry
     * @param coinId Coin identifier to remove
     */
    function removeShariaCoin(string memory coinId) external onlyOwner {
        if (!shariaCoins[coinId].exists) {
            revert CoinNotFound(coinId);
        }

        // Clean up reverse mappings
        address tokenAddress = shariaCoins[coinId].tokenAddress;
        if (tokenAddress != address(0)) {
            delete addressToSymbol[tokenAddress];
            delete symbolToAddress[coinId]; // coinId is the symbol
        }

        delete shariaCoins[coinId];
        
        // Remove from coinIds array
        for (uint256 i = 0; i < coinIds.length; i++) {
            if (keccak256(bytes(coinIds[i])) == keccak256(bytes(coinId))) {
                coinIds[i] = coinIds[coinIds.length - 1];
                coinIds.pop();
                break;
            }
        }
        
        coinIdExists[coinId] = false;

        emit CoinRemoved(coinId);
    }

    /**
     * @notice Update compliance status of a coin
     * @param coinId Coin identifier
     * @param verified New verification status
     * @param complianceReason Updated reason
     */
    function updateComplianceStatus(
        string memory coinId,
        bool verified,
        string memory complianceReason
    ) external onlyOwner {
        if (!shariaCoins[coinId].exists) {
            revert CoinNotFound(coinId);
        }

        shariaCoins[coinId].verified = verified;
        shariaCoins[coinId].complianceReason = complianceReason;

        emit CoinUpdated(coinId, verified, complianceReason);
    }

    // ============================================================================
    // VIEW FUNCTIONS
    // ============================================================================

    /**
     * @notice Check if a coin is Sharia compliant
     * @param coinId Coin identifier to check
     * @return bool True if compliant and verified
     */
    function isShariaCompliant(string memory coinId) public view returns (bool) {
        return shariaCoins[coinId].exists && shariaCoins[coinId].verified;
    }

    /**
     * @notice Get details of a Sharia coin
     * @param coinId Coin identifier
     * @return ShariaCoin struct with all details
     */
    function getShariaCoin(string memory coinId) external view returns (ShariaCoin memory) {
        if (!shariaCoins[coinId].exists) {
            revert CoinNotFound(coinId);
        }
        return shariaCoins[coinId];
    }

    /**
     * @notice Get all registered Sharia coins
     * @return Array of all ShariaCoin structs
     */
    function getAllShariaCoins() external view returns (ShariaCoin[] memory) {
        ShariaCoin[] memory coins = new ShariaCoin[](coinIds.length);
        
        for (uint256 i = 0; i < coinIds.length; i++) {
            coins[i] = shariaCoins[coinIds[i]];
        }
        
        return coins;
    }

    /**
     * @notice Get total number of registered coins
     * @return uint256 Total count
     */
    function getTotalCoins() external view returns (uint256) {
        return coinIds.length;
    }

    /**
     * @notice Require that a coin is Sharia compliant (reverts if not)
     * @param coinId Coin identifier to validate
     */
    function requireShariaCompliant(string memory coinId) public view {
        if (!isShariaCompliant(coinId)) {
            revert NotShariaCompliant(coinId);
        }
    }

    // Add helper functions
    function getCoinByAddress(address tokenAddress) external view returns (ShariaCoin memory) {
        string memory symbol = addressToSymbol[tokenAddress];
        if (bytes(symbol).length == 0) {
            revert CoinNotFound("");
        }
        return shariaCoins[symbol];
    }

    function getCoinBySymbol(string memory symbol) external view returns (ShariaCoin memory) {
        if (!shariaCoins[symbol].exists) {
            revert CoinNotFound(symbol);
        }
        return shariaCoins[symbol];
    }

    function getTokenAddress(string memory symbol) external view returns (address) {
        return symbolToAddress[symbol];
    }

    function getSymbolByAddress(address tokenAddress) external view returns (string memory) {
        return addressToSymbol[tokenAddress];
    }

    // ============================================================================
    // INTERNAL FUNCTIONS
    // ============================================================================

    /**
     * @notice Initialize default Sharia-compliant coins
     * @dev Coins are registered programmatically from config during deployment
     * This function is kept empty - all coins are registered via registerShariaCoin() in deployment script
     */
    function _initializeDefaultCoins() private {
        // All Initial Hala Coins are registered programmatically from config
        // See scripts/deploy/deploy-core.ts for registration logic
    }

    /**
     * @notice Internal function to register a coin during initialization
     * @dev This function is deprecated - use registerShariaCoin() instead
     * Kept for potential future use with default initialization
     */
    function _registerCoin(
        string memory coinId,
        string memory name,
        string memory symbol,
        address tokenAddress,
        string memory complianceReason
    ) private {
        if (tokenAddress != address(0)) {
            string memory existingSymbol = addressToSymbol[tokenAddress];
            if (bytes(existingSymbol).length > 0) {
                return; // Skip if address already registered
            }
            address existingAddress = symbolToAddress[symbol];
            if (existingAddress != address(0)) {
                return; // Skip if symbol already registered
            }
            addressToSymbol[tokenAddress] = symbol;
            symbolToAddress[symbol] = tokenAddress;
        }

        shariaCoins[coinId] = ShariaCoin({
            id: coinId,
            name: name,
            symbol: symbol,
            tokenAddress: tokenAddress,
            verified: true,
            complianceReason: complianceReason,
            exists: true
        });

        if (!coinIdExists[coinId]) {
            coinIds.push(coinId);
            coinIdExists[coinId] = true;
        }
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)

pragma solidity ^0.8.20;

import {Context} from "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * The initial owner is set to the address provided by the deployer. This can
 * later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)

pragma solidity ^0.8.20;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "viaIR": true,
  "evmVersion": "london",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"CoinAlreadyExists","type":"error"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"CoinNotFound","type":"error"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"NotShariaCompliant","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"coinId","type":"string"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"},{"indexed":false,"internalType":"string","name":"complianceReason","type":"string"}],"name":"CoinRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"coinId","type":"string"}],"name":"CoinRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"coinId","type":"string"},{"indexed":false,"internalType":"bool","name":"verified","type":"bool"},{"indexed":false,"internalType":"string","name":"complianceReason","type":"string"}],"name":"CoinUpdated","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"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressToSymbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"coinIds","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllShariaCoins","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"getCoinByAddress","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"symbol","type":"string"}],"name":"getCoinBySymbol","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"getShariaCoin","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"getSymbolByAddress","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"symbol","type":"string"}],"name":"getTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalCoins","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"isShariaCompliant","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"string","name":"complianceReason","type":"string"}],"name":"registerShariaCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"removeShariaCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"requireShariaCompliant","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"shariaCoins","outputs":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"symbolToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"}],"name":"updateComplianceStatus","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080806040523461007a5733156100645760008054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36118a490816100808239f35b631e4fbdf760e01b815260006004820152602490fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80625d6f9e14610fb8578063078911e014610f73578063163eb80d1461017a578063289fc9d214610f545780633ad7a93a14610e56578063708d5bbc146107c9578063715018a614610dfc5780637c739bd714610dae578063858f1a531461096c5780638da5cb5b14610944578063a2c008551461093f578063a82170341461093f578063ab75075814610834578063c4091236146107c9578063dc80629714610430578063de373085146103c1578063de471b81146101ca578063de50fcec1461017a5763f2fde38b146100f157600080fd5b346101765760203660031901126101765761010a6111c8565b906101136114ea565b6001600160a01b0391821692831561016057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5034610176576020366003190112610176576101c6926101b3918391906001600160a01b036101a76111c8565b16825260205220611218565b90519182916020835260208301906112e1565b0390f35b508290346103bd57816003193601126103bd576002908154906101ec82611843565b926101f98651948561114c565b828452601f1961020884611843565b01855b8181106103a6575050845b83811061027c5750505050825191602080840190808552835180925280868601968360051b870101940192955b8287106102505785850386f35b90919293828061026c600193603f198a82030186528851611353565b9601920196019592919092610243565b61028581611306565b50875187825492610295846111de565b90600194858116908160001461038d575060011461035a575b50509080828461035596959452602092839103019020906102e68b51936102d48561111b565b6102dd84611218565b85528301611218565b908301526102f5858201611218565b8a83015260038101546001600160a01b038116606084015260ff60a091821c8116151560808501529160059161032c898301611218565b90850152015416151560c0820152610344828861185a565b5261034f818761185a565b506116a2565b610216565b90915089526020808a208a905b83821061037c575050508101816103556102ae565b805485830152908201908501610367565b60ff1916855250508015150282019050816103556102ae565b6020906103b1611808565b8282890101520161020b565b5080fd5b5090346101765760203660031901126101765781356001600160401b03811161042c576103f1903690840161116d565b906103fb826117a3565b15610404578380f35b51631c16ec3160e31b815260209281019290925281906104289060248301906112e1565b0390fd5b8380fd5b5034610176576020908160031936011261042c5780356001600160401b0381116107c557610461903690830161116d565b9261046a6114ea565b8051918451928486019361047f8183876112be565b81019060ff6001928381528288600594859303019020015416156107a55781908451600389516104b081848b6112be565b8201848152829003890190912001546001600160a01b031680610767575b5090508351868189516104e281838b6112be565b810185815203019020906104f582611659565b610500838301611659565b8881600293610510858201611659565b826003820155610521878201611659565b015588835b610583575b8961055c8a6105458b8b8b518093819286519283916112be565b8101600381520301902060ff198154169055611639565b7f0523ec15e2ba308306b3b16a3eae0528dd221a93ad1ee2c04f1f462f499fbe828280a280f35b825480821015610761578861059783611306565b508851908d908054906105a9826111de565b9182855284868101968c831692836000146107435750505060011461070b575b5050816105d791038261114c565b5190208a518920146105f85750906105f08493926116a2565b909192610526565b9499989796959460001991908281019081116106f85761061a61062191611306565b5091611306565b6106e6579061062f916116c7565b825480156106d357019261064284611306565b9190916106c157899a50918161054598979695949361066561055c9c94546111de565b908161067e575b5050505050559193948193388061052b565b8490601f9485841160011461069f57505050509050555b883880808061066c565b84939583956106ba94528c86209601901c8501908501611516565b5555610695565b634e487b7160e01b8a52898b5260248afd5b634e487b7160e01b8a5260318b5260248afd5b634e487b7160e01b8b528a8c5260248bfd5b634e487b7160e01b8b5260118c5260248bfd5b8f528c8f209d9e9d8e92505b81831061073057509c9d9c5081018b01816105d76105c9565b80548484018f0152918d01918901610717565b60ff191688529315158a1b810190930193506105d791506105c99050565b5061052b565b8952838752610777858a20611659565b845187818a5161078881838c6112be565b81018481520301902080546001600160a01b0319169055386104ce565b8351632335711f60e11b815280840187905280610428602482018a6112e1565b8480fd5b509134610831576020366003190112610831578235906001600160401b03821161083157506020926107fd9136910161116d565b82610810835192838151938492016112be565b6005908201908152819003830190205490516001600160a01b039091168152f35b80fd5b509034610176576020918260031936011261042c576108516111c8565b9361085a611808565b506001600160a01b03948516815281845282812061087790611218565b908151156109235750600583926109056108a38760ff95816101c69951938285809451938492016112be565b8101600181520301902091848651996108bb8b61111b565b6108c485611218565b8b526108d260018601611218565b8a8c01526108e260028601611218565b888c0152600385015490811660608c015260a01c16151560808a01528201611218565b60a0880152015416151560c085015251928284938452830190611353565b9050836044935192632335711f60e11b84528301526024820152fd5b6113d2565b5050346103bd57816003193601126103bd57905490516001600160a01b039091168152602090f35b5090346101765760a0366003190112610176576001600160401b039082358281116107c55761099e903690850161116d565b91602435818111610daa576109b6903690860161116d565b92604435828111610da6576109ce903690870161116d565b946001600160a01b0392606435848116929190839003610da257608435908111610da2576109ff903690830161116d565b93610a086114ea565b60ff600587516020818851610a208183858d016112be565b81016001815203019020015416610d825782610c6f575b855190610a438261111b565b8482526020820193888552878301918a83526060840191825260808401906001825260a085019389855260c0860197600189528b51808b818151602081930191610a8c926112be565b8101600181520360200190209651610aa49088611572565b51610ab29060018801611572565b51610ac09060028701611572565b9151600385018054925160ff60a01b90151560a01b166001600160a81b03199093169190931660ff60a01b19161717905551610afe90828401611572565b600501915115159160ff1992838254169060ff16179055845180845181816020880191610b2a926112be565b8101600381520360200190205460ff1615610bad575b5050610b8c927f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89492610b9a610b78610ba794611639565b9783519687966060885260608801906112e1565b9086820360208801526112e1565b91848303908501526112e1565b0390a280f35b60025468010000000000000000811015610c5c57806001610bd19201600255611306565b919091610c4a575092610b9a610b7884610b8c9794610c15610ba7977f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89b99611572565b600186516020818551610c2b8183858a016112be565b8101600381520301902091825416179055945050509294819450610b40565b634e487b7160e01b8952889052602488fd5b634e487b7160e01b895260418252602489fd5b82895281602052610c81868a20611218565b51610d3f57855181895191602081818d0194610c9e8183886112be565b810160058152030190205416610cfc576020610cd691610cc68b8a8e89815288865220611572565b8851809381928d519283916112be565b81016005815203019020836bffffffffffffffffffffffff60a01b825416179055610a37565b865162461bcd60e51b8152602081850152601960248201527f53796d626f6c20616c72656164792072656769737465726564000000000000006044820152606490fd5b855162461bcd60e51b8152602081840152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606490fd5b8551632055cb1760e21b81526020818401528061042860248201876112e1565b8880fd5b8680fd5b8580fd5b5091346108315760203660031901126108315782356002548110156103bd57610dd690611306565b939093610dea576101c6836101b386611218565b634e487b7160e01b8252819052602490fd5b8334610831578060031936011261083157610e156114ea565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b509034610176576020366003190112610176578135926001600160401b0384116108315750610f48610ea56020610e93610f06963690870161116d565b818551938285809451938492016112be565b8101600181520301902092610eb984611218565b9360ff610f21610ecb60018401611218565b95610ed860028501611218565b610f14846005610eee6003890154998901611218565b970154169883519b8c9b60e08d5260e08d01906112e1565b908b820360208d01526112e1565b91898303908a01526112e1565b9260018060a01b038116606088015260a01c161515608086015284820360a08601526112e1565b90151560c08301520390f35b5050346103bd57816003193601126103bd576020906002549051908152f35b509134610831576020366003190112610831578235906001600160401b0382116108315750610faa602093610faf9236910161116d565b6117a3565b90519015158152f35b509190346103bd5760603660031901126103bd576001600160401b0392803584811161042c57610feb903690830161116d565b936024359182151591828403610daa57604435908111610daa57611012903690830161116d565b9061101b6114ea565b84519387519060ff6005878b6020998a8092019661103a81838a6112be565b81016001815203019020015416156110fb57976110e284610ba795946110d2896110e7966110c28d9e9f60037f68d3968f550cc27246e9675c957e28a0be4571106cc3e6f08bfc5e354f30a72e9f5185818c5161109881838a6112be565b60019082019081520301902001805460ff60a01b191691151560a01b60ff60a01b16919091179055565b8d518093819289519283916112be565b8101600181520301902001611572565b611639565b9580805195869586528501528301906112e1565b8651632335711f60e11b815280840187905280610428602482018c6112e1565b60e081019081106001600160401b0382111761113657604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761113657604052565b81601f820112156111c3578035906001600160401b03821161113657604051926111a1601f8401601f19166020018561114c565b828452602083830101116111c357816000926020809301838601378301015290565b600080fd5b600435906001600160a01b03821682036111c357565b90600182811c9216801561120e575b60208310146111f857565b634e487b7160e01b600052602260045260246000fd5b91607f16916111ed565b906040519182600082549261122c846111de565b90818452600194858116908160001461129b5750600114611258575b50506112569250038361114c565b565b9093915060005260209081600020936000915b81831061128357505061125693508201013880611248565b8554888401850152948501948794509183019161126b565b91505061125694506020925060ff191682840152151560051b8201013880611248565b60005b8381106112d15750506000910152565b81810151838201526020016112c1565b906020916112fa815180928185528580860191016112be565b601f01601f1916010190565b60025481101561133d5760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b9060c0806113c7611397611385611373875160e0885260e08801906112e1565b602088015187820360208901526112e1565b604087015186820360408801526112e1565b60018060a01b03606087015116606086015260808601511515608086015260a086015185820360a08701526112e1565b930151151591015290565b346111c3576020806003193601126111c3576004356001600160401b0381116111c35761140390369060040161116d565b9061140c611808565b5060409182519060ff600582519385818186019661142b81838a6112be565b81016001815203019020015416156114c857826101c6926114569286519384928392519283916112be565b810160018152030190209260ff60058251956114718761111b565b61147a81611218565b875261148860018201611218565b8688015261149860028201611218565b8785015260038101546001600160a01b038116606089015260a01c83161515608088015261090560048201611218565b826104288551928392632335711f60e11b8452600484015260248301906112e1565b6000546001600160a01b031633036114fe57565b60405163118cdaa760e01b8152336004820152602490fd5b818110611521575050565b60008155600101611516565b9190601f811161153c57505050565b611256926000526020600020906020601f840160051c83019310611568575b601f0160051c0190611516565b909150819061155b565b91909182516001600160401b038111611136576115998161159384546111de565b8461152d565b602080601f83116001146115d55750819293946000926115ca575b50508160011b916000199060031b1c1916179055565b0151905038806115b4565b90601f198316958460005282600020926000905b88821061162157505083600195969710611608575b505050811b019055565b015160001960f88460031b161c191690553880806115fe565b806001859682949686015181550195019301906115e9565b611651906020604051928284809451938492016112be565b810103902090565b61166381546111de565b908161166d575050565b81601f6000931160011461167f575055565b90808391825261169e601f60208420940160051c840160018501611516565b5555565b60001981146116b15760010190565b634e487b7160e01b600052601160045260246000fd5b9080821461179f576116d981546111de565b906001600160401b0382116111365781906116fe826116f886546111de565b8661152d565b600090601f8311600114611734576000926117295750508160011b916000199060031b1c1916179055565b0154905038806115b4565b81526020808220858352818320935090601f1985169083905b82821061178657505090846001959493921061176d57505050811b019055565b015460001960f88460031b161c191690553880806115fe565b849581929585015481556001809101960194019061174d565b5050565b60405160ff6005835192602081818701956117bf8183896112be565b8101600181520301902001541691826117d757505090565b60ff925060206003926117f5926040519384928392519283916112be565b81016001815203019020015460a01c1690565b604051906118158261111b565b600060c083606081526060602082015260606040820152826060820152826080820152606060a08201520152565b6001600160401b0381116111365760051b60200190565b805182101561133d5760209160051b01019056fea264697066735822122092332911fd767ed857c73d8e1a34fef18b7c18b705ff157127659eff4451c4ce64736f6c63430008140033

Deployed Bytecode

0x6040608081526004908136101561001557600080fd5b600091823560e01c80625d6f9e14610fb8578063078911e014610f73578063163eb80d1461017a578063289fc9d214610f545780633ad7a93a14610e56578063708d5bbc146107c9578063715018a614610dfc5780637c739bd714610dae578063858f1a531461096c5780638da5cb5b14610944578063a2c008551461093f578063a82170341461093f578063ab75075814610834578063c4091236146107c9578063dc80629714610430578063de373085146103c1578063de471b81146101ca578063de50fcec1461017a5763f2fde38b146100f157600080fd5b346101765760203660031901126101765761010a6111c8565b906101136114ea565b6001600160a01b0391821692831561016057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5034610176576020366003190112610176576101c6926101b3918391906001600160a01b036101a76111c8565b16825260205220611218565b90519182916020835260208301906112e1565b0390f35b508290346103bd57816003193601126103bd576002908154906101ec82611843565b926101f98651948561114c565b828452601f1961020884611843565b01855b8181106103a6575050845b83811061027c5750505050825191602080840190808552835180925280868601968360051b870101940192955b8287106102505785850386f35b90919293828061026c600193603f198a82030186528851611353565b9601920196019592919092610243565b61028581611306565b50875187825492610295846111de565b90600194858116908160001461038d575060011461035a575b50509080828461035596959452602092839103019020906102e68b51936102d48561111b565b6102dd84611218565b85528301611218565b908301526102f5858201611218565b8a83015260038101546001600160a01b038116606084015260ff60a091821c8116151560808501529160059161032c898301611218565b90850152015416151560c0820152610344828861185a565b5261034f818761185a565b506116a2565b610216565b90915089526020808a208a905b83821061037c575050508101816103556102ae565b805485830152908201908501610367565b60ff1916855250508015150282019050816103556102ae565b6020906103b1611808565b8282890101520161020b565b5080fd5b5090346101765760203660031901126101765781356001600160401b03811161042c576103f1903690840161116d565b906103fb826117a3565b15610404578380f35b51631c16ec3160e31b815260209281019290925281906104289060248301906112e1565b0390fd5b8380fd5b5034610176576020908160031936011261042c5780356001600160401b0381116107c557610461903690830161116d565b9261046a6114ea565b8051918451928486019361047f8183876112be565b81019060ff6001928381528288600594859303019020015416156107a55781908451600389516104b081848b6112be565b8201848152829003890190912001546001600160a01b031680610767575b5090508351868189516104e281838b6112be565b810185815203019020906104f582611659565b610500838301611659565b8881600293610510858201611659565b826003820155610521878201611659565b015588835b610583575b8961055c8a6105458b8b8b518093819286519283916112be565b8101600381520301902060ff198154169055611639565b7f0523ec15e2ba308306b3b16a3eae0528dd221a93ad1ee2c04f1f462f499fbe828280a280f35b825480821015610761578861059783611306565b508851908d908054906105a9826111de565b9182855284868101968c831692836000146107435750505060011461070b575b5050816105d791038261114c565b5190208a518920146105f85750906105f08493926116a2565b909192610526565b9499989796959460001991908281019081116106f85761061a61062191611306565b5091611306565b6106e6579061062f916116c7565b825480156106d357019261064284611306565b9190916106c157899a50918161054598979695949361066561055c9c94546111de565b908161067e575b5050505050559193948193388061052b565b8490601f9485841160011461069f57505050509050555b883880808061066c565b84939583956106ba94528c86209601901c8501908501611516565b5555610695565b634e487b7160e01b8a52898b5260248afd5b634e487b7160e01b8a5260318b5260248afd5b634e487b7160e01b8b528a8c5260248bfd5b634e487b7160e01b8b5260118c5260248bfd5b8f528c8f209d9e9d8e92505b81831061073057509c9d9c5081018b01816105d76105c9565b80548484018f0152918d01918901610717565b60ff191688529315158a1b810190930193506105d791506105c99050565b5061052b565b8952838752610777858a20611659565b845187818a5161078881838c6112be565b81018481520301902080546001600160a01b0319169055386104ce565b8351632335711f60e11b815280840187905280610428602482018a6112e1565b8480fd5b509134610831576020366003190112610831578235906001600160401b03821161083157506020926107fd9136910161116d565b82610810835192838151938492016112be565b6005908201908152819003830190205490516001600160a01b039091168152f35b80fd5b509034610176576020918260031936011261042c576108516111c8565b9361085a611808565b506001600160a01b03948516815281845282812061087790611218565b908151156109235750600583926109056108a38760ff95816101c69951938285809451938492016112be565b8101600181520301902091848651996108bb8b61111b565b6108c485611218565b8b526108d260018601611218565b8a8c01526108e260028601611218565b888c0152600385015490811660608c015260a01c16151560808a01528201611218565b60a0880152015416151560c085015251928284938452830190611353565b9050836044935192632335711f60e11b84528301526024820152fd5b6113d2565b5050346103bd57816003193601126103bd57905490516001600160a01b039091168152602090f35b5090346101765760a0366003190112610176576001600160401b039082358281116107c55761099e903690850161116d565b91602435818111610daa576109b6903690860161116d565b92604435828111610da6576109ce903690870161116d565b946001600160a01b0392606435848116929190839003610da257608435908111610da2576109ff903690830161116d565b93610a086114ea565b60ff600587516020818851610a208183858d016112be565b81016001815203019020015416610d825782610c6f575b855190610a438261111b565b8482526020820193888552878301918a83526060840191825260808401906001825260a085019389855260c0860197600189528b51808b818151602081930191610a8c926112be565b8101600181520360200190209651610aa49088611572565b51610ab29060018801611572565b51610ac09060028701611572565b9151600385018054925160ff60a01b90151560a01b166001600160a81b03199093169190931660ff60a01b19161717905551610afe90828401611572565b600501915115159160ff1992838254169060ff16179055845180845181816020880191610b2a926112be565b8101600381520360200190205460ff1615610bad575b5050610b8c927f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89492610b9a610b78610ba794611639565b9783519687966060885260608801906112e1565b9086820360208801526112e1565b91848303908501526112e1565b0390a280f35b60025468010000000000000000811015610c5c57806001610bd19201600255611306565b919091610c4a575092610b9a610b7884610b8c9794610c15610ba7977f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89b99611572565b600186516020818551610c2b8183858a016112be565b8101600381520301902091825416179055945050509294819450610b40565b634e487b7160e01b8952889052602488fd5b634e487b7160e01b895260418252602489fd5b82895281602052610c81868a20611218565b51610d3f57855181895191602081818d0194610c9e8183886112be565b810160058152030190205416610cfc576020610cd691610cc68b8a8e89815288865220611572565b8851809381928d519283916112be565b81016005815203019020836bffffffffffffffffffffffff60a01b825416179055610a37565b865162461bcd60e51b8152602081850152601960248201527f53796d626f6c20616c72656164792072656769737465726564000000000000006044820152606490fd5b855162461bcd60e51b8152602081840152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606490fd5b8551632055cb1760e21b81526020818401528061042860248201876112e1565b8880fd5b8680fd5b8580fd5b5091346108315760203660031901126108315782356002548110156103bd57610dd690611306565b939093610dea576101c6836101b386611218565b634e487b7160e01b8252819052602490fd5b8334610831578060031936011261083157610e156114ea565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b509034610176576020366003190112610176578135926001600160401b0384116108315750610f48610ea56020610e93610f06963690870161116d565b818551938285809451938492016112be565b8101600181520301902092610eb984611218565b9360ff610f21610ecb60018401611218565b95610ed860028501611218565b610f14846005610eee6003890154998901611218565b970154169883519b8c9b60e08d5260e08d01906112e1565b908b820360208d01526112e1565b91898303908a01526112e1565b9260018060a01b038116606088015260a01c161515608086015284820360a08601526112e1565b90151560c08301520390f35b5050346103bd57816003193601126103bd576020906002549051908152f35b509134610831576020366003190112610831578235906001600160401b0382116108315750610faa602093610faf9236910161116d565b6117a3565b90519015158152f35b509190346103bd5760603660031901126103bd576001600160401b0392803584811161042c57610feb903690830161116d565b936024359182151591828403610daa57604435908111610daa57611012903690830161116d565b9061101b6114ea565b84519387519060ff6005878b6020998a8092019661103a81838a6112be565b81016001815203019020015416156110fb57976110e284610ba795946110d2896110e7966110c28d9e9f60037f68d3968f550cc27246e9675c957e28a0be4571106cc3e6f08bfc5e354f30a72e9f5185818c5161109881838a6112be565b60019082019081520301902001805460ff60a01b191691151560a01b60ff60a01b16919091179055565b8d518093819289519283916112be565b8101600181520301902001611572565b611639565b9580805195869586528501528301906112e1565b8651632335711f60e11b815280840187905280610428602482018c6112e1565b60e081019081106001600160401b0382111761113657604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761113657604052565b81601f820112156111c3578035906001600160401b03821161113657604051926111a1601f8401601f19166020018561114c565b828452602083830101116111c357816000926020809301838601378301015290565b600080fd5b600435906001600160a01b03821682036111c357565b90600182811c9216801561120e575b60208310146111f857565b634e487b7160e01b600052602260045260246000fd5b91607f16916111ed565b906040519182600082549261122c846111de565b90818452600194858116908160001461129b5750600114611258575b50506112569250038361114c565b565b9093915060005260209081600020936000915b81831061128357505061125693508201013880611248565b8554888401850152948501948794509183019161126b565b91505061125694506020925060ff191682840152151560051b8201013880611248565b60005b8381106112d15750506000910152565b81810151838201526020016112c1565b906020916112fa815180928185528580860191016112be565b601f01601f1916010190565b60025481101561133d5760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b9060c0806113c7611397611385611373875160e0885260e08801906112e1565b602088015187820360208901526112e1565b604087015186820360408801526112e1565b60018060a01b03606087015116606086015260808601511515608086015260a086015185820360a08701526112e1565b930151151591015290565b346111c3576020806003193601126111c3576004356001600160401b0381116111c35761140390369060040161116d565b9061140c611808565b5060409182519060ff600582519385818186019661142b81838a6112be565b81016001815203019020015416156114c857826101c6926114569286519384928392519283916112be565b810160018152030190209260ff60058251956114718761111b565b61147a81611218565b875261148860018201611218565b8688015261149860028201611218565b8785015260038101546001600160a01b038116606089015260a01c83161515608088015261090560048201611218565b826104288551928392632335711f60e11b8452600484015260248301906112e1565b6000546001600160a01b031633036114fe57565b60405163118cdaa760e01b8152336004820152602490fd5b818110611521575050565b60008155600101611516565b9190601f811161153c57505050565b611256926000526020600020906020601f840160051c83019310611568575b601f0160051c0190611516565b909150819061155b565b91909182516001600160401b038111611136576115998161159384546111de565b8461152d565b602080601f83116001146115d55750819293946000926115ca575b50508160011b916000199060031b1c1916179055565b0151905038806115b4565b90601f198316958460005282600020926000905b88821061162157505083600195969710611608575b505050811b019055565b015160001960f88460031b161c191690553880806115fe565b806001859682949686015181550195019301906115e9565b611651906020604051928284809451938492016112be565b810103902090565b61166381546111de565b908161166d575050565b81601f6000931160011461167f575055565b90808391825261169e601f60208420940160051c840160018501611516565b5555565b60001981146116b15760010190565b634e487b7160e01b600052601160045260246000fd5b9080821461179f576116d981546111de565b906001600160401b0382116111365781906116fe826116f886546111de565b8661152d565b600090601f8311600114611734576000926117295750508160011b916000199060031b1c1916179055565b0154905038806115b4565b81526020808220858352818320935090601f1985169083905b82821061178657505090846001959493921061176d57505050811b019055565b015460001960f88460031b161c191690553880806115fe565b849581929585015481556001809101960194019061174d565b5050565b60405160ff6005835192602081818701956117bf8183896112be565b8101600181520301902001541691826117d757505090565b60ff925060206003926117f5926040519384928392519283916112be565b81016001815203019020015460a01c1690565b604051906118158261111b565b600060c083606081526060602082015260606040820152826060820152826080820152606060a08201520152565b6001600160401b0381116111365760051b60200190565b805182101561133d5760209160051b01019056fea264697066735822122092332911fd767ed857c73d8e1a34fef18b7c18b705ff157127659eff4451c4ce64736f6c63430008140033

Block Transaction Gas Used Reward
view all blocks collator

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.