Contract 0x1840c9283e29ac27e7aa62960f0890ffa34e2b59

Txn Hash
Block
From
To
Value [Txn Fee]
0xf808e79b2b2ec552df9f213279a25099d5afc852a1847086e4b407eb08e51b6e8465482020-09-27 12:57:0434 days 12 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xb9e76f424f23ac533b1124c081553c5814f19223057f4e8c7d28da6f95b699178464682020-09-27 12:53:0434 days 12 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x8fe6569a91c0a5ec2b557479f66bf2c1b71f1115c74596ae11529c4e785360198463072020-09-27 12:45:0134 days 12 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xb0431057049f5e4443f27729ad59cb47f1775be0370110c9a48f04041543b2378462272020-09-27 12:41:0134 days 12 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x2df3daca7bce687d6af6973975e503d22f7895aef7663412b21c22b1bb5f67238453452020-09-27 11:56:5534 days 13 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x0204c0d63638c57f7ed5c20deb4275ff27c48208050eb7644bec7e9e4d42b2588452652020-09-27 11:52:5534 days 13 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xa67e5a90ede1021f4b49f627b53ca4890e7ee9e2aa04f6d1331fdb435a10d4e28451852020-09-27 11:48:5534 days 13 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xd54c2cdcf855f7ebd07d0d083e40a2ab80b000e89c3e711b19bcc1b705e37ae38451042020-09-27 11:44:5234 days 13 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xb545a45fa13ac38e74f5be9d9b755b760c237b843a2dba104f961d5c2205e6e88450242020-09-27 11:40:5234 days 13 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x17d6ec870e72ec70f537a2ee3f1f0022a3cb77d4dec3495e983a3db2dbdf26c48449442020-09-27 11:36:5234 days 13 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00073984
0x9daab49e552f18b37907d7c3ef633dc46628af2cf3d5843cd01a227dec4676818448642020-09-27 11:32:5234 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x1375ea3f772d0a96c982377edb43906ed61f7556a569c31b91f3d4dd28efd3808447842020-09-27 11:28:5234 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00073984
0x0ccbbe79ff437cab44cedd1b270793d6bb3d44ed752b519715ff4757be4dddf48447032020-09-27 11:24:4934 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x21556b7c62c6232a386ed5343de93f3e5990270310a6d13c92f9e2c05c6198058446232020-09-27 11:20:4934 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x6da400682de3ff2621dc2f5ddf30b65e63bce9e070e9c7a08795579b0bcf51468445432020-09-27 11:16:4934 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x487a93fcfb9d9ee28d233e792fc14e01d4e1b08bd134674c4f1ad94677d3a2bc8444632020-09-27 11:12:4934 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x8bddcf9a43c473c53531295fc4b14ece5c45be06498c80648f6d12767bcee7778443832020-09-27 11:08:4934 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xd77f4c7608fc20b6a6bb3efda8b0bc2528836e0cd31a9fafcc23008f30c3e2608443022020-09-27 11:04:4634 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xcd89a70c4b86c9cdbc99549f3e1777d574769bdb9802194156ecb586934f40f68442222020-09-27 11:00:4634 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x770955cbe655f2aced2b2328ba6bceddf82af6d70c86c925a87f5dd1babaa8898441422020-09-27 10:56:4634 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xcd7f4e5d32937eb621d2ade28d422caf0173a3da20b3b1b67cff3332ddcb63f58440622020-09-27 10:52:4634 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00073984
0xc77c5efe601aead653ebf8ea2f37eeaeb68c360d5782785b6b4a57e68f1acad28439812020-09-27 10:48:4334 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00073984
0xafe75b638d2d2f81e6e04ca6697c118f91d19903e172c2ebe4e71682bf5d0d788439012020-09-27 10:44:4334 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0x138296c6cd4d3e637112b54669030b63df31bcd57602cd96cef0c918e276086d8438212020-09-27 10:40:4334 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
0xdbb565bf90292824ee4e7c5ebda9792d399ffd30829109e2a5ebdc16ddb6a19f8437412020-09-27 10:36:4334 days 14 hrs ago0x4aa18781397a3c4586c98d74156b474183f2675e IN  0x1840c9283e29ac27e7aa62960f0890ffa34e2b590 BNB0.00074008
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CertiKSecurityOracle

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2020-09-16
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.4.21 <0.7.0;

contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }

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

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

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract CertiKSecurityOracle is Ownable {
  event Init(uint8 defaultScore);
  event ResultUpdate(
    address indexed target,
    bytes4 functionSignature,
    uint8 score,
    uint256 expiration
  );
  event BatchResultUpdate(uint256 length);
  event DefaultScoreChanged(uint8 score);

  struct Result {
    uint8 score;
    uint256 expiration;
  }

  // stores pushed results
  mapping(address => mapping(bytes4 => Result)) private _results;
  // score to return when we don't have results available
  uint8 public _defaultScore;

  constructor() public {
    initialize();
  }

  function getSecurityScore(
      address contractAddress,
      bytes4 functionSignature
    ) public view returns (uint8) {
    Result storage result = _results[contractAddress][functionSignature];

    if (result.expiration > block.timestamp) {
      return result.score;
    } else {
      return _defaultScore;
    }
  }

  function getSecurityScore(
    address contractAddress,
    string memory functionSignature
  ) public view returns (uint8) {
    return
      getSecurityScore(
        contractAddress,
        bytes4(keccak256(abi.encodePacked(functionSignature)))
      );
  }

  function getSecurityScore(address contractAddress) public view returns (uint8) {
    return getSecurityScore(contractAddress, 0);
  }

  function getSecurityScores(
    address[] memory addresses,
    bytes4[] memory functionSignatures
  ) public view returns (uint8[] memory) {
    require(
      functionSignatures.length == addresses.length,
      "the length of addresses and functionSignatures must be the same"
    );

    uint256 len = addresses.length;

    uint8[] memory scores = new uint8[](len);

    for (uint256 i = 0; i < len; i++) {
      scores[i] = getSecurityScore(addresses[i], functionSignatures[i]);
    }

    return scores;
  }

  function pushResult(
    address contractAddress,
    bytes4 functionSignature,
    uint8 score,
    uint256 expiration
  ) public onlyOwner {
    _results[contractAddress][functionSignature] = Result(score, expiration);

    emit ResultUpdate(contractAddress, functionSignature, score, expiration);
  }

  function batchPushResult(
    address[] memory contractAddresses,
    bytes4[] memory functionSignatures,
    uint8[] memory scores,
    uint256[] memory expirations
  ) public onlyOwner {
    require(
      contractAddresses.length == functionSignatures.length &&
        functionSignatures.length == scores.length &&
        scores.length == expirations.length,
      "request parameters length should be exactly the same"
    );

    uint256 len = contractAddresses.length;

    for (uint256 i = 0; i < len; i++) {
      pushResult(
        contractAddresses[i],
        functionSignatures[i],
        scores[i],
        expirations[i]
      );
    }

    emit BatchResultUpdate(len);
  }

  function initialize() public onlyOwner {
    _defaultScore = 128;

    emit Init(_defaultScore);
  }

  function updateDefaultScore(uint8 score) public onlyOwner {
    _defaultScore = score;

    emit DefaultScoreChanged(score);
  }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"length","type":"uint256"}],"name":"BatchResultUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"score","type":"uint8"}],"name":"DefaultScoreChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"defaultScore","type":"uint8"}],"name":"Init","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes4","name":"functionSignature","type":"bytes4"},{"indexed":false,"internalType":"uint8","name":"score","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"expiration","type":"uint256"}],"name":"ResultUpdate","type":"event"},{"inputs":[],"name":"_defaultScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"contractAddresses","type":"address[]"},{"internalType":"bytes4[]","name":"functionSignatures","type":"bytes4[]"},{"internalType":"uint8[]","name":"scores","type":"uint8[]"},{"internalType":"uint256[]","name":"expirations","type":"uint256[]"}],"name":"batchPushResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"functionSignature","type":"bytes4"}],"name":"getSecurityScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"getSecurityScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"functionSignature","type":"string"}],"name":"getSecurityScore","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bytes4[]","name":"functionSignatures","type":"bytes4[]"}],"name":"getSecurityScores","outputs":[{"internalType":"uint8[]","name":"","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"functionSignature","type":"bytes4"},{"internalType":"uint8","name":"score","type":"uint8"},{"internalType":"uint256","name":"expiration","type":"uint256"}],"name":"pushResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"score","type":"uint8"}],"name":"updateDefaultScore","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060006100216100d260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cd6100da60201b60201c565b610225565b600033905090565b6100e86101c160201b60201c565b61015a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6080600260006101000a81548160ff021916908360ff1602179055507f3bc807d01c8f06ce44c6fd15103cf4dcd091f5b83a55f3e7d980f6781746b61c600260009054906101000a900460ff16604051808260ff16815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102096100d260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b611468806102346000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638da5cb5b1161008c57806395c9c1ef1161006657806395c9c1ef146103c2578063a61e5edb14610563578063f2fde38b146107d7578063fa3438e11461081b576100cf565b80638da5cb5b1461027c5780638ec4bf83146102b05780638f32d59b146103a2576100cf565b80630bccd5e9146100d4578063209e82351461010557806337d69c901461018957806352d382431461020d578063715018a6146102685780638129fc1c14610272575b600080fd5b610103600480360360208110156100ea57600080fd5b81019080803560ff16906020019092919050505061083c565b005b6101706004803603604081101561011b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061090e565b604051808260ff16815260200191505060405180910390f35b61020b6004803603608081101561019f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803590602001909291905050506109e1565b005b61024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb5565b604051808260ff16815260200191505060405180910390f35b610270610bcc565b005b61027a610d04565b005b610284610de5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610389600480360360408110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561030357600080fd5b82018360208201111561031557600080fd5b8035906020019184600183028401116401000000008311171561033757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610e0e565b604051808260ff16815260200191505060405180910390f35b6103aa610e93565b60405180821515815260200191505060405180910390f35b61050c600480360360408110156103d857600080fd5b81019080803590602001906401000000008111156103f557600080fd5b82018360208201111561040757600080fd5b8035906020019184602083028401116401000000008311171561042957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561048957600080fd5b82018360208201111561049b57600080fd5b803590602001918460208302840111640100000000831117156104bd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610ef1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561054f578082015181840152602081019050610534565b505050509050019250505060405180910390f35b6107d56004803603608081101561057957600080fd5b810190808035906020019064010000000081111561059657600080fd5b8201836020820111156105a857600080fd5b803590602001918460208302840111640100000000831117156105ca57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561062a57600080fd5b82018360208201111561063c57600080fd5b8035906020019184602083028401116401000000008311171561065e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156106be57600080fd5b8201836020820111156106d057600080fd5b803590602001918460208302840111640100000000831117156106f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561075257600080fd5b82018360208201111561076457600080fd5b8035906020019184602083028401116401000000008311171561078657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611012565b005b610819600480360360208110156107ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111b5565b005b61082361123b565b604051808260ff16815260200191505060405180910390f35b610844610e93565b6108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548160ff021916908360ff1602179055507f5a954041ce25e0dfe2a80164454f5ad757f4a4c19623b99322463def2ffdcf7881604051808260ff16815260200191505060405180910390a150565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020905042816001015411156109c7578060000160009054906101000a900460ff169150506109db565b600260009054906101000a900460ff169150505b92915050565b6109e9610e93565b610a5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60405180604001604052808360ff16815260200182815250600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060008201518160000160006101000a81548160ff021916908360ff160217905550602082015181600101559050508373ffffffffffffffffffffffffffffffffffffffff167f5cedb9e48638a44eddfb9b71ec4e12e13964704e5ce1c5eb96a8a6321abb8f6284848460405180847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018360ff168152602001828152602001935050505060405180910390a250505050565b6000610bc582600060e01b61090e565b9050919050565b610bd4610e93565b610c46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d0c610e93565b610d7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6080600260006101000a81548160ff021916908360ff1602179055507f3bc807d01c8f06ce44c6fd15103cf4dcd091f5b83a55f3e7d980f6781746b61c600260009054906101000a900460ff16604051808260ff16815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610e8b83836040516020018082805190602001908083835b60208310610e4b5780518252602082019150602081019050602083039250610e28565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012061090e565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed561124e565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60608251825114610f4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806113c0603f913960400191505060405180910390fd5b60008351905060608167ffffffffffffffff81118015610f6c57600080fd5b50604051908082528060200260200182016040528015610f9b5781602001602082028036833780820191505090505b50905060005b8281101561100657610fd9868281518110610fb857fe5b6020026020010151868381518110610fcc57fe5b602002602001015161090e565b828281518110610fe557fe5b602002602001019060ff16908160ff16815250508080600101915050610fa1565b50809250505092915050565b61101a610e93565b61108c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8251845114801561109e575081518351145b80156110ab575080518251145b611100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260348152602001806113ff6034913960400191505060405180910390fd5b60008451905060005b818110156111765761116986828151811061112057fe5b602002602001015186838151811061113457fe5b602002602001015186848151811061114857fe5b602002602001015186858151811061115c57fe5b60200260200101516109e1565b8080600101915050611109565b507f632cce04dd84ee52113b9a915d4749e1ecde91d2c8a45c65c00c5d2c52b3bcbb816040518082815260200191505060405180910390a15050505050565b6111bd610e93565b61122f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61123881611256565b50565b600260009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156112dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061139a6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373746865206c656e677468206f662061646472657373657320616e642066756e6374696f6e5369676e617475726573206d757374206265207468652073616d657265717565737420706172616d6574657273206c656e6774682073686f756c642062652065786163746c79207468652073616d65a264697066735822122087462e3831af6acb003b185690abce26dd4279f02da6c1415b5e5c4e96a0d0ac64736f6c634300060c0033

Deployed ByteCode Sourcemap

2734:3190:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5789:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3343:335;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4639:312;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3960:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1988:140;;;:::i;:::-;;5679:104;;;:::i;:::-;;1177:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3684:270;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1543:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4101:532;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4957:716;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2283:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3258:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5789:132;1389:9;:7;:9::i;:::-;1381:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5870:5:::1;5854:13;;:21;;;;;;;;;;;;;;;;;;5889:26;5909:5;5889:26;;;;;;;;;;;;;;;;;;;;5789:132:::0;:::o;3343:335::-;3462:5;3476:21;3500:8;:25;3509:15;3500:25;;;;;;;;;;;;;;;:44;3526:17;3500:44;;;;;;;;;;;;;;;;;3476:68;;3577:15;3557:6;:17;;;:35;3553:120;;;3610:6;:12;;;;;;;;;;;;3603:19;;;;;3553:120;3652:13;;;;;;;;;;;3645:20;;;3343:335;;;;;:::o;4639:312::-;1389:9;:7;:9::i;:::-;1381:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4839:25:::1;;;;;;;;4846:5;4839:25;;;;;;4853:10;4839:25;;::::0;4792:8:::1;:25;4801:15;4792:25;;;;;;;;;;;;;;;:44;4818:17;4792:44;;;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4891:15;4878:67;;;4908:17;4927:5;4934:10;4878:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4639:312:::0;;;;:::o;3960:135::-;4032:5;4053:36;4070:15;4087:1;4053:36;;:16;:36::i;:::-;4046:43;;3960:135;;;:::o;1988:140::-;1389:9;:7;:9::i;:::-;1381:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2087:1:::1;2050:40;;2071:6;::::0;::::1;;;;;;;;2050:40;;;;;;;;;;;;2118:1;2101:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1988:140::o:0;5679:104::-;1389:9;:7;:9::i;:::-;1381:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5741:3:::1;5725:13;;:19;;;;;;;;;;;;;;;;;;5758;5763:13;;;;;;;;;;;5758:19;;;;;;;;;;;;;;;;;;;;5679:104::o:0;1177:79::-;1215:7;1242:6;;;;;;;;;;;1235:13;;1177:79;:::o;3684:270::-;3804:5;3832:116;3859:15;3919:17;3902:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3892:46;;;;;;3832:16;:116::i;:::-;3818:130;;3684:270;;;;:::o;1543:94::-;1583:4;1623:6;;;;;;;;;;;1607:22;;:12;:10;:12::i;:::-;:22;;;1600:29;;1543:94;:::o;4101:532::-;4228:14;4296:9;:16;4267:18;:25;:45;4251:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4402:11;4416:9;:16;4402:30;;4441:21;4477:3;4465:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4441:40;;4495:9;4490:116;4514:3;4510:1;:7;4490:116;;;4545:53;4562:9;4572:1;4562:12;;;;;;;;;;;;;;4576:18;4595:1;4576:21;;;;;;;;;;;;;;4545:16;:53::i;:::-;4533:6;4540:1;4533:9;;;;;;;;;;;;;:65;;;;;;;;;;;4519:3;;;;;;;4490:116;;;;4621:6;4614:13;;;;4101:532;;;;:::o;4957:716::-;1389:9;:7;:9::i;:::-;1381:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5200:18:::1;:25;5172:17;:24;:53;:108;;;;;5267:6;:13;5238:18;:25;:42;5172:108;:156;;;;;5310:11;:18;5293:6;:13;:35;5172:156;5156:242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5407:11;5421:17;:24;5407:38;;5459:9;5454:178;5478:3;5474:1;:7;5454:178;;;5497:127;5518:17;5536:1;5518:20;;;;;;;;;;;;;;5549:18;5568:1;5549:21;;;;;;;;;;;;;;5581:6;5588:1;5581:9;;;;;;;;;;;;;;5601:11;5613:1;5601:14;;;;;;;;;;;;;;5497:10;:127::i;:::-;5483:3;;;;;;;5454:178;;;;5645:22;5663:3;5645:22;;;;;;;;;;;;;;;;;;1446:1;4957:716:::0;;;;:::o;2283:109::-;1389:9;:7;:9::i;:::-;1381:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2356:28:::1;2375:8;2356:18;:28::i;:::-;2283:109:::0;:::o;3258:26::-;;;;;;;;;;;;;:::o;338:98::-;383:15;418:10;411:17;;338:98;:::o;2498:229::-;2592:1;2572:22;;:8;:22;;;;2564:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2682:8;2653:38;;2674:6;;;;;;;;;;2653:38;;;;;;;;;;;;2711:8;2702:6;;:17;;;;;;;;;;;;;;;;;;2498:229;:::o

Swarm Source

ipfs://87462e3831af6acb003b185690abce26dd4279f02da6c1415b5e5c4e96a0d0ac
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.