Arbitrum Sepolia Testnet

Contract

0xf052Bf5Da50Af04f74511ee60b85F54Fe1f4B47e
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Deploy Routing W...2301448482026-01-03 0:25:3120 days ago1767399931IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.00000610.020036
Deploy Routing W...2301448352026-01-03 0:25:2820 days ago1767399928IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.020004
Deploy Routing W...2301446602026-01-03 0:24:3820 days ago1767399878IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2301446212026-01-03 0:24:2820 days ago1767399868IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.00000610.020056
Deploy Routing W...2301434282026-01-03 0:18:4620 days ago1767399526IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.020004
Deploy Routing W...2301434142026-01-03 0:18:4220 days ago1767399522IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2301430402026-01-03 0:16:5020 days ago1767399410IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2301430072026-01-03 0:16:4120 days ago1767399401IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006320.020774
Deploy Routing W...2301405542026-01-03 0:04:4320 days ago1767398683IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02003
Deploy Routing W...2301405172026-01-03 0:04:3320 days ago1767398673IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.020006
Deploy Routing W...2301402912026-01-03 0:03:1920 days ago1767398599IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006140.020164
Deploy Routing W...2301402772026-01-03 0:03:1620 days ago1767398596IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2301400492026-01-03 0:02:0720 days ago1767398527IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2301400382026-01-03 0:02:0420 days ago1767398524IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006110.02007
Deploy Routing W...2301396872026-01-03 0:00:1220 days ago1767398412IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.020002
Deploy Routing W...2301396492026-01-03 0:00:0320 days ago1767398403IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2246566032025-12-14 21:56:2139 days ago1765749381IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2246565892025-12-14 21:56:1739 days ago1765749377IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2246565232025-12-14 21:55:5539 days ago1765749355IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.020002
Deploy Routing W...2246565182025-12-14 21:55:5239 days ago1765749352IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.00000610.020032
Deploy Routing W...2246466572025-12-14 21:05:4839 days ago1765746348IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
Deploy Routing W...2246466462025-12-14 21:05:4439 days ago1765746344IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02001
Deploy Routing W...2221443422025-12-06 1:12:5747 days ago1764983577IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.020016
Deploy Routing W...2221443312025-12-06 1:12:5347 days ago1764983573IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.020002
Deploy Routing W...2221441962025-12-06 1:12:1347 days ago1764983533IN
0xf052Bf5D...Fe1f4B47e
0 ETH0.000006090.02
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To Amount
2301448482026-01-03 0:25:3120 days ago1767399931
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301448352026-01-03 0:25:2820 days ago1767399928
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301446602026-01-03 0:24:3820 days ago1767399878
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301446212026-01-03 0:24:2820 days ago1767399868
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301434282026-01-03 0:18:4620 days ago1767399526
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301434142026-01-03 0:18:4220 days ago1767399522
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301430402026-01-03 0:16:5020 days ago1767399410
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301430072026-01-03 0:16:4120 days ago1767399401
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301405542026-01-03 0:04:4320 days ago1767398683
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301405172026-01-03 0:04:3320 days ago1767398673
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301402912026-01-03 0:03:1920 days ago1767398599
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301402772026-01-03 0:03:1620 days ago1767398596
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301400492026-01-03 0:02:0720 days ago1767398527
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301400382026-01-03 0:02:0420 days ago1767398524
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301396872026-01-03 0:00:1220 days ago1767398412
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2301396492026-01-03 0:00:0320 days ago1767398403
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2246566032025-12-14 21:56:2139 days ago1765749381
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2246565892025-12-14 21:56:1739 days ago1765749377
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2246565232025-12-14 21:55:5539 days ago1765749355
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2246565182025-12-14 21:55:5239 days ago1765749352
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2246466572025-12-14 21:05:4839 days ago1765746348
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2246466462025-12-14 21:05:4439 days ago1765746344
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2221443422025-12-06 1:12:5747 days ago1764983577
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2221443312025-12-06 1:12:5347 days ago1764983573
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
2221441962025-12-06 1:12:1347 days ago1764983533
0xf052Bf5D...Fe1f4B47e
 Contract Creation0 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
XFTRoutingFactory

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : XFTRoutingFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

