xDAI Price: $0.999891 (+0.01%)

Contract

0x69470B18F8B8B5f92b48f6199DCb147b4BE96571
Transaction Hash
Block
From
To
Publish Chunk435827652025-12-10 21:02:403 secs ago1765400560IN
0x69470B18...b4BE96571
0 XDAI0.000000020.00000139
Publish Chunk435827612025-12-10 21:02:2023 secs ago1765400540IN
0x69470B18...b4BE96571
0 XDAI0.000000020.00000147
Publish Chunk435827552025-12-10 21:01:5053 secs ago1765400510IN
0x69470B18...b4BE96571
0 XDAI0.000000020.00000144
Publish Chunk435827482025-12-10 21:01:151 min ago1765400475IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039809
Publish Chunk435827472025-12-10 21:01:101 min ago1765400470IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039806
Publish Chunk435827442025-12-10 21:00:551 min ago1765400455IN
0x69470B18...b4BE96571
0 XDAI0.000000780.00039807
Publish Chunk435827382025-12-10 21:00:252 mins ago1765400425IN
0x69470B18...b4BE96571
0 XDAI0.000000780.00039822
Publish Chunk435827362025-12-10 21:00:152 mins ago1765400415IN
0x69470B18...b4BE96571
0 XDAI0.000000780.00039822
Publish Chunk435827342025-12-10 21:00:052 mins ago1765400405IN
0x69470B18...b4BE96571
0 XDAI00.00000071
Publish Chunk435827332025-12-10 20:59:552 mins ago1765400395IN
0x69470B18...b4BE96571
0 XDAI00.00000059
Publish Chunk435827322025-12-10 20:59:502 mins ago1765400390IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039808
Publish Chunk435827262025-12-10 20:59:203 mins ago1765400360IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039805
Publish Chunk435827232025-12-10 20:59:053 mins ago1765400345IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039806
Publish Chunk435827222025-12-10 20:59:003 mins ago1765400340IN
0x69470B18...b4BE96571
0 XDAI0.000000780.00039806
Publish Chunk435827212025-12-10 20:58:553 mins ago1765400335IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039806
Publish Chunk435827202025-12-10 20:58:503 mins ago1765400330IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039803
Publish Chunk435826642025-12-10 20:54:008 mins ago1765400040IN
0x69470B18...b4BE96571
0 XDAI0.000006250.00039849
Publish Chunk435826592025-12-10 20:53:359 mins ago1765400015IN
0x69470B18...b4BE96571
0 XDAI0.000006250.0003985
Publish Chunk435826292025-12-10 20:51:0011 mins ago1765399860IN
0x69470B18...b4BE96571
0 XDAI0.000006250.00039849
Publish Chunk435826282025-12-10 20:50:5511 mins ago1765399855IN
0x69470B18...b4BE96571
0 XDAI0.000006240.0003984
Publish Chunk435826272025-12-10 20:50:5011 mins ago1765399850IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039832
Publish Chunk435826242025-12-10 20:50:3512 mins ago1765399835IN
0x69470B18...b4BE96571
0 XDAI0.000001570.00010063
Publish Chunk435826232025-12-10 20:50:3012 mins ago1765399830IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039823
Publish Chunk435826152025-12-10 20:49:5012 mins ago1765399790IN
0x69470B18...b4BE96571
0 XDAI0.000006240.00039824
Publish Chunk435826032025-12-10 20:48:5013 mins ago1765399730IN
0x69470B18...b4BE96571
0 XDAI0.000001570.00010055
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:
FileSystem

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
paris EvmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at gnosisscan.io on 2024-12-01
*/

// SPDX-License-Identifier: AGPL-3.0

pragma solidity >=0.7.0 <0.9.0;

/**
 * @title FileSystem
 * @dev File system representation.
 */
contract FileSystem {

    address public immutable deployer = 0xea02F564664A477286B93712829180be4764fAe2;
    address public immutable twitter = 0x7525Fe558b4EafA9e6346846E4027ffAB32F80A2;
    string public hijess = "ikirshu";
    string public _name = "File System";
    mapping( address => mapping( string => mapping( uint256 => string ) ) ) public chunks;
    mapping( address => mapping( string => mapping( uint256 => bool) ) ) public lock;
    mapping( address => mapping( string => uint256 ) ) public length;
    constructor() {}

    /**
     * @dev Returns the name of the contract.
     */
    function name(
      ) public view virtual returns (string memory) {
      return _name;
    }
    
    /**
     * @dev Check owner.
     * @param _namespace Address owning the hash.
     */
    function checkOwner(
      address _namespace)
      public
      view {
      require( msg.sender == _namespace );
    }

    /**
     * @dev Returns total chunks for a file.
     * @param _namespace Address owning the hash.
     * @param _hash Hash of the file the chunk belongs.
     */
    function getLength(
      address _namespace,
      string memory _hash) public view virtual returns (uint256) {
      return length[_namespace][_hash];
    }

    /**
     * @dev Check chunk unlock state.
     * @param _namespace Address owning the hash.
     * @param _hash Hash of the file the chunk belongs.
     * @param _index Which chunk are you checking.
     */
    function checkUnlocked(
      address _namespace,
      string memory _hash,
      uint256 _index)
      public
      view {
      require( ! lock[_namespace][_hash][_index] );
    }

    /**
     * @dev Check chunk lock state.
     * @param _namespace Address owning the hash.
     * @param _hash Hash of the file the chunk belongs.
     * @param _index Which chunk are you checking.
     */
    function checkLocked(
      address _namespace,
      string memory _hash,
      uint256 _index)
      public
      view {
      require(
	lock[_namespace][_hash][_index]
      );
    }

    /**
     * @dev Publish chunk.
     * @param _namespace Namespace for the file definition.
     * @param _hash Hash of the file the chunk belongs.
     * @param _index Which chunk are you setting.
     * @param _chunk In which post the chunk is contained.
     */
    function publishChunk(
      address _namespace,
      string memory _hash,
      uint256 _index,
      string memory _chunk) public {
      checkOwner(
        _namespace);
      checkUnlocked(
        _namespace,
        _hash,
        _index);
      chunks[_namespace][_hash][_index] = _chunk;
      if ( _index > length[msg.sender][_hash] ) {
        length[_namespace][_hash] = _index;
      }
    }

    /**
     * @dev Lock the chunk.
     * @param _hash Hash of the file.
     * @param _index Which chunk to lock.
     */
    function lockChunk(
      address _namespace,
      string memory _hash,
      uint256 _index)
    public
    {
      checkOwner(
        _namespace
      );
      checkUnlocked(
        _namespace,
	_hash,
	_index);
      lock[_namespace][_hash][_index] = true;
    }

    /**
     * @dev Read a chunk.
     * @param _namespace Where the filo resides.
     * @param _hash Hash of the file.
     * @param _index Which chunk.
     */
    function readChunk(
      address _namespace,
      string memory _hash,
      uint256 _index)
    public
    view
    returns (string memory)
    {
      checkLocked(
        _namespace,
        _hash,
        _index
      );
      return chunks[_namespace][_hash][_index];
    }

    /**
     * @dev Verify a chunk.
     * @param _namespace Where the filo resides.
     * @param _hash Hash of the file.
     * @param _index Which chunk.
     */
    function verifyChunk(
      address _namespace,
      string memory _hash,
      uint256 _index)
    public
    view
    returns (bytes32)
    {
      return sha256(
        abi.encode(
          chunks[_namespace][_hash][_index]));
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"checkLocked","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"}],"name":"checkOwner","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"checkUnlocked","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"chunks","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"}],"name":"getLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hijess","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"}],"name":"length","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"lockChunk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"string","name":"_chunk","type":"string"}],"name":"publishChunk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"readChunk","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"twitter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_namespace","type":"address"},{"internalType":"string","name":"_hash","type":"string"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"verifyChunk","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]

60c060405273ea02f564664a477286b93712829180be4764fae273ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250737525fe558b4eafa9e6346846e4027ffab32f80a273ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152506040518060400160405280600781526020017f696b69727368750000000000000000000000000000000000000000000000000081525060009081620000d89190620003ae565b506040518060400160405280600b81526020017f46696c652053797374656d000000000000000000000000000000000000000000815250600190816200011f9190620003ae565b503480156200012d57600080fd5b5062000495565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001b657607f821691505b602082108103620001cc57620001cb6200016e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620001f7565b620002428683620001f7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200028f6200028962000283846200025a565b62000264565b6200025a565b9050919050565b6000819050919050565b620002ab836200026e565b620002c3620002ba8262000296565b84845462000204565b825550505050565b600090565b620002da620002cb565b620002e7818484620002a0565b505050565b5b818110156200030f5762000303600082620002d0565b600181019050620002ed565b5050565b601f8211156200035e576200032881620001d2565b6200033384620001e7565b8101602085101562000343578190505b6200035b6200035285620001e7565b830182620002ec565b50505b505050565b600082821c905092915050565b6000620003836000198460080262000363565b1980831691505092915050565b60006200039e838362000370565b9150826002028217905092915050565b620003b98262000134565b67ffffffffffffffff811115620003d557620003d46200013f565b5b620003e182546200019d565b620003ee82828562000313565b600060209050601f83116001811462000426576000841562000411578287015190505b6200041d858262000390565b8655506200048d565b601f1984166200043686620001d2565b60005b82811015620004605784890151825560018201915060208501945060208101905062000439565b868310156200048057848901516200047c601f89168262000370565b8355505b6001600288020188555050505b505050505050565b60805160a0516115d8620004bb60003960006109c001526000610b3501526115d86000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063891a8b9111610097578063d28d885211610066578063d28d8852146102d2578063d5f39488146102f0578063e0e3671c1461030e578063ef1f3b521461032a576100ff565b8063891a8b9114610238578063abfaeee014610268578063b697114914610286578063d1e0f2d3146102b6576100ff565b806325509cfa116100d357806325509cfa146101a05780632ebbadbd146101bc57806338e611b3146101ec57806360a8936d1461021c576100ff565b806226675a1461010457806306fdde03146101345780631110e591146101525780631adbeefb14610182575b600080fd5b61011e60048036038101906101199190610e1e565b610346565b60405161012b9190610ea6565b60405180910390f35b61013c61042a565b6040516101499190610f40565b60405180910390f35b61016c60048036038101906101679190610e1e565b6104bc565b6040516101799190610f40565b60405180910390f35b61018a6105c7565b6040516101979190610f40565b60405180910390f35b6101ba60048036038101906101b59190610e1e565b610655565b005b6101d660048036038101906101d19190610f62565b6106de565b6040516101e39190610fcd565b60405180910390f35b61020660048036038101906102019190610e1e565b610744565b6040516102139190611003565b60405180910390f35b6102366004803603810190610231919061101e565b610796565b005b610252600480360381019061024d9190610e1e565b6108ee565b60405161025f9190610f40565b60405180910390f35b6102706109be565b60405161027d91906110cc565b60405180910390f35b6102a0600480360381019061029b9190610f62565b6109e2565b6040516102ad9190610fcd565b60405180910390f35b6102d060048036038101906102cb9190610e1e565b610a1d565b005b6102da610aa5565b6040516102e79190610f40565b60405180910390f35b6102f8610b33565b60405161030591906110cc565b60405180910390f35b610328600480360381019061032391906110e7565b610b57565b005b610344600480360381019061033f9190610e1e565b610b92565b005b600060028060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516103969190611150565b908152602001604051809103902060008481526020019081526020016000206040516020016103c59190611260565b6040516020818303038152906040526040516103e191906112c9565b602060405180830381855afa1580156103fe573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610421919061130c565b90509392505050565b60606001805461043990611196565b80601f016020809104026020016040519081016040528092919081815260200182805461046590611196565b80156104b25780601f10610487576101008083540402835291602001916104b2565b820191906000526020600020905b81548152906001019060200180831161049557829003601f168201915b5050505050905090565b60606104c9848484610a1d565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516105169190611150565b90815260200160405180910390206000838152602001908152602001600020805461054090611196565b80601f016020809104026020016040519081016040528092919081815260200182805461056c90611196565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b505050505090509392505050565b600080546105d490611196565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611196565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516106a29190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16156106d957600080fd5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260405161072d9190611150565b908152602001604051809103902054905092915050565b600360205282600052604060002082805160208101820180518482526020830160208501208183528095505050505050602052806000526040600020600092509250509054906101000a900460ff1681565b61079f84610b57565b6107aa848484610655565b80600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516107f89190611150565b90815260200160405180910390206000848152602001908152602001600020908161082391906114d0565b50600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516108719190611150565b9081526020016040518091039020548211156108e85781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516108d59190611150565b9081526020016040518091039020819055505b50505050565b6002602052826000526040600020828051602081018201805184825260208301602085012081835280955050505050506020528060005260406000206000925092505050805461093d90611196565b80601f016020809104026020016040519081016040528092919081815260200182805461096990611196565b80156109b65780601f1061098b576101008083540402835291602001916109b6565b820191906000526020600020905b81548152906001019060200180831161099957829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600460205281600052604060002081805160208101820180518482526020830160208501208183528095505050505050600091509150505481565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082604051610a6a9190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16610aa057600080fd5b505050565b60018054610ab290611196565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90611196565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8f57600080fd5b50565b610b9b83610b57565b610ba6838383610655565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083604051610bf59190611150565b9081526020016040518091039020600083815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c6f82610c44565b9050919050565b610c7f81610c64565b8114610c8a57600080fd5b50565b600081359050610c9c81610c76565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cf582610cac565b810181811067ffffffffffffffff82111715610d1457610d13610cbd565b5b80604052505050565b6000610d27610c30565b9050610d338282610cec565b919050565b600067ffffffffffffffff821115610d5357610d52610cbd565b5b610d5c82610cac565b9050602081019050919050565b82818337600083830152505050565b6000610d8b610d8684610d38565b610d1d565b905082815260208101848484011115610da757610da6610ca7565b5b610db2848285610d69565b509392505050565b600082601f830112610dcf57610dce610ca2565b5b8135610ddf848260208601610d78565b91505092915050565b6000819050919050565b610dfb81610de8565b8114610e0657600080fd5b50565b600081359050610e1881610df2565b92915050565b600080600060608486031215610e3757610e36610c3a565b5b6000610e4586828701610c8d565b935050602084013567ffffffffffffffff811115610e6657610e65610c3f565b5b610e7286828701610dba565b9250506040610e8386828701610e09565b9150509250925092565b6000819050919050565b610ea081610e8d565b82525050565b6000602082019050610ebb6000830184610e97565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610efb578082015181840152602081019050610ee0565b60008484015250505050565b6000610f1282610ec1565b610f1c8185610ecc565b9350610f2c818560208601610edd565b610f3581610cac565b840191505092915050565b60006020820190508181036000830152610f5a8184610f07565b905092915050565b60008060408385031215610f7957610f78610c3a565b5b6000610f8785828601610c8d565b925050602083013567ffffffffffffffff811115610fa857610fa7610c3f565b5b610fb485828601610dba565b9150509250929050565b610fc781610de8565b82525050565b6000602082019050610fe26000830184610fbe565b92915050565b60008115159050919050565b610ffd81610fe8565b82525050565b60006020820190506110186000830184610ff4565b92915050565b6000806000806080858703121561103857611037610c3a565b5b600061104687828801610c8d565b945050602085013567ffffffffffffffff81111561106757611066610c3f565b5b61107387828801610dba565b935050604061108487828801610e09565b925050606085013567ffffffffffffffff8111156110a5576110a4610c3f565b5b6110b187828801610dba565b91505092959194509250565b6110c681610c64565b82525050565b60006020820190506110e160008301846110bd565b92915050565b6000602082840312156110fd576110fc610c3a565b5b600061110b84828501610c8d565b91505092915050565b600081905092915050565b600061112a82610ec1565b6111348185611114565b9350611144818560208601610edd565b80840191505092915050565b600061115c828461111f565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111ae57607f821691505b6020821081036111c1576111c0611167565b5b50919050565b60008190508160005260206000209050919050565b600081546111e981611196565b6111f38186610ecc565b9450600182166000811461120e576001811461122457611257565b60ff198316865281151560200286019350611257565b61122d856111c7565b60005b8381101561124f57815481890152600182019150602081019050611230565b808801955050505b50505092915050565b6000602082019050818103600083015261127a81846111dc565b905092915050565b600081519050919050565b600081905092915050565b60006112a382611282565b6112ad818561128d565b93506112bd818560208601610edd565b80840191505092915050565b60006112d58284611298565b915081905092915050565b6112e981610e8d565b81146112f457600080fd5b50565b600081519050611306816112e0565b92915050565b60006020828403121561132257611321610c3a565b5b6000611330848285016112f7565b91505092915050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b60006113cd6113c86113c384610de8565b6113a8565b610de8565b9050919050565b6000819050919050565b6113e7836113b2565b6113fb6113f3826113d4565b848454611356565b825550505050565b600090565b611410611403565b61141b8184846113de565b505050565b5b8181101561143f57611434600082611408565b600181019050611421565b5050565b601f82111561148457611455816111c7565b61145e84611339565b8101602085101561146d578190505b61148161147985611339565b830182611420565b50505b505050565b600082821c905092915050565b60006114a760001984600802611489565b1980831691505092915050565b60006114c08383611496565b9150826002028217905092915050565b6114d982610ec1565b67ffffffffffffffff8111156114f2576114f1610cbd565b5b6114fc8254611196565b611507828285611443565b600060209050601f83116001811461153a5760008415611528578287015190505b61153285826114b4565b86555061159a565b601f198416611548866111c7565b60005b828110156115705784890151825560018201915060208501945060208101905061154b565b8683101561158d5784890151611589601f891682611496565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220983744cb7dae0cc401eb99575f3a7643cd091abfca44c22b6027b5ce922a9cdd64736f6c63430008180033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063891a8b9111610097578063d28d885211610066578063d28d8852146102d2578063d5f39488146102f0578063e0e3671c1461030e578063ef1f3b521461032a576100ff565b8063891a8b9114610238578063abfaeee014610268578063b697114914610286578063d1e0f2d3146102b6576100ff565b806325509cfa116100d357806325509cfa146101a05780632ebbadbd146101bc57806338e611b3146101ec57806360a8936d1461021c576100ff565b806226675a1461010457806306fdde03146101345780631110e591146101525780631adbeefb14610182575b600080fd5b61011e60048036038101906101199190610e1e565b610346565b60405161012b9190610ea6565b60405180910390f35b61013c61042a565b6040516101499190610f40565b60405180910390f35b61016c60048036038101906101679190610e1e565b6104bc565b6040516101799190610f40565b60405180910390f35b61018a6105c7565b6040516101979190610f40565b60405180910390f35b6101ba60048036038101906101b59190610e1e565b610655565b005b6101d660048036038101906101d19190610f62565b6106de565b6040516101e39190610fcd565b60405180910390f35b61020660048036038101906102019190610e1e565b610744565b6040516102139190611003565b60405180910390f35b6102366004803603810190610231919061101e565b610796565b005b610252600480360381019061024d9190610e1e565b6108ee565b60405161025f9190610f40565b60405180910390f35b6102706109be565b60405161027d91906110cc565b60405180910390f35b6102a0600480360381019061029b9190610f62565b6109e2565b6040516102ad9190610fcd565b60405180910390f35b6102d060048036038101906102cb9190610e1e565b610a1d565b005b6102da610aa5565b6040516102e79190610f40565b60405180910390f35b6102f8610b33565b60405161030591906110cc565b60405180910390f35b610328600480360381019061032391906110e7565b610b57565b005b610344600480360381019061033f9190610e1e565b610b92565b005b600060028060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516103969190611150565b908152602001604051809103902060008481526020019081526020016000206040516020016103c59190611260565b6040516020818303038152906040526040516103e191906112c9565b602060405180830381855afa1580156103fe573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610421919061130c565b90509392505050565b60606001805461043990611196565b80601f016020809104026020016040519081016040528092919081815260200182805461046590611196565b80156104b25780601f10610487576101008083540402835291602001916104b2565b820191906000526020600020905b81548152906001019060200180831161049557829003601f168201915b5050505050905090565b60606104c9848484610a1d565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516105169190611150565b90815260200160405180910390206000838152602001908152602001600020805461054090611196565b80601f016020809104026020016040519081016040528092919081815260200182805461056c90611196565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b505050505090509392505050565b600080546105d490611196565b80601f016020809104026020016040519081016040528092919081815260200182805461060090611196565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b505050505081565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020826040516106a29190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16156106d957600080fd5b505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208260405161072d9190611150565b908152602001604051809103902054905092915050565b600360205282600052604060002082805160208101820180518482526020830160208501208183528095505050505050602052806000526040600020600092509250509054906101000a900460ff1681565b61079f84610b57565b6107aa848484610655565b80600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516107f89190611150565b90815260200160405180910390206000848152602001908152602001600020908161082391906114d0565b50600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836040516108719190611150565b9081526020016040518091039020548211156108e85781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020846040516108d59190611150565b9081526020016040518091039020819055505b50505050565b6002602052826000526040600020828051602081018201805184825260208301602085012081835280955050505050506020528060005260406000206000925092505050805461093d90611196565b80601f016020809104026020016040519081016040528092919081815260200182805461096990611196565b80156109b65780601f1061098b576101008083540402835291602001916109b6565b820191906000526020600020905b81548152906001019060200180831161099957829003601f168201915b505050505081565b7f0000000000000000000000007525fe558b4eafa9e6346846e4027ffab32f80a281565b600460205281600052604060002081805160208101820180518482526020830160208501208183528095505050505050600091509150505481565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082604051610a6a9190611150565b9081526020016040518091039020600082815260200190815260200160002060009054906101000a900460ff16610aa057600080fd5b505050565b60018054610ab290611196565b80601f0160208091040260200160405190810160405280929190818152602001828054610ade90611196565b8015610b2b5780601f10610b0057610100808354040283529160200191610b2b565b820191906000526020600020905b815481529060010190602001808311610b0e57829003601f168201915b505050505081565b7f000000000000000000000000ea02f564664a477286b93712829180be4764fae281565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8f57600080fd5b50565b610b9b83610b57565b610ba6838383610655565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083604051610bf59190611150565b9081526020016040518091039020600083815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c6f82610c44565b9050919050565b610c7f81610c64565b8114610c8a57600080fd5b50565b600081359050610c9c81610c76565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cf582610cac565b810181811067ffffffffffffffff82111715610d1457610d13610cbd565b5b80604052505050565b6000610d27610c30565b9050610d338282610cec565b919050565b600067ffffffffffffffff821115610d5357610d52610cbd565b5b610d5c82610cac565b9050602081019050919050565b82818337600083830152505050565b6000610d8b610d8684610d38565b610d1d565b905082815260208101848484011115610da757610da6610ca7565b5b610db2848285610d69565b509392505050565b600082601f830112610dcf57610dce610ca2565b5b8135610ddf848260208601610d78565b91505092915050565b6000819050919050565b610dfb81610de8565b8114610e0657600080fd5b50565b600081359050610e1881610df2565b92915050565b600080600060608486031215610e3757610e36610c3a565b5b6000610e4586828701610c8d565b935050602084013567ffffffffffffffff811115610e6657610e65610c3f565b5b610e7286828701610dba565b9250506040610e8386828701610e09565b9150509250925092565b6000819050919050565b610ea081610e8d565b82525050565b6000602082019050610ebb6000830184610e97565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610efb578082015181840152602081019050610ee0565b60008484015250505050565b6000610f1282610ec1565b610f1c8185610ecc565b9350610f2c818560208601610edd565b610f3581610cac565b840191505092915050565b60006020820190508181036000830152610f5a8184610f07565b905092915050565b60008060408385031215610f7957610f78610c3a565b5b6000610f8785828601610c8d565b925050602083013567ffffffffffffffff811115610fa857610fa7610c3f565b5b610fb485828601610dba565b9150509250929050565b610fc781610de8565b82525050565b6000602082019050610fe26000830184610fbe565b92915050565b60008115159050919050565b610ffd81610fe8565b82525050565b60006020820190506110186000830184610ff4565b92915050565b6000806000806080858703121561103857611037610c3a565b5b600061104687828801610c8d565b945050602085013567ffffffffffffffff81111561106757611066610c3f565b5b61107387828801610dba565b935050604061108487828801610e09565b925050606085013567ffffffffffffffff8111156110a5576110a4610c3f565b5b6110b187828801610dba565b91505092959194509250565b6110c681610c64565b82525050565b60006020820190506110e160008301846110bd565b92915050565b6000602082840312156110fd576110fc610c3a565b5b600061110b84828501610c8d565b91505092915050565b600081905092915050565b600061112a82610ec1565b6111348185611114565b9350611144818560208601610edd565b80840191505092915050565b600061115c828461111f565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806111ae57607f821691505b6020821081036111c1576111c0611167565b5b50919050565b60008190508160005260206000209050919050565b600081546111e981611196565b6111f38186610ecc565b9450600182166000811461120e576001811461122457611257565b60ff198316865281151560200286019350611257565b61122d856111c7565b60005b8381101561124f57815481890152600182019150602081019050611230565b808801955050505b50505092915050565b6000602082019050818103600083015261127a81846111dc565b905092915050565b600081519050919050565b600081905092915050565b60006112a382611282565b6112ad818561128d565b93506112bd818560208601610edd565b80840191505092915050565b60006112d58284611298565b915081905092915050565b6112e981610e8d565b81146112f457600080fd5b50565b600081519050611306816112e0565b92915050565b60006020828403121561132257611321610c3a565b5b6000611330848285016112f7565b91505092915050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611349565b6113908683611349565b95508019841693508086168417925050509392505050565b6000819050919050565b60006113cd6113c86113c384610de8565b6113a8565b610de8565b9050919050565b6000819050919050565b6113e7836113b2565b6113fb6113f3826113d4565b848454611356565b825550505050565b600090565b611410611403565b61141b8184846113de565b505050565b5b8181101561143f57611434600082611408565b600181019050611421565b5050565b601f82111561148457611455816111c7565b61145e84611339565b8101602085101561146d578190505b61148161147985611339565b830182611420565b50505b505050565b600082821c905092915050565b60006114a760001984600802611489565b1980831691505092915050565b60006114c08383611496565b9150826002028217905092915050565b6114d982610ec1565b67ffffffffffffffff8111156114f2576114f1610cbd565b5b6114fc8254611196565b611507828285611443565b600060209050601f83116001811461153a5760008415611528578287015190505b61153285826114b4565b86555061159a565b601f198416611548866111c7565b60005b828110156115705784890151825560018201915060208501945060208101905061154b565b8683101561158d5784890151611589601f891682611496565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220983744cb7dae0cc401eb99575f3a7643cd091abfca44c22b6027b5ce922a9cdd64736f6c63430008180033

Deployed Bytecode Sourcemap

144:4144:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4036:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;762:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3563:294;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;342:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1659:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1272:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;515:80;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2548:419;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;423:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;258:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;602:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2071:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;381:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;173:78;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;966:126;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3104:282;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4036:249;4172:7;4202:75;4242:6;:18;4249:10;4242:18;;;;;;;;;;;;;;;4261:5;4242:25;;;;;;:::i;:::-;;;;;;;;;;;;;:33;4268:6;4242:33;;;;;;;;;;;4219:57;;;;;;;;:::i;:::-;;;;;;;;;;;;;4202:75;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4195:82;;4036:249;;;;;:::o;762:97::-;815:13;846:5;839:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;762:97;:::o;3563:294::-;3697:13;3726:74;3748:10;3769:5;3785:6;3726:11;:74::i;:::-;3816:6;:18;3823:10;3816:18;;;;;;;;;;;;;;;3835:5;3816:25;;;;;;:::i;:::-;;;;;;;;;;;;;:33;3842:6;3816:33;;;;;;;;;;;3809:40;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:294;;;;;:::o;342:32::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1659:189::-;1807:4;:16;1812:10;1807:16;;;;;;;;;;;;;;;1824:5;1807:23;;;;;;:::i;:::-;;;;;;;;;;;;;:31;1831:6;1807:31;;;;;;;;;;;;;;;;;;;;;1805:33;1796:44;;;;;;1659:189;;;:::o;1272:162::-;1376:7;1401:6;:18;1408:10;1401:18;;;;;;;;;;;;;;;1420:5;1401:25;;;;;;:::i;:::-;;;;;;;;;;;;;;1394:32;;1272:162;;;;:::o;515:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2548:419::-;2694:32;2715:10;2694;:32::i;:::-;2735:68;2759:10;2780:5;2796:6;2735:13;:68::i;:::-;2848:6;2812;:18;2819:10;2812:18;;;;;;;;;;;;;;;2831:5;2812:25;;;;;;:::i;:::-;;;;;;;;;;;;;:33;2838:6;2812:33;;;;;;;;;;;:42;;;;;;:::i;:::-;;2877:6;:18;2884:10;2877:18;;;;;;;;;;;;;;;2896:5;2877:25;;;;;;:::i;:::-;;;;;;;;;;;;;;2868:6;:34;2863:97;;;2944:6;2916;:18;2923:10;2916:18;;;;;;;;;;;;;;;2935:5;2916:25;;;;;;:::i;:::-;;;;;;;;;;;;;:34;;;;2863:97;2548:419;;;;:::o;423:85::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;258:77::-;;;:::o;602:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2071:194::-;2217:4;:16;2222:10;2217:16;;;;;;;;;;;;;;;2234:5;2217:23;;;;;;:::i;:::-;;;;;;;;;;;;;:31;2241:6;2217:31;;;;;;;;;;;;;;;;;;;;;2206:51;;;;;;2071:194;;;:::o;381:35::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;173:78::-;;;:::o;966:126::-;1072:10;1058:24;;:10;:24;;;1049:35;;;;;;966:126;:::o;3104:282::-;3228:40;3249:10;3228;:40::i;:::-;3277:54;3301:10;3315:5;3324:6;3277:13;:54::i;:::-;3374:4;3340;:16;3345:10;3340:16;;;;;;;;;;;;;;;3357:5;3340:23;;;;;;:::i;:::-;;;;;;;;;;;;;:31;3364:6;3340:31;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;3104:282;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:117::-;950:1;947;940:12;964:117;1073:1;1070;1063:12;1087:102;1128:6;1179:2;1175:7;1170:2;1163:5;1159:14;1155:28;1145:38;;1087:102;;;:::o;1195:180::-;1243:77;1240:1;1233:88;1340:4;1337:1;1330:15;1364:4;1361:1;1354:15;1381:281;1464:27;1486:4;1464:27;:::i;:::-;1456:6;1452:40;1594:6;1582:10;1579:22;1558:18;1546:10;1543:34;1540:62;1537:88;;;1605:18;;:::i;:::-;1537:88;1645:10;1641:2;1634:22;1424:238;1381:281;;:::o;1668:129::-;1702:6;1729:20;;:::i;:::-;1719:30;;1758:33;1786:4;1778:6;1758:33;:::i;:::-;1668:129;;;:::o;1803:308::-;1865:4;1955:18;1947:6;1944:30;1941:56;;;1977:18;;:::i;:::-;1941:56;2015:29;2037:6;2015:29;:::i;:::-;2007:37;;2099:4;2093;2089:15;2081:23;;1803:308;;;:::o;2117:146::-;2214:6;2209:3;2204;2191:30;2255:1;2246:6;2241:3;2237:16;2230:27;2117:146;;;:::o;2269:425::-;2347:5;2372:66;2388:49;2430:6;2388:49;:::i;:::-;2372:66;:::i;:::-;2363:75;;2461:6;2454:5;2447:21;2499:4;2492:5;2488:16;2537:3;2528:6;2523:3;2519:16;2516:25;2513:112;;;2544:79;;:::i;:::-;2513:112;2634:54;2681:6;2676:3;2671;2634:54;:::i;:::-;2353:341;2269:425;;;;;:::o;2714:340::-;2770:5;2819:3;2812:4;2804:6;2800:17;2796:27;2786:122;;2827:79;;:::i;:::-;2786:122;2944:6;2931:20;2969:79;3044:3;3036:6;3029:4;3021:6;3017:17;2969:79;:::i;:::-;2960:88;;2776:278;2714:340;;;;:::o;3060:77::-;3097:7;3126:5;3115:16;;3060:77;;;:::o;3143:122::-;3216:24;3234:5;3216:24;:::i;:::-;3209:5;3206:35;3196:63;;3255:1;3252;3245:12;3196:63;3143:122;:::o;3271:139::-;3317:5;3355:6;3342:20;3333:29;;3371:33;3398:5;3371:33;:::i;:::-;3271:139;;;;:::o;3416:799::-;3503:6;3511;3519;3568:2;3556:9;3547:7;3543:23;3539:32;3536:119;;;3574:79;;:::i;:::-;3536:119;3694:1;3719:53;3764:7;3755:6;3744:9;3740:22;3719:53;:::i;:::-;3709:63;;3665:117;3849:2;3838:9;3834:18;3821:32;3880:18;3872:6;3869:30;3866:117;;;3902:79;;:::i;:::-;3866:117;4007:63;4062:7;4053:6;4042:9;4038:22;4007:63;:::i;:::-;3997:73;;3792:288;4119:2;4145:53;4190:7;4181:6;4170:9;4166:22;4145:53;:::i;:::-;4135:63;;4090:118;3416:799;;;;;:::o;4221:77::-;4258:7;4287:5;4276:16;;4221:77;;;:::o;4304:118::-;4391:24;4409:5;4391:24;:::i;:::-;4386:3;4379:37;4304:118;;:::o;4428:222::-;4521:4;4559:2;4548:9;4544:18;4536:26;;4572:71;4640:1;4629:9;4625:17;4616:6;4572:71;:::i;:::-;4428:222;;;;:::o;4656:99::-;4708:6;4742:5;4736:12;4726:22;;4656:99;;;:::o;4761:169::-;4845:11;4879:6;4874:3;4867:19;4919:4;4914:3;4910:14;4895:29;;4761:169;;;;:::o;4936:246::-;5017:1;5027:113;5041:6;5038:1;5035:13;5027:113;;;5126:1;5121:3;5117:11;5111:18;5107:1;5102:3;5098:11;5091:39;5063:2;5060:1;5056:10;5051:15;;5027:113;;;5174:1;5165:6;5160:3;5156:16;5149:27;4998:184;4936:246;;;:::o;5188:377::-;5276:3;5304:39;5337:5;5304:39;:::i;:::-;5359:71;5423:6;5418:3;5359:71;:::i;:::-;5352:78;;5439:65;5497:6;5492:3;5485:4;5478:5;5474:16;5439:65;:::i;:::-;5529:29;5551:6;5529:29;:::i;:::-;5524:3;5520:39;5513:46;;5280:285;5188:377;;;;:::o;5571:313::-;5684:4;5722:2;5711:9;5707:18;5699:26;;5771:9;5765:4;5761:20;5757:1;5746:9;5742:17;5735:47;5799:78;5872:4;5863:6;5799:78;:::i;:::-;5791:86;;5571:313;;;;:::o;5890:654::-;5968:6;5976;6025:2;6013:9;6004:7;6000:23;5996:32;5993:119;;;6031:79;;:::i;:::-;5993:119;6151:1;6176:53;6221:7;6212:6;6201:9;6197:22;6176:53;:::i;:::-;6166:63;;6122:117;6306:2;6295:9;6291:18;6278:32;6337:18;6329:6;6326:30;6323:117;;;6359:79;;:::i;:::-;6323:117;6464:63;6519:7;6510:6;6499:9;6495:22;6464:63;:::i;:::-;6454:73;;6249:288;5890:654;;;;;:::o;6550:118::-;6637:24;6655:5;6637:24;:::i;:::-;6632:3;6625:37;6550:118;;:::o;6674:222::-;6767:4;6805:2;6794:9;6790:18;6782:26;;6818:71;6886:1;6875:9;6871:17;6862:6;6818:71;:::i;:::-;6674:222;;;;:::o;6902:90::-;6936:7;6979:5;6972:13;6965:21;6954:32;;6902:90;;;:::o;6998:109::-;7079:21;7094:5;7079:21;:::i;:::-;7074:3;7067:34;6998:109;;:::o;7113:210::-;7200:4;7238:2;7227:9;7223:18;7215:26;;7251:65;7313:1;7302:9;7298:17;7289:6;7251:65;:::i;:::-;7113:210;;;;:::o;7329:1125::-;7435:6;7443;7451;7459;7508:3;7496:9;7487:7;7483:23;7479:33;7476:120;;;7515:79;;:::i;:::-;7476:120;7635:1;7660:53;7705:7;7696:6;7685:9;7681:22;7660:53;:::i;:::-;7650:63;;7606:117;7790:2;7779:9;7775:18;7762:32;7821:18;7813:6;7810:30;7807:117;;;7843:79;;:::i;:::-;7807:117;7948:63;8003:7;7994:6;7983:9;7979:22;7948:63;:::i;:::-;7938:73;;7733:288;8060:2;8086:53;8131:7;8122:6;8111:9;8107:22;8086:53;:::i;:::-;8076:63;;8031:118;8216:2;8205:9;8201:18;8188:32;8247:18;8239:6;8236:30;8233:117;;;8269:79;;:::i;:::-;8233:117;8374:63;8429:7;8420:6;8409:9;8405:22;8374:63;:::i;:::-;8364:73;;8159:288;7329:1125;;;;;;;:::o;8460:118::-;8547:24;8565:5;8547:24;:::i;:::-;8542:3;8535:37;8460:118;;:::o;8584:222::-;8677:4;8715:2;8704:9;8700:18;8692:26;;8728:71;8796:1;8785:9;8781:17;8772:6;8728:71;:::i;:::-;8584:222;;;;:::o;8812:329::-;8871:6;8920:2;8908:9;8899:7;8895:23;8891:32;8888:119;;;8926:79;;:::i;:::-;8888:119;9046:1;9071:53;9116:7;9107:6;9096:9;9092:22;9071:53;:::i;:::-;9061:63;;9017:117;8812:329;;;;:::o;9147:148::-;9249:11;9286:3;9271:18;;9147:148;;;;:::o;9301:390::-;9407:3;9435:39;9468:5;9435:39;:::i;:::-;9490:89;9572:6;9567:3;9490:89;:::i;:::-;9483:96;;9588:65;9646:6;9641:3;9634:4;9627:5;9623:16;9588:65;:::i;:::-;9678:6;9673:3;9669:16;9662:23;;9411:280;9301:390;;;;:::o;9697:275::-;9829:3;9851:95;9942:3;9933:6;9851:95;:::i;:::-;9844:102;;9963:3;9956:10;;9697:275;;;;:::o;9978:180::-;10026:77;10023:1;10016:88;10123:4;10120:1;10113:15;10147:4;10144:1;10137:15;10164:320;10208:6;10245:1;10239:4;10235:12;10225:22;;10292:1;10286:4;10282:12;10313:18;10303:81;;10369:4;10361:6;10357:17;10347:27;;10303:81;10431:2;10423:6;10420:14;10400:18;10397:38;10394:84;;10450:18;;:::i;:::-;10394:84;10215:269;10164:320;;;:::o;10490:141::-;10539:4;10562:3;10554:11;;10585:3;10582:1;10575:14;10619:4;10616:1;10606:18;10598:26;;10490:141;;;:::o;10661:831::-;10746:3;10783:5;10777:12;10812:36;10838:9;10812:36;:::i;:::-;10864:71;10928:6;10923:3;10864:71;:::i;:::-;10857:78;;10966:1;10955:9;10951:17;10982:1;10977:164;;;;11155:1;11150:336;;;;10944:542;;10977:164;11061:4;11057:9;11046;11042:25;11037:3;11030:38;11121:6;11114:14;11107:22;11101:4;11097:33;11092:3;11088:43;11081:50;;10977:164;;11150:336;11217:38;11249:5;11217:38;:::i;:::-;11277:1;11291:154;11305:6;11302:1;11299:13;11291:154;;;11379:7;11373:14;11369:1;11364:3;11360:11;11353:35;11429:1;11420:7;11416:15;11405:26;;11327:4;11324:1;11320:12;11315:17;;11291:154;;;11474:1;11469:3;11465:11;11458:18;;11157:329;;10944:542;;10750:742;;10661:831;;;;:::o;11498:307::-;11608:4;11646:2;11635:9;11631:18;11623:26;;11695:9;11689:4;11685:20;11681:1;11670:9;11666:17;11659:47;11723:75;11793:4;11784:6;11723:75;:::i;:::-;11715:83;;11498:307;;;;:::o;11811:98::-;11862:6;11896:5;11890:12;11880:22;;11811:98;;;:::o;11915:147::-;12016:11;12053:3;12038:18;;11915:147;;;;:::o;12068:386::-;12172:3;12200:38;12232:5;12200:38;:::i;:::-;12254:88;12335:6;12330:3;12254:88;:::i;:::-;12247:95;;12351:65;12409:6;12404:3;12397:4;12390:5;12386:16;12351:65;:::i;:::-;12441:6;12436:3;12432:16;12425:23;;12176:278;12068:386;;;;:::o;12460:271::-;12590:3;12612:93;12701:3;12692:6;12612:93;:::i;:::-;12605:100;;12722:3;12715:10;;12460:271;;;;:::o;12737:122::-;12810:24;12828:5;12810:24;:::i;:::-;12803:5;12800:35;12790:63;;12849:1;12846;12839:12;12790:63;12737:122;:::o;12865:143::-;12922:5;12953:6;12947:13;12938:22;;12969:33;12996:5;12969:33;:::i;:::-;12865:143;;;;:::o;13014:351::-;13084:6;13133:2;13121:9;13112:7;13108:23;13104:32;13101:119;;;13139:79;;:::i;:::-;13101:119;13259:1;13284:64;13340:7;13331:6;13320:9;13316:22;13284:64;:::i;:::-;13274:74;;13230:128;13014:351;;;;:::o;13371:93::-;13408:6;13455:2;13450;13443:5;13439:14;13435:23;13425:33;;13371:93;;;:::o;13470:107::-;13514:8;13564:5;13558:4;13554:16;13533:37;;13470:107;;;;:::o;13583:393::-;13652:6;13702:1;13690:10;13686:18;13725:97;13755:66;13744:9;13725:97;:::i;:::-;13843:39;13873:8;13862:9;13843:39;:::i;:::-;13831:51;;13915:4;13911:9;13904:5;13900:21;13891:30;;13964:4;13954:8;13950:19;13943:5;13940:30;13930:40;;13659:317;;13583:393;;;;;:::o;13982:60::-;14010:3;14031:5;14024:12;;13982:60;;;:::o;14048:142::-;14098:9;14131:53;14149:34;14158:24;14176:5;14158:24;:::i;:::-;14149:34;:::i;:::-;14131:53;:::i;:::-;14118:66;;14048:142;;;:::o;14196:75::-;14239:3;14260:5;14253:12;;14196:75;;;:::o;14277:269::-;14387:39;14418:7;14387:39;:::i;:::-;14448:91;14497:41;14521:16;14497:41;:::i;:::-;14489:6;14482:4;14476:11;14448:91;:::i;:::-;14442:4;14435:105;14353:193;14277:269;;;:::o;14552:73::-;14597:3;14552:73;:::o;14631:189::-;14708:32;;:::i;:::-;14749:65;14807:6;14799;14793:4;14749:65;:::i;:::-;14684:136;14631:189;;:::o;14826:186::-;14886:120;14903:3;14896:5;14893:14;14886:120;;;14957:39;14994:1;14987:5;14957:39;:::i;:::-;14930:1;14923:5;14919:13;14910:22;;14886:120;;;14826:186;;:::o;15018:543::-;15119:2;15114:3;15111:11;15108:446;;;15153:38;15185:5;15153:38;:::i;:::-;15237:29;15255:10;15237:29;:::i;:::-;15227:8;15223:44;15420:2;15408:10;15405:18;15402:49;;;15441:8;15426:23;;15402:49;15464:80;15520:22;15538:3;15520:22;:::i;:::-;15510:8;15506:37;15493:11;15464:80;:::i;:::-;15123:431;;15108:446;15018:543;;;:::o;15567:117::-;15621:8;15671:5;15665:4;15661:16;15640:37;;15567:117;;;;:::o;15690:169::-;15734:6;15767:51;15815:1;15811:6;15803:5;15800:1;15796:13;15767:51;:::i;:::-;15763:56;15848:4;15842;15838:15;15828:25;;15741:118;15690:169;;;;:::o;15864:295::-;15940:4;16086:29;16111:3;16105:4;16086:29;:::i;:::-;16078:37;;16148:3;16145:1;16141:11;16135:4;16132:21;16124:29;;15864:295;;;;:::o;16164:1395::-;16281:37;16314:3;16281:37;:::i;:::-;16383:18;16375:6;16372:30;16369:56;;;16405:18;;:::i;:::-;16369:56;16449:38;16481:4;16475:11;16449:38;:::i;:::-;16534:67;16594:6;16586;16580:4;16534:67;:::i;:::-;16628:1;16652:4;16639:17;;16684:2;16676:6;16673:14;16701:1;16696:618;;;;17358:1;17375:6;17372:77;;;17424:9;17419:3;17415:19;17409:26;17400:35;;17372:77;17475:67;17535:6;17528:5;17475:67;:::i;:::-;17469:4;17462:81;17331:222;16666:887;;16696:618;16748:4;16744:9;16736:6;16732:22;16782:37;16814:4;16782:37;:::i;:::-;16841:1;16855:208;16869:7;16866:1;16863:14;16855:208;;;16948:9;16943:3;16939:19;16933:26;16925:6;16918:42;16999:1;16991:6;16987:14;16977:24;;17046:2;17035:9;17031:18;17018:31;;16892:4;16889:1;16885:12;16880:17;;16855:208;;;17091:6;17082:7;17079:19;17076:179;;;17149:9;17144:3;17140:19;17134:26;17192:48;17234:4;17226:6;17222:17;17211:9;17192:48;:::i;:::-;17184:6;17177:64;17099:156;17076:179;17301:1;17297;17289:6;17285:14;17281:22;17275:4;17268:36;16703:611;;;16666:887;;16256:1303;;;16164:1395;;:::o

Swarm Source

ipfs://983744cb7dae0cc401eb99575f3a7643cd091abfca44c22b6027b5ce922a9cdd

Block Transaction Gas Used Reward
view all blocks validated

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.