interface IERC20 {
    function mint(address to, uint256 amount) external;
    function burn(address from, uint256 amount) external;
    function transfer(address to, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
}

contract RoutingWallet {
    address public factory;
    address public owner;

    event WalletTransfer(address indexed token, address indexed to, uint256 amount);

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

    constructor(address _owner) {
        factory = msg.sender;
        owner = _owner;
    }

    function transfer(address token, address to, uint256 amount) external onlyOwner {
        require(IERC20(token).transfer(to, amount), "transfer failed");
        emit WalletTransfer(token, to, amount);
    }

    function balance(address token) external view returns (uint256) {
        return IERC20(token).balanceOf(address(this));
    }
}

contract XFTRoutingFactory {
    IERC20 public immutable token;
    address public operator;

    mapping(bytes32 => address) private routingToWallet;
    mapping(bytes32 => address) private ibanToWallet;
    mapping(bytes32 => address) private swiftToWallet;
    mapping(bytes32 => address) public cikToWallet;
    mapping(bytes32 => address) public leiToWallet;
    mapping(bytes32 => address) private fedNowToWallet;
    mapping(bytes32 => address) private fedwireToWallet;
    mapping(bytes32 => address) private chipsToWallet;

    event DeployWallet(string idType, string idValue, address wallet);
    event Mint(string idType, string idValue, address wallet, uint256 amount);
    event Burn(string idType, string idValue, address wallet, uint256 amount);

    error NotOperator();
    error WalletExists();
    error WalletNotFound();

    modifier onlyOp() {
        if (msg.sender != operator) revert NotOperator();
        _;
    }

    constructor(address _token) {
        token = IERC20(_token);
        operator = msg.sender;
    }

    function _salt(string memory id) internal pure returns (bytes32) {
        return keccak256(abi.encodePacked(id));
    }

    function _predict(bytes32 salt) internal view returns (address) {
        return address(uint160(uint256(keccak256(
            abi.encodePacked(
                bytes1(0xff),
                address(this),
                salt,
                keccak256(abi.encodePacked(type(RoutingWallet).creationCode, abi.encode(operator)))
            )
        ))));
    }

    // ---------------- ROUTING ----------------
    function predictRouting(string memory routing) public view returns (address) {
        return _predict(_salt(routing));
    }
    function deployRoutingWallet(string memory routing) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(routing);
        if (routingToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        routingToWallet[salt] = wallet;
        emit DeployWallet("ROUTING", routing, wallet);
    }
    function mintToRouting(string memory routing, uint256 amt) external onlyOp {
        bytes32 salt = _salt(routing);
        address wallet = routingToWallet[salt];
        if (wallet == address(0)) wallet = deployRoutingWallet(routing);
        token.mint(wallet, amt);
        emit Mint("ROUTING", routing, wallet, amt);
    }
    function burnFromRouting(string memory routing, uint256 amt) external onlyOp {
        address wallet = routingToWallet[_salt(routing)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("ROUTING", routing, wallet, amt);
    }
    function getRoutingWallet(string memory routing) external view returns (address) {
        return routingToWallet[_salt(routing)];
    }

    // ---------------- IBAN ----------------
    function predictIBAN(string memory iban) public view returns (address) {
        return _predict(_salt(iban));
    }
    function deployIBANWallet(string memory iban) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(iban);
        if (ibanToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        ibanToWallet[salt] = wallet;
        emit DeployWallet("IBAN", iban, wallet);
    }
    function mintToIBAN(string memory iban, uint256 amt) external onlyOp {
        bytes32 salt = _salt(iban);
        address wallet = ibanToWallet[salt];
        if (wallet == address(0)) wallet = deployIBANWallet(iban);
        token.mint(wallet, amt);
        emit Mint("IBAN", iban, wallet, amt);
    }
    function burnFromIBAN(string memory iban, uint256 amt) external onlyOp {
        address wallet = ibanToWallet[_salt(iban)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("IBAN", iban, wallet, amt);
    }
    function getIBANWallet(string memory iban) external view returns (address) {
        return ibanToWallet[_salt(iban)];
    }

    // ---------------- SWIFT/BIC ----------------
    function predictSWIFT(string memory swift) public view returns (address) {
        return _predict(_salt(swift));
    }
    function deploySWIFTWallet(string memory swift) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(swift);
        if (swiftToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        swiftToWallet[salt] = wallet;
        emit DeployWallet("SWIFT", swift, wallet);
    }
    function mintToSWIFT(string memory swift, uint256 amt) external onlyOp {
        bytes32 salt = _salt(swift);
        address wallet = swiftToWallet[salt];
        if (wallet == address(0)) wallet = deploySWIFTWallet(swift);
        token.mint(wallet, amt);
        emit Mint("SWIFT", swift, wallet, amt);
    }
    function burnFromSWIFT(string memory swift, uint256 amt) external onlyOp {
        address wallet = swiftToWallet[_salt(swift)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("SWIFT", swift, wallet, amt);
    }
    function getSWIFTWallet(string memory swift) external view returns (address) {
        return swiftToWallet[_salt(swift)];
    }

    // ---------------- CIK ----------------
    function predictCIK(string memory cik) public view returns (address) {
        return _predict(_salt(cik));
    }
    function deployCIKWallet(string memory cik) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(cik);
        if (cikToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        cikToWallet[salt] = wallet;
        emit DeployWallet("CIK", cik, wallet);
    }
    function mintToCIK(string memory cik, uint256 amt) external onlyOp {
        bytes32 salt = _salt(cik);
        address wallet = cikToWallet[salt];
        if (wallet == address(0)) wallet = deployCIKWallet(cik);
        token.mint(wallet, amt);
        emit Mint("CIK", cik, wallet, amt);
    }
    function burnFromCIK(string memory cik, uint256 amt) external onlyOp {
        address wallet = cikToWallet[_salt(cik)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("CIK", cik, wallet, amt);
    }
    function getCIKWallet(string memory cik) external view returns (address) {
        return cikToWallet[_salt(cik)];
    }

    // ---------------- LEI ----------------
    function predictLEI(string memory lei) public view returns (address) {
        return _predict(_salt(lei));
    }
    function deployLEIWallet(string memory lei) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(lei);
        if (leiToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        leiToWallet[salt] = wallet;
        emit DeployWallet("LEI", lei, wallet);
    }
    function mintToLEI(string memory lei, uint256 amt) external onlyOp {
        bytes32 salt = _salt(lei);
        address wallet = leiToWallet[salt];
        if (wallet == address(0)) wallet = deployLEIWallet(lei);
        token.mint(wallet, amt);
        emit Mint("LEI", lei, wallet, amt);
    }
    function burnFromLEI(string memory lei, uint256 amt) external onlyOp {
        address wallet = leiToWallet[_salt(lei)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("LEI", lei, wallet, amt);
    }
    function getLEIWallet(string memory lei) external view returns (address) {
        return leiToWallet[_salt(lei)];
    }

    // ---------------- FEDNOW ----------------
    function predictFEDNOW(string memory fednow) public view returns (address) {
        return _predict(_salt(fednow));
    }
    function deployFEDNOWWallet(string memory fednow) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(fednow);
        if (fedNowToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        fedNowToWallet[salt] = wallet;
        emit DeployWallet("FEDNOW", fednow, wallet);
    }
    function mintToFEDNOW(string memory fednow, uint256 amt) external onlyOp {
        bytes32 salt = _salt(fednow);
        address wallet = fedNowToWallet[salt];
        if (wallet == address(0)) wallet = deployFEDNOWWallet(fednow);
        token.mint(wallet, amt);
        emit Mint("FEDNOW", fednow, wallet, amt);
    }
    function burnFromFEDNOW(string memory fednow, uint256 amt) external onlyOp {
        address wallet = fedNowToWallet[_salt(fednow)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("FEDNOW", fednow, wallet, amt);
    }
    function getFEDNOWWallet(string memory fednow) external view returns (address) {
        return fedNowToWallet[_salt(fednow)];
    }

    // ---------------- FEDWIRE ----------------
    function predictFEDWIRE(string memory fedwire) public view returns (address) {
        return _predict(_salt(fedwire));
    }
    function deployFEDWIREWallet(string memory fedwire) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(fedwire);
        if (fedwireToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        fedwireToWallet[salt] = wallet;
        emit DeployWallet("FEDWIRE", fedwire, wallet);
    }
    function mintToFEDWIRE(string memory fedwire, uint256 amt) external onlyOp {
        bytes32 salt = _salt(fedwire);
        address wallet = fedwireToWallet[salt];
        if (wallet == address(0)) wallet = deployFEDWIREWallet(fedwire);
        token.mint(wallet, amt);
        emit Mint("FEDWIRE", fedwire, wallet, amt);
    }
    function burnFromFEDWIRE(string memory fedwire, uint256 amt) external onlyOp {
        address wallet = fedwireToWallet[_salt(fedwire)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("FEDWIRE", fedwire, wallet, amt);
    }
    function getFEDWIREWallet(string memory fedwire) external view returns (address) {
        return fedwireToWallet[_salt(fedwire)];
    }

    // ---------------- CHIPS ----------------
    function predictCHIPS(string memory chips) public view returns (address) {
        return _predict(_salt(chips));
    }
    function deployCHIPSWallet(string memory chips) public onlyOp returns (address wallet) {
        bytes32 salt = _salt(chips);
        if (chipsToWallet[salt] != address(0)) revert WalletExists();
        wallet = address(new RoutingWallet{salt: salt}(operator));
        chipsToWallet[salt] = wallet;
        emit DeployWallet("CHIPS", chips, wallet);
    }
    function mintToCHIPS(string memory chips, uint256 amt) external onlyOp {
        bytes32 salt = _salt(chips);
        address wallet = chipsToWallet[salt];
        if (wallet == address(0)) wallet = deployCHIPSWallet(chips);
        token.mint(wallet, amt);
        emit Mint("CHIPS", chips, wallet, amt);
    }
    function burnFromCHIPS(string memory chips, uint256 amt) external onlyOp {
        address wallet = chipsToWallet[_salt(chips)];
        if (wallet == address(0)) revert WalletNotFound();
        token.burn(wallet, amt);
        emit Burn("CHIPS", chips, wallet, amt);
    }
    function getCHIPSWallet(string memory chips) external view returns (address) {
        return chipsToWallet[_salt(chips)];
    }

}

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

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotOperator","type":"error"},{"inputs":[],"name":"WalletExists","type":"error"},{"inputs":[],"name":"WalletNotFound","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"idType","type":"string"},{"indexed":false,"internalType":"string","name":"idValue","type":"string"},{"indexed":false,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"idType","type":"string"},{"indexed":false,"internalType":"string","name":"idValue","type":"string"},{"indexed":false,"internalType":"address","name":"wallet","type":"address"}],"name":"DeployWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"idType","type":"string"},{"indexed":false,"internalType":"string","name":"idValue","type":"string"},{"indexed":false,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"inputs":[{"internalType":"string","name":"chips","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromCHIPS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"cik","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromCIK","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fednow","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromFEDNOW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fedwire","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromFEDWIRE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"iban","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromIBAN","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"lei","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromLEI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"routing","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromRouting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"swift","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"burnFromSWIFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"cikToWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"chips","type":"string"}],"name":"deployCHIPSWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"cik","type":"string"}],"name":"deployCIKWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fednow","type":"string"}],"name":"deployFEDNOWWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fedwire","type":"string"}],"name":"deployFEDWIREWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"iban","type":"string"}],"name":"deployIBANWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"lei","type":"string"}],"name":"deployLEIWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"routing","type":"string"}],"name":"deployRoutingWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"swift","type":"string"}],"name":"deploySWIFTWallet","outputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"chips","type":"string"}],"name":"getCHIPSWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"cik","type":"string"}],"name":"getCIKWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"fednow","type":"string"}],"name":"getFEDNOWWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"fedwire","type":"string"}],"name":"getFEDWIREWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"iban","type":"string"}],"name":"getIBANWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"lei","type":"string"}],"name":"getLEIWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"routing","type":"string"}],"name":"getRoutingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"swift","type":"string"}],"name":"getSWIFTWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"leiToWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"chips","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToCHIPS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"cik","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToCIK","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fednow","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToFEDNOW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fedwire","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToFEDWIRE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"iban","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToIBAN","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"lei","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToLEI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"routing","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToRouting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"swift","type":"string"},{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mintToSWIFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"chips","type":"string"}],"name":"predictCHIPS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"cik","type":"string"}],"name":"predictCIK","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"fednow","type":"string"}],"name":"predictFEDNOW","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"fedwire","type":"string"}],"name":"predictFEDWIRE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"iban","type":"string"}],"name":"predictIBAN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"lei","type":"string"}],"name":"predictLEI","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"routing","type":"string"}],"name":"predictRouting","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"swift","type":"string"}],"name":"predictSWIFT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a06040523480156200001157600080fd5b5060405162002ce838038062002ce8833981016040819052620000349162000058565b6001600160a01b0316608052600080546001600160a01b031916331790556200008a565b6000602082840312156200006b57600080fd5b81516001600160a01b03811681146200008357600080fd5b9392505050565b608051612bd2620001166000396000818161061e015281816107180152818161083601528181610bb201528181610ccf01528181610ddf01528181610eff0152818161112f0152818161124f0152818161136f015281816115b0015281816116c0015281816117d0015281816118f001528181611a0001528181611c300152611e500152612bd26000f3fe60806040523480156200001157600080fd5b5060043610620002a95760003560e01c806367ca73bd116200016d578063c06ad98511620000d3578063e57464a01162000092578063e57464a014620005be578063e6059fc814620005d5578063f20355f914620005ec578063f68f285c1462000328578063fc0c546a1462000618578063fcb5d88c146200064057600080fd5b8063c06ad9851462000562578063c46a66251462000328578063c7ca7f4c1462000579578063cf2894b71462000590578063d10c74d114620005a757600080fd5b8063a3c3b7dc116200012c578063a3c3b7dc14620004da578063a8ae783c14620004f1578063b1d71dad1462000328578063b324840f1462000508578063b5dda99c1462000534578063b7890918146200054b57600080fd5b806367ca73bd146200049557806388dc8cd9146200032857806397e4807d14620004ac5780639e3c126b1462000328578063a1dccb6714620004c357600080fd5b80633bf1d6a611620002135780634e858e1911620001d25780634e858e19146200040e578063500daacb146200042557806351349f98146200043c5780635186347814620004535780635573088f146200046a578063570ca735146200048157600080fd5b80633bf1d6a614620003285780633c952d8614620003b257806340d68ae414620003c9578063491ecf4f14620003e05780634e39d3c914620003f757600080fd5b806329140220116200026c57806329140220146200033f5780633040eba514620003565780633183ea9f1462000328578063359085c4146200036d578063377d997714620003845780633a073c2f146200039b57600080fd5b806311bb17b814620002ae57806313ac109614620002e15780631f975da314620002f85780632189964a1462000311578063226150361462000328575b600080fd5b620002c5620002bf36600462002309565b62000657565b6040516001600160a01b03909116815260200160405180910390f35b620002c5620002f236600462002309565b62000688565b6200030f620003093660046200234a565b62000699565b005b6200030f620003223660046200234a565b620007b7565b620002c56200033936600462002309565b620008c7565b620002c56200035036600462002309565b620008e4565b620002c56200036736600462002309565b62000a02565b620002c56200037e36600462002309565b62000b12565b6200030f620003953660046200234a565b62000b23565b6200030f620003ac3660046200234a565b62000c50565b6200030f620003c33660046200234a565b62000d60565b6200030f620003da3660046200234a565b62000e70565b620002c5620003f136600462002309565b62000f90565b6200030f620004083660046200234a565b620010a0565b6200030f6200041f3660046200234a565b620011c0565b6200030f620004363660046200234a565b620012e0565b620002c56200044d36600462002309565b62001400565b620002c56200046436600462002309565b62001510565b6200030f6200047b3660046200234a565b62001521565b600054620002c5906001600160a01b031681565b6200030f620004a63660046200234a565b62001641565b6200030f620004bd3660046200234a565b62001751565b6200030f620004d43660046200234a565b62001861565b6200030f620004eb3660046200234a565b62001981565b620002c56200050236600462002309565b62001a91565b620002c56200051936600462002393565b6005602052600090815260409020546001600160a01b031681565b6200030f620005453660046200234a565b62001ba1565b620002c56200055c36600462002309565b62001cc1565b6200030f620005733660046200234a565b62001dd1565b620002c56200058a36600462002309565b62001ee1565b620002c5620005a136600462002309565b62001ef2565b620002c5620005b836600462002309565b62001f03565b620002c5620005cf36600462002309565b62002013565b620002c5620005e636600462002309565b62002024565b620002c5620005fd36600462002393565b6004602052600090815260409020546001600160a01b031681565b620002c57f000000000000000000000000000000000000000000000000000000000000000081565b620002c56200065136600462002309565b62002134565b600060016000620006688462002140565b81526020810191909152604001600020546001600160a01b031692915050565b600060046000620006688462002140565b6000546001600160a01b03163314620006c557604051631f0853c160e21b815260040160405180910390fd5b6000620006d28362002140565b6000818152600460205260409020549091506001600160a01b0316806200070157620006fe8462001a91565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990620007519084908790600401620023ad565b600060405180830381600087803b1580156200076c57600080fd5b505af115801562000781573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a9939291906200241a565b60405180910390a150505050565b6000546001600160a01b03163314620007e357604051631f0853c160e21b815260040160405180910390fd5b6000620007f08362002140565b6000818152600560205260409020549091506001600160a01b0316806200081f576200081c84620008e4565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906200086f9084908790600401620023ad565b600060405180830381600087803b1580156200088a57600080fd5b505af11580156200089f573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a9939291906200246e565b6000620008de620008d88362002140565b62002172565b92915050565b600080546001600160a01b031633146200091157604051631f0853c160e21b815260040160405180910390fd5b60006200091e8362002140565b6000818152600560205260409020549091506001600160a01b03161562000958576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620009759062002250565b6001600160a01b0390911681526020018190604051809103906000f5905080158015620009a6573d6000803e3d6000fd5b506000828152600560205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002492565b60405180910390a150919050565b600080546001600160a01b0316331462000a2f57604051631f0853c160e21b815260040160405180910390fd5b600062000a3c8362002140565b6000818152600760205260409020549091506001600160a01b03161562000a76576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062000a939062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562000ac4573d6000803e3d6000fd5b506000828152600760205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f49085908590620024e2565b600060036000620006688462002140565b6000546001600160a01b0316331462000b4f57604051631f0853c160e21b815260040160405180910390fd5b60006007600062000b608562002140565b81526020810191909152604001600020546001600160a01b031690508062000b9b57604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac9062000beb9084908690600401620023ad565b600060405180830381600087803b15801562000c0657600080fd5b505af115801562000c1b573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c43939291906200250a565b60405180910390a1505050565b6000546001600160a01b0316331462000c7c57604051631f0853c160e21b815260040160405180910390fd5b600062000c898362002140565b6000818152600360205260409020549091506001600160a01b03168062000cb85762000cb58462000f90565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f199062000d089084908790600401620023ad565b600060405180830381600087803b15801562000d2357600080fd5b505af115801562000d38573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a99392919062002532565b6000546001600160a01b0316331462000d8c57604051631f0853c160e21b815260040160405180910390fd5b600062000d998362002140565b6000818152600160205260409020549091506001600160a01b03168062000dc85762000dc58462002024565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f199062000e189084908790600401620023ad565b600060405180830381600087803b15801562000e3357600080fd5b505af115801562000e48573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a99392919062002558565b6000546001600160a01b0316331462000e9c57604051631f0853c160e21b815260040160405180910390fd5b60006008600062000ead8562002140565b81526020810191909152604001600020546001600160a01b031690508062000ee857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac9062000f389084908690600401620023ad565b600060405180830381600087803b15801562000f5357600080fd5b505af115801562000f68573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c439392919062002580565b600080546001600160a01b0316331462000fbd57604051631f0853c160e21b815260040160405180910390fd5b600062000fca8362002140565b6000818152600360205260409020549091506001600160a01b03161562001004576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620010219062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001052573d6000803e3d6000fd5b506000828152600360205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f49085908590620025a6565b6000546001600160a01b03163314620010cc57604051631f0853c160e21b815260040160405180910390fd5b600060066000620010dd8562002140565b81526020810191909152604001600020546001600160a01b03169050806200111857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac90620011689084908690600401620023ad565b600060405180830381600087803b1580156200118357600080fd5b505af115801562001198573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c4393929190620025cc565b6000546001600160a01b03163314620011ec57604051631f0853c160e21b815260040160405180910390fd5b600060026000620011fd8562002140565b81526020810191909152604001600020546001600160a01b03169050806200123857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac90620012889084908690600401620023ad565b600060405180830381600087803b158015620012a357600080fd5b505af1158015620012b8573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c4393929190620025f3565b6000546001600160a01b031633146200130c57604051631f0853c160e21b815260040160405180910390fd5b6000600160006200131d8562002140565b81526020810191909152604001600020546001600160a01b03169050806200135857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac90620013a89084908690600401620023ad565b600060405180830381600087803b158015620013c357600080fd5b505af1158015620013d8573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c439392919062002558565b600080546001600160a01b031633146200142d57604051631f0853c160e21b815260040160405180910390fd5b60006200143a8362002140565b6000818152600660205260409020549091506001600160a01b03161562001474576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620014919062002250565b6001600160a01b0390911681526020018190604051809103906000f5905080158015620014c2573d6000803e3d6000fd5b506000828152600660205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002618565b600060026000620006688462002140565b6000546001600160a01b031633146200154d57604051631f0853c160e21b815260040160405180910390fd5b6000600360006200155e8562002140565b81526020810191909152604001600020546001600160a01b03169050806200159957604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac90620015e99084908690600401620023ad565b600060405180830381600087803b1580156200160457600080fd5b505af115801562001619573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c439392919062002532565b6000546001600160a01b031633146200166d57604051631f0853c160e21b815260040160405180910390fd5b60006200167a8362002140565b6000818152600660205260409020549091506001600160a01b031680620016a957620016a68462001400565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990620016f99084908790600401620023ad565b600060405180830381600087803b1580156200171457600080fd5b505af115801562001729573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a993929190620025cc565b6000546001600160a01b031633146200177d57604051631f0853c160e21b815260040160405180910390fd5b60006200178a8362002140565b6000818152600760205260409020549091506001600160a01b031680620017b957620017b68462000a02565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990620018099084908790600401620023ad565b600060405180830381600087803b1580156200182457600080fd5b505af115801562001839573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a9939291906200250a565b6000546001600160a01b031633146200188d57604051631f0853c160e21b815260040160405180910390fd5b6000600560006200189e8562002140565b81526020810191909152604001600020546001600160a01b0316905080620018d957604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac90620019299084908690600401620023ad565b600060405180830381600087803b1580156200194457600080fd5b505af115801562001959573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c43939291906200246e565b6000546001600160a01b03163314620019ad57604051631f0853c160e21b815260040160405180910390fd5b6000620019ba8362002140565b6000818152600860205260409020549091506001600160a01b031680620019e957620019e68462001cc1565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f199062001a399084908790600401620023ad565b600060405180830381600087803b15801562001a5457600080fd5b505af115801562001a69573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a99392919062002580565b600080546001600160a01b0316331462001abe57604051631f0853c160e21b815260040160405180910390fd5b600062001acb8362002140565b6000818152600460205260409020549091506001600160a01b03161562001b05576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062001b229062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001b53573d6000803e3d6000fd5b506000828152600460205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f490859085906200263f565b6000546001600160a01b0316331462001bcd57604051631f0853c160e21b815260040160405180910390fd5b60006004600062001bde8562002140565b81526020810191909152604001600020546001600160a01b031690508062001c1957604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac9062001c699084908690600401620023ad565b600060405180830381600087803b15801562001c8457600080fd5b505af115801562001c99573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c43939291906200241a565b600080546001600160a01b0316331462001cee57604051631f0853c160e21b815260040160405180910390fd5b600062001cfb8362002140565b6000818152600860205260409020549091506001600160a01b03161562001d35576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062001d529062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001d83573d6000803e3d6000fd5b506000828152600860205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002663565b6000546001600160a01b0316331462001dfd57604051631f0853c160e21b815260040160405180910390fd5b600062001e0a8362002140565b6000818152600260205260409020549091506001600160a01b03168062001e395762001e368462001f03565b90505b6040516340c10f1960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906340c10f199062001e899084908790600401620023ad565b600060405180830381600087803b15801562001ea457600080fd5b505af115801562001eb9573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a993929190620025f3565b600060076000620006688462002140565b600060066000620006688462002140565b600080546001600160a01b0316331462001f3057604051631f0853c160e21b815260040160405180910390fd5b600062001f3d8362002140565b6000818152600260205260409020549091506001600160a01b03161562001f77576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062001f949062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001fc5573d6000803e3d6000fd5b506000828152600260205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002689565b600060056000620006688462002140565b600080546001600160a01b031633146200205157604051631f0853c160e21b815260040160405180910390fd5b60006200205e8362002140565b6000818152600160205260409020549091506001600160a01b03161562002098576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620020b59062002250565b6001600160a01b0390911681526020018190604051809103906000f5905080158015620020e6573d6000803e3d6000fd5b506000828152600160205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f49085908590620026ae565b60006008600062000668845b600081604051602001620021559190620026d6565b604051602081830303815290604052805190602001209050919050565b600060ff60f81b3083604051806020016200218d9062002250565b601f1982820381018352601f9091011660408181526000546001600160a01b031660208301520160408051601f1981840301815290829052620021d49291602001620026f4565b604051602081830303815290604052805190602001206040516020016200223294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b610415806200272883390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200228657600080fd5b813567ffffffffffffffff80821115620022a457620022a46200225e565b604051601f8301601f19908116603f01168101908282118183101715620022cf57620022cf6200225e565b81604052838152866020858801011115620022e957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156200231c57600080fd5b813567ffffffffffffffff8111156200233457600080fd5b620023428482850162002274565b949350505050565b600080604083850312156200235e57600080fd5b823567ffffffffffffffff8111156200237657600080fd5b620023848582860162002274565b95602094909401359450505050565b600060208284031215620023a657600080fd5b5035919050565b6001600160a01b03929092168252602082015260400190565b60005b83811015620023e3578181015183820152602001620023c9565b50506000910152565b6000815180845262002406816020860160208601620023c6565b601f01601f19169290920160200192915050565b6080815260006200243e60808301600381526243494b60e81b602082015260400190565b8281036020840152620024528187620023ec565b6001600160a01b03959095166040840152505060600152919050565b6080815260006200243e6080830160038152624c454960e81b602082015260400190565b606081526000620024b66060830160038152624c454960e81b602082015260400190565b8281036020840152620024ca8186620023ec565b91505060018060a01b03831660408301529392505050565b606081526000620024b66060830160078152664645445749524560c81b602082015260400190565b6080815260006200243e6080830160078152664645445749524560c81b602082015260400190565b6080815260006200243e60808301600581526414d5d2519560da1b602082015260400190565b6080815260006200243e608083016007815266524f5554494e4760c81b602082015260400190565b6080815260006200243e608083016005815264434849505360d81b602082015260400190565b606081526000620024b660608301600581526414d5d2519560da1b602082015260400190565b6080815260006200243e6080830160068152654645444e4f5760d01b602082015260400190565b6080815260006200243e60808301600481526324a120a760e11b602082015260400190565b606081526000620024b66060830160068152654645444e4f5760d01b602082015260400190565b606081526000620024b660608301600381526243494b60e81b602082015260400190565b606081526000620024b6606083016005815264434849505360d81b602082015260400190565b606081526000620024b660608301600481526324a120a760e11b602082015260400190565b606081526000620024b6606083016007815266524f5554494e4760c81b602082015260400190565b60008251620026ea818460208701620023c6565b9190910192915050565b6000835162002708818460208801620023c6565b8351908301906200271e818360208801620023c6565b0194935050505056fe608060405234801561001057600080fd5b5060405161041538038061041583398101604081905261002f91610062565b60008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055610092565b60006020828403121561007457600080fd5b81516001600160a01b038116811461008b57600080fd5b9392505050565b610374806100a16000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80638da5cb5b14610051578063beabacc814610081578063c45a015514610096578063e3d670d7146100a9575b600080fd5b600154610064906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61009461008f3660046102a5565b6100ca565b005b600054610064906001600160a01b031681565b6100bc6100b73660046102e1565b610218565b604051908152602001610078565b6001546001600160a01b031633146101155760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101889190610303565b6101c65760405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015260640161010c565b816001600160a01b0316836001600160a01b03167fb061d70cbb0230d51834f86b5ff97a0d1268cfdd982c79a3f80074b73c48763b8360405161020b91815260200190565b60405180910390a3505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561025f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102839190610325565b92915050565b80356001600160a01b03811681146102a057600080fd5b919050565b6000806000606084860312156102ba57600080fd5b6102c384610289565b92506102d160208501610289565b9150604084013590509250925092565b6000602082840312156102f357600080fd5b6102fc82610289565b9392505050565b60006020828403121561031557600080fd5b815180151581146102fc57600080fd5b60006020828403121561033757600080fd5b505191905056fea26469706673582212203a6e4ed960cfe4ce75c755d4a1cde7ba101468fb3b20b0a6bfa53928b63bff4d64736f6c6343000818003337c18be49df6031d7e084bd3b6e0acae58740e64683178caae1757f57278a93cfa03c7af22ad78a1b011dd0de8ca66c2847dffdd2114047c0aecee11cd0836146e11a0cde03b7a850c254dae48d151bffb766894371a18f331087a41a96ad189a264697066735822122070a0bd1fa26312d288d0a8cf38128e30e0cb7d24ba3f82c22db5c8d7592a571364736f6c634300081800330000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c523

Deployed Bytecode

0x60806040523480156200001157600080fd5b5060043610620002a95760003560e01c806367ca73bd116200016d578063c06ad98511620000d3578063e57464a01162000092578063e57464a014620005be578063e6059fc814620005d5578063f20355f914620005ec578063f68f285c1462000328578063fc0c546a1462000618578063fcb5d88c146200064057600080fd5b8063c06ad9851462000562578063c46a66251462000328578063c7ca7f4c1462000579578063cf2894b71462000590578063d10c74d114620005a757600080fd5b8063a3c3b7dc116200012c578063a3c3b7dc14620004da578063a8ae783c14620004f1578063b1d71dad1462000328578063b324840f1462000508578063b5dda99c1462000534578063b7890918146200054b57600080fd5b806367ca73bd146200049557806388dc8cd9146200032857806397e4807d14620004ac5780639e3c126b1462000328578063a1dccb6714620004c357600080fd5b80633bf1d6a611620002135780634e858e1911620001d25780634e858e19146200040e578063500daacb146200042557806351349f98146200043c5780635186347814620004535780635573088f146200046a578063570ca735146200048157600080fd5b80633bf1d6a614620003285780633c952d8614620003b257806340d68ae414620003c9578063491ecf4f14620003e05780634e39d3c914620003f757600080fd5b806329140220116200026c57806329140220146200033f5780633040eba514620003565780633183ea9f1462000328578063359085c4146200036d578063377d997714620003845780633a073c2f146200039b57600080fd5b806311bb17b814620002ae57806313ac109614620002e15780631f975da314620002f85780632189964a1462000311578063226150361462000328575b600080fd5b620002c5620002bf36600462002309565b62000657565b6040516001600160a01b03909116815260200160405180910390f35b620002c5620002f236600462002309565b62000688565b6200030f620003093660046200234a565b62000699565b005b6200030f620003223660046200234a565b620007b7565b620002c56200033936600462002309565b620008c7565b620002c56200035036600462002309565b620008e4565b620002c56200036736600462002309565b62000a02565b620002c56200037e36600462002309565b62000b12565b6200030f620003953660046200234a565b62000b23565b6200030f620003ac3660046200234a565b62000c50565b6200030f620003c33660046200234a565b62000d60565b6200030f620003da3660046200234a565b62000e70565b620002c5620003f136600462002309565b62000f90565b6200030f620004083660046200234a565b620010a0565b6200030f6200041f3660046200234a565b620011c0565b6200030f620004363660046200234a565b620012e0565b620002c56200044d36600462002309565b62001400565b620002c56200046436600462002309565b62001510565b6200030f6200047b3660046200234a565b62001521565b600054620002c5906001600160a01b031681565b6200030f620004a63660046200234a565b62001641565b6200030f620004bd3660046200234a565b62001751565b6200030f620004d43660046200234a565b62001861565b6200030f620004eb3660046200234a565b62001981565b620002c56200050236600462002309565b62001a91565b620002c56200051936600462002393565b6005602052600090815260409020546001600160a01b031681565b6200030f620005453660046200234a565b62001ba1565b620002c56200055c36600462002309565b62001cc1565b6200030f620005733660046200234a565b62001dd1565b620002c56200058a36600462002309565b62001ee1565b620002c5620005a136600462002309565b62001ef2565b620002c5620005b836600462002309565b62001f03565b620002c5620005cf36600462002309565b62002013565b620002c5620005e636600462002309565b62002024565b620002c5620005fd36600462002393565b6004602052600090815260409020546001600160a01b031681565b620002c57f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52381565b620002c56200065136600462002309565b62002134565b600060016000620006688462002140565b81526020810191909152604001600020546001600160a01b031692915050565b600060046000620006688462002140565b6000546001600160a01b03163314620006c557604051631f0853c160e21b815260040160405180910390fd5b6000620006d28362002140565b6000818152600460205260409020549091506001600160a01b0316806200070157620006fe8462001a91565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f1990620007519084908790600401620023ad565b600060405180830381600087803b1580156200076c57600080fd5b505af115801562000781573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a9939291906200241a565b60405180910390a150505050565b6000546001600160a01b03163314620007e357604051631f0853c160e21b815260040160405180910390fd5b6000620007f08362002140565b6000818152600560205260409020549091506001600160a01b0316806200081f576200081c84620008e4565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f19906200086f9084908790600401620023ad565b600060405180830381600087803b1580156200088a57600080fd5b505af11580156200089f573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a9939291906200246e565b6000620008de620008d88362002140565b62002172565b92915050565b600080546001600160a01b031633146200091157604051631f0853c160e21b815260040160405180910390fd5b60006200091e8362002140565b6000818152600560205260409020549091506001600160a01b03161562000958576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620009759062002250565b6001600160a01b0390911681526020018190604051809103906000f5905080158015620009a6573d6000803e3d6000fd5b506000828152600560205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002492565b60405180910390a150919050565b600080546001600160a01b0316331462000a2f57604051631f0853c160e21b815260040160405180910390fd5b600062000a3c8362002140565b6000818152600760205260409020549091506001600160a01b03161562000a76576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062000a939062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562000ac4573d6000803e3d6000fd5b506000828152600760205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f49085908590620024e2565b600060036000620006688462002140565b6000546001600160a01b0316331462000b4f57604051631f0853c160e21b815260040160405180910390fd5b60006007600062000b608562002140565b81526020810191909152604001600020546001600160a01b031690508062000b9b57604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac9062000beb9084908690600401620023ad565b600060405180830381600087803b15801562000c0657600080fd5b505af115801562000c1b573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c43939291906200250a565b60405180910390a1505050565b6000546001600160a01b0316331462000c7c57604051631f0853c160e21b815260040160405180910390fd5b600062000c898362002140565b6000818152600360205260409020549091506001600160a01b03168062000cb85762000cb58462000f90565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f199062000d089084908790600401620023ad565b600060405180830381600087803b15801562000d2357600080fd5b505af115801562000d38573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a99392919062002532565b6000546001600160a01b0316331462000d8c57604051631f0853c160e21b815260040160405180910390fd5b600062000d998362002140565b6000818152600160205260409020549091506001600160a01b03168062000dc85762000dc58462002024565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f199062000e189084908790600401620023ad565b600060405180830381600087803b15801562000e3357600080fd5b505af115801562000e48573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a99392919062002558565b6000546001600160a01b0316331462000e9c57604051631f0853c160e21b815260040160405180910390fd5b60006008600062000ead8562002140565b81526020810191909152604001600020546001600160a01b031690508062000ee857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac9062000f389084908690600401620023ad565b600060405180830381600087803b15801562000f5357600080fd5b505af115801562000f68573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c439392919062002580565b600080546001600160a01b0316331462000fbd57604051631f0853c160e21b815260040160405180910390fd5b600062000fca8362002140565b6000818152600360205260409020549091506001600160a01b03161562001004576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620010219062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001052573d6000803e3d6000fd5b506000828152600360205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f49085908590620025a6565b6000546001600160a01b03163314620010cc57604051631f0853c160e21b815260040160405180910390fd5b600060066000620010dd8562002140565b81526020810191909152604001600020546001600160a01b03169050806200111857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac90620011689084908690600401620023ad565b600060405180830381600087803b1580156200118357600080fd5b505af115801562001198573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c4393929190620025cc565b6000546001600160a01b03163314620011ec57604051631f0853c160e21b815260040160405180910390fd5b600060026000620011fd8562002140565b81526020810191909152604001600020546001600160a01b03169050806200123857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac90620012889084908690600401620023ad565b600060405180830381600087803b158015620012a357600080fd5b505af1158015620012b8573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c4393929190620025f3565b6000546001600160a01b031633146200130c57604051631f0853c160e21b815260040160405180910390fd5b6000600160006200131d8562002140565b81526020810191909152604001600020546001600160a01b03169050806200135857604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac90620013a89084908690600401620023ad565b600060405180830381600087803b158015620013c357600080fd5b505af1158015620013d8573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c439392919062002558565b600080546001600160a01b031633146200142d57604051631f0853c160e21b815260040160405180910390fd5b60006200143a8362002140565b6000818152600660205260409020549091506001600160a01b03161562001474576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620014919062002250565b6001600160a01b0390911681526020018190604051809103906000f5905080158015620014c2573d6000803e3d6000fd5b506000828152600660205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002618565b600060026000620006688462002140565b6000546001600160a01b031633146200154d57604051631f0853c160e21b815260040160405180910390fd5b6000600360006200155e8562002140565b81526020810191909152604001600020546001600160a01b03169050806200159957604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac90620015e99084908690600401620023ad565b600060405180830381600087803b1580156200160457600080fd5b505af115801562001619573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c439392919062002532565b6000546001600160a01b031633146200166d57604051631f0853c160e21b815260040160405180910390fd5b60006200167a8362002140565b6000818152600660205260409020549091506001600160a01b031680620016a957620016a68462001400565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f1990620016f99084908790600401620023ad565b600060405180830381600087803b1580156200171457600080fd5b505af115801562001729573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a993929190620025cc565b6000546001600160a01b031633146200177d57604051631f0853c160e21b815260040160405180910390fd5b60006200178a8362002140565b6000818152600760205260409020549091506001600160a01b031680620017b957620017b68462000a02565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f1990620018099084908790600401620023ad565b600060405180830381600087803b1580156200182457600080fd5b505af115801562001839573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a9939291906200250a565b6000546001600160a01b031633146200188d57604051631f0853c160e21b815260040160405180910390fd5b6000600560006200189e8562002140565b81526020810191909152604001600020546001600160a01b0316905080620018d957604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac90620019299084908690600401620023ad565b600060405180830381600087803b1580156200194457600080fd5b505af115801562001959573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c43939291906200246e565b6000546001600160a01b03163314620019ad57604051631f0853c160e21b815260040160405180910390fd5b6000620019ba8362002140565b6000818152600860205260409020549091506001600160a01b031680620019e957620019e68462001cc1565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f199062001a399084908790600401620023ad565b600060405180830381600087803b15801562001a5457600080fd5b505af115801562001a69573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a99392919062002580565b600080546001600160a01b0316331462001abe57604051631f0853c160e21b815260040160405180910390fd5b600062001acb8362002140565b6000818152600460205260409020549091506001600160a01b03161562001b05576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062001b229062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001b53573d6000803e3d6000fd5b506000828152600460205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f490859085906200263f565b6000546001600160a01b0316331462001bcd57604051631f0853c160e21b815260040160405180910390fd5b60006004600062001bde8562002140565b81526020810191909152604001600020546001600160a01b031690508062001c1957604051631a5e559560e11b815260040160405180910390fd5b604051632770a7eb60e21b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c5231690639dc29fac9062001c699084908690600401620023ad565b600060405180830381600087803b15801562001c8457600080fd5b505af115801562001c99573d6000803e3d6000fd5b5050505060008051602062002b7d83398151915283828460405162000c43939291906200241a565b600080546001600160a01b0316331462001cee57604051631f0853c160e21b815260040160405180910390fd5b600062001cfb8362002140565b6000818152600860205260409020549091506001600160a01b03161562001d35576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062001d529062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001d83573d6000803e3d6000fd5b506000828152600860205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002663565b6000546001600160a01b0316331462001dfd57604051631f0853c160e21b815260040160405180910390fd5b600062001e0a8362002140565b6000818152600260205260409020549091506001600160a01b03168062001e395762001e368462001f03565b90505b6040516340c10f1960e01b81526001600160a01b037f0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c52316906340c10f199062001e899084908790600401620023ad565b600060405180830381600087803b15801562001ea457600080fd5b505af115801562001eb9573d6000803e3d6000fd5b5050505060008051602062002b3d833981519152848285604051620007a993929190620025f3565b600060076000620006688462002140565b600060066000620006688462002140565b600080546001600160a01b0316331462001f3057604051631f0853c160e21b815260040160405180910390fd5b600062001f3d8362002140565b6000818152600260205260409020549091506001600160a01b03161562001f77576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b03169062001f949062002250565b6001600160a01b0390911681526020018190604051809103906000f590508015801562001fc5573d6000803e3d6000fd5b506000828152600260205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f4908590859062002689565b600060056000620006688462002140565b600080546001600160a01b031633146200205157604051631f0853c160e21b815260040160405180910390fd5b60006200205e8362002140565b6000818152600160205260409020549091506001600160a01b03161562002098576040516320ab921d60e21b815260040160405180910390fd5b60005460405182916001600160a01b031690620020b59062002250565b6001600160a01b0390911681526020018190604051809103906000f5905080158015620020e6573d6000803e3d6000fd5b506000828152600160205260409081902080546001600160a01b0319166001600160a01b0384161790555190925060008051602062002b5d83398151915290620009f49085908590620026ae565b60006008600062000668845b600081604051602001620021559190620026d6565b604051602081830303815290604052805190602001209050919050565b600060ff60f81b3083604051806020016200218d9062002250565b601f1982820381018352601f9091011660408181526000546001600160a01b031660208301520160408051601f1981840301815290829052620021d49291602001620026f4565b604051602081830303815290604052805190602001206040516020016200223294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b610415806200272883390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200228657600080fd5b813567ffffffffffffffff80821115620022a457620022a46200225e565b604051601f8301601f19908116603f01168101908282118183101715620022cf57620022cf6200225e565b81604052838152866020858801011115620022e957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000602082840312156200231c57600080fd5b813567ffffffffffffffff8111156200233457600080fd5b620023428482850162002274565b949350505050565b600080604083850312156200235e57600080fd5b823567ffffffffffffffff8111156200237657600080fd5b620023848582860162002274565b95602094909401359450505050565b600060208284031215620023a657600080fd5b5035919050565b6001600160a01b03929092168252602082015260400190565b60005b83811015620023e3578181015183820152602001620023c9565b50506000910152565b6000815180845262002406816020860160208601620023c6565b601f01601f19169290920160200192915050565b6080815260006200243e60808301600381526243494b60e81b602082015260400190565b8281036020840152620024528187620023ec565b6001600160a01b03959095166040840152505060600152919050565b6080815260006200243e6080830160038152624c454960e81b602082015260400190565b606081526000620024b66060830160038152624c454960e81b602082015260400190565b8281036020840152620024ca8186620023ec565b91505060018060a01b03831660408301529392505050565b606081526000620024b66060830160078152664645445749524560c81b602082015260400190565b6080815260006200243e6080830160078152664645445749524560c81b602082015260400190565b6080815260006200243e60808301600581526414d5d2519560da1b602082015260400190565b6080815260006200243e608083016007815266524f5554494e4760c81b602082015260400190565b6080815260006200243e608083016005815264434849505360d81b602082015260400190565b606081526000620024b660608301600581526414d5d2519560da1b602082015260400190565b6080815260006200243e6080830160068152654645444e4f5760d01b602082015260400190565b6080815260006200243e60808301600481526324a120a760e11b602082015260400190565b606081526000620024b66060830160068152654645444e4f5760d01b602082015260400190565b606081526000620024b660608301600381526243494b60e81b602082015260400190565b606081526000620024b6606083016005815264434849505360d81b602082015260400190565b606081526000620024b660608301600481526324a120a760e11b602082015260400190565b606081526000620024b6606083016007815266524f5554494e4760c81b602082015260400190565b60008251620026ea818460208701620023c6565b9190910192915050565b6000835162002708818460208801620023c6565b8351908301906200271e818360208801620023c6565b0194935050505056fe608060405234801561001057600080fd5b5060405161041538038061041583398101604081905261002f91610062565b60008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055610092565b60006020828403121561007457600080fd5b81516001600160a01b038116811461008b57600080fd5b9392505050565b610374806100a16000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80638da5cb5b14610051578063beabacc814610081578063c45a015514610096578063e3d670d7146100a9575b600080fd5b600154610064906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61009461008f3660046102a5565b6100ca565b005b600054610064906001600160a01b031681565b6100bc6100b73660046102e1565b610218565b604051908152602001610078565b6001546001600160a01b031633146101155760405162461bcd60e51b81526020600482015260096024820152683737ba1037bbb732b960b91b60448201526064015b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101889190610303565b6101c65760405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015260640161010c565b816001600160a01b0316836001600160a01b03167fb061d70cbb0230d51834f86b5ff97a0d1268cfdd982c79a3f80074b73c48763b8360405161020b91815260200190565b60405180910390a3505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561025f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102839190610325565b92915050565b80356001600160a01b03811681146102a057600080fd5b919050565b6000806000606084860312156102ba57600080fd5b6102c384610289565b92506102d160208501610289565b9150604084013590509250925092565b6000602082840312156102f357600080fd5b6102fc82610289565b9392505050565b60006020828403121561031557600080fd5b815180151581146102fc57600080fd5b60006020828403121561033757600080fd5b505191905056fea26469706673582212203a6e4ed960cfe4ce75c755d4a1cde7ba101468fb3b20b0a6bfa53928b63bff4d64736f6c6343000818003337c18be49df6031d7e084bd3b6e0acae58740e64683178caae1757f57278a93cfa03c7af22ad78a1b011dd0de8ca66c2847dffdd2114047c0aecee11cd0836146e11a0cde03b7a850c254dae48d151bffb766894371a18f331087a41a96ad189a264697066735822122070a0bd1fa26312d288d0a8cf38128e30e0cb7d24ba3f82c22db5c8d7592a571364736f6c63430008180033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c523

-----Decoded View---------------
Arg [0] : _token (address): 0x4F1D5c7221dB8F3F28b2F0398Aa2bc321b72C523

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004f1d5c7221db8f3f28b2f0398aa2bc321b72c523


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xf052Bf5Da50Af04f74511ee60b85F54Fe1f4B47e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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