Contract 0xc318fc4ed80244091d81f72a4eae6645bbdac217 6

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x161ed6424dacf41de8edd6994ef7bdbbd009319ebbb231a65052a82bbf6854a4Create Regular V...471011852023-09-03 16:29:4621 days 5 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.541582962773 121.673249145
0xe1c2e5f84b42587a0f5226837dcdf05e92572f297e1a96849b3a99c0cb2f0137Create Regular V...471011672023-09-03 16:29:0621 days 6 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.492126574475 110.562563546
0x67e26a5ec3dca2d1b081e9155b138515729315dc5c684eb715a8b712158ad02cCreate Regular V...471011492023-09-03 16:28:2821 days 6 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.501956062781 112.770884498
0xa5189e7e0608249fb662e5510e4ca6396bfe55f262ef1bebb61dff20ca9e281cCreate Regular V...471011282023-09-03 16:27:4421 days 7 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.514863853842 115.67078575
0x5cdec91a7b1b48182f105882852de5f4c945a7ee4ebe053c341abd28c1508a98Create Regular V...471011062023-09-03 16:26:5821 days 8 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.498959063923 112.097267955
0xce6348c87e0d544b6c69f641f0c63ed3b8206ad4a9b743706ab6ce9dc12fe5e2Create Regular V...471010732023-09-03 16:25:4821 days 9 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.523100833626 117.521012352
0xbae4abea521f4099f254d33c684efb92889b290545eb9774b5cba283bfaa0696Create Regular V...471010552023-09-03 16:25:0821 days 10 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.543420513232 122.086077373
0x6a30582b6fbf3f53bdb71fe7b69258bb2d3d4da19478981a0f301163edeb618bCreate Regular V...471010002023-09-03 16:23:1221 days 11 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.55314888851 124.272346154
0x8b47ffc0241ba9a2dea37608bf74ab9981d90dffcb25f2bc5e2fc652cfb11404Create Regular V...471009792023-09-03 16:22:2821 days 12 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.513368624574 115.33525194
0xaeac2e4c7f910a3aff9b682ffadc60b8f2e17826277c6a4a42e3f89f97939db9Create Regular V...471009552023-09-03 16:21:3621 days 13 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.547545545461 123.013479687
0x5bfcc2a6f2004f505264278d78cd3bd3fb2e2ded269526983bf9b6e2f4313721Create Regular V...471008882023-09-03 16:18:4221 days 16 mins ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.536195425166 119.097795443
0xfb2925cd077746964847d2e5d10fa89360a837e9991ec93cc79e0a6956e6ebf7Create Regular V...469793432023-08-31 14:31:1624 days 2 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.773117282548 173.017500661
0x30378d2c98d02f6a9fd57c1d8f3a6274b669b4433efb4556e066ffdd8c855147Create Regular V...432088482023-05-27 12:03:17120 days 4 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC1.016308445741 217.690661579
0x9d3dbe591c41fa076aa12d50176bff3b9cd14143c5dd25958a4f5738d8322a12Create Regular V...432087872023-05-27 12:01:03120 days 4 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.789358257941 165.129661659
0xc2fa06bfa9153e210fb378fd68b977d93cbf4629329541b7b2ed23d393280bc4Create Regular V...432087312023-05-27 11:59:03120 days 4 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.821874144158 168.781650206
0xd17461c85579b7f8f169c22293a98d5f454ed3807d52b89d2dfe67675e8129d8Create Regular V...420097982023-04-27 6:24:44150 days 10 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC2.745962024976 577.113623806
0x7909193626395aa6bfdcd1b6b7521e7794666f2e310a5e3598c44950589ced74Create Regular V...420097512023-04-27 6:22:54150 days 10 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC2.4737340763 505.682089305
0xe0c0d05f3fc7784b3eadf470e96b01bf17fa526a93f1a8da5d32a511ec3ec63cCreate Regular V...420097012023-04-27 6:21:08150 days 10 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC2.59092701886 529.639493384
0x55b9997bd98e8d345f03824b2c0c32c74a9b403a6917faec85e437cec4bbf1b7Create Regular V...420096102023-04-27 6:17:54150 days 10 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC3.122224250896 659.317609019
0xc4093b69ec7dadcb1938c654d2305e7d862b9d3a1064f44fb1e114a58909d382Create Regular V...420095602023-04-27 6:16:08150 days 10 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.01252098539 489.464266073
0xc1d27d36c51924a658fe302743747e82668e20e847bd0da798e0fa0fb5ed58a3Create Regular V...420095302023-04-27 6:15:04150 days 10 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.012311037988 481.257104437
0xc27a991d9cb213cb4e3311f22e774810b39f530de234b878095dcc3e81f5b7bdCreate Regular V...420092452023-04-27 6:04:55150 days 10 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC2.288369267751 483.235565245
0x802b2955ab25ad00197c3fd46db7cb0c85e66a6122bf645ad8e1b9156fd8a61fCreate Regular V...417824962023-04-21 10:26:47156 days 6 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC1.512823965259 307.043140067
0x00f7c9a856f570d9b3e0f5cb6eadd209aae77b5598d2e4dcaee458bac7356a28Create Regular V...417823602023-04-21 10:21:57156 days 6 hrs ago0x6a74649acfd7822ae8fb78463a9f2192752e5aa2 IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC1.355130975361 278.652066167
0xd333f4b64b2eaf80031003757a0017f5ee795a9c15f787ae13a107d90b40705eTransfer Ownersh...413731272023-04-10 15:53:17167 days 41 mins ago0xf00dd244228f51547f0563e60bca65a30fbf5f7f IN  0xc318fc4ed80244091d81f72a4eae6645bbdac2170 MATIC0.01019276355
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MegaFactory

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 9 : MegaFactory.sol
// SPDX-License-Identifier: Unlicense
pragma solidity 0.6.12;

import "@openzeppelin/contracts/access/Ownable.sol";
import "./interface/IStrategyFactory.sol";
import "./interface/IVaultFactory.sol";
import "./interface/IPoolFactory.sol";

import "../interface/IVault.sol";
import "../inheritance/Governable.sol";

contract MegaFactory is Ownable {

  enum VaultType {
    None,
    Regular
  }

  enum StrategyType {
    None,
    Upgradable
  }

  address public potPoolFactory;
  mapping(uint256 => address) public vaultFactories;
  mapping(uint256 => address) public strategyFactories;

  struct CompletedDeployment {
    VaultType vaultType;
    address Underlying;
    address NewVault;
    address NewStrategy;
    address NewPool;
  }

  event DeploymentCompleted(string id);

  mapping (string => CompletedDeployment) public completedDeployments;
  mapping (address => bool) public authorizedDeployers;

  address public multisig;
  address public actualStorage;

  /* methods to make compatible with Storage */
  function governance() external view returns (address) {
    return address(this); // fake governance
  }

  function isGovernance(address addr) external view returns (bool) {
    return addr == address(this); // fake governance
  }

  function isController(address addr) external view returns (bool) {
    return addr == address(this); // fake controller
  }

  modifier onlyAuthorizedDeployer(string memory id) {
    require(completedDeployments[id].vaultType == VaultType.None, "cannot reuse id");
    require(authorizedDeployers[msg.sender], "unauthorized deployer");
    _;
    emit DeploymentCompleted(id);
  }

  constructor(address _storage, address _multisig) public {
    multisig = _multisig;
    actualStorage = _storage;
    setAuthorization(owner(), true);
    setAuthorization(multisig, true);
  }

  function setAuthorization(address userAddress, bool isDeployer) public onlyOwner {
    authorizedDeployers[userAddress] = isDeployer;
  }

  function setVaultFactory(uint256 vaultType, address factoryAddress) external onlyOwner {
    vaultFactories[vaultType] = factoryAddress;
  }

  function setStrategyFactory(uint256 strategyType, address factoryAddress) external onlyOwner {
    strategyFactories[strategyType] = factoryAddress;
  }

  function setPotPoolFactory(address factoryAddress) external onlyOwner {
    potPoolFactory = factoryAddress;
  }

  function createRegularVault(string calldata id, address underlying) external onlyAuthorizedDeployer(id) {
    address vault = IVaultFactory(vaultFactories[uint256(VaultType.Regular)]).deploy(
     actualStorage,
     underlying
    );

    completedDeployments[id] = CompletedDeployment(
      VaultType.Regular,
      underlying,
      vault,
      address(0),
      IPoolFactory(potPoolFactory).deploy(actualStorage, vault)
    );
  }

  function createRegularVaultUsingUpgradableStrategy(string calldata id, address underlying, address strategyImplementation) external onlyAuthorizedDeployer(id) {
    address vault = IVaultFactory(vaultFactories[uint256(VaultType.Regular)]).deploy(
     address(this), // using this as initial storage, then switching to actualStorage
     underlying
    );

    address strategy = IStrategyFactory(strategyFactories[uint256(StrategyType.Upgradable)]).deploy(actualStorage, vault, strategyImplementation);
    IVault(vault).setStrategy(strategy);
    Governable(vault).setStorage(actualStorage);

    completedDeployments[id] = CompletedDeployment(
      VaultType.Regular,
      underlying,
      vault,
      strategy,
      IPoolFactory(potPoolFactory).deploy(actualStorage, vault)
    );
  }
}

File 2 of 9 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

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

    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 virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the 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 virtual 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 virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

File 3 of 9 : IStrategyFactory.sol
// SPDX-License-Identifier: Unlicense
pragma solidity 0.6.12;

interface IStrategyFactory {
  function deploy(address _storage, address _vault, address _providedStrategyAddress) external returns (address);
}

File 4 of 9 : IVaultFactory.sol
// SPDX-License-Identifier: Unlicense
pragma solidity 0.6.12;

interface IVaultFactory {
  function deploy(address _storage, address _underlying) external returns (address);
  function info(address vault) external view returns(address Underlying, address NewVault);
}

File 5 of 9 : IPoolFactory.sol
// SPDX-License-Identifier: Unlicense
pragma solidity 0.6.12;

interface IPoolFactory {
  function deploy(address _storage, address _vault) external returns (address);
}

File 6 of 9 : IVault.sol
//SPDX-License-Identifier: Unlicense

pragma solidity 0.6.12;

interface IVault {

    function initializeVault(
      address _storage,
      address _underlying,
      uint256 _toInvestNumerator,
      uint256 _toInvestDenominator
    ) external ;

    function underlyingBalanceInVault() external view returns (uint256);
    function underlyingBalanceWithInvestment() external view returns (uint256);

    function underlying() external view returns (address);
    function strategy() external view returns (address);

    function setStrategy(address _strategy) external;
    function announceStrategyUpdate(address _strategy) external;
    function setVaultFractionToInvest(uint256 numerator, uint256 denominator) external;

    function deposit(uint256 amountWei) external;
    function depositFor(uint256 amountWei, address holder) external;

    function withdrawAll() external;
    function withdraw(uint256 numberOfShares) external;
    function getPricePerFullShare() external view returns (uint256);

    function underlyingBalanceWithInvestmentForHolder(address holder) view external returns (uint256);

    // hard work should be callable only by the controller (by the hard worker) or by governance
    function doHardWork() external;
}

File 7 of 9 : Governable.sol
//SPDX-License-Identifier: Unlicense

pragma solidity 0.6.12;

import "./Storage.sol";

contract Governable {

  Storage public store;

  constructor(address _store) public {
    require(_store != address(0), "new storage shouldn't be empty");
    store = Storage(_store);
  }

  modifier onlyGovernance() {
    require(store.isGovernance(msg.sender), "Not governance");
    _;
  }

  function setStorage(address _store) public onlyGovernance {
    require(_store != address(0), "new storage shouldn't be empty");
    store = Storage(_store);
  }

  function governance() public view returns (address) {
    return store.governance();
  }
}

File 8 of 9 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

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

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

File 9 of 9 : Storage.sol
//SPDX-License-Identifier: Unlicense

pragma solidity 0.6.12;

contract Storage {

  address public governance;
  address public controller;

  constructor() public {
    governance = msg.sender;
  }

  modifier onlyGovernance() {
    require(isGovernance(msg.sender), "Not governance");
    _;
  }

  function setGovernance(address _governance) public onlyGovernance {
    require(_governance != address(0), "new governance shouldn't be empty");
    governance = _governance;
  }

  function setController(address _controller) public onlyGovernance {
    require(_controller != address(0), "new controller shouldn't be empty");
    controller = _controller;
  }

  function isGovernance(address account) public view returns (bool) {
    return account == governance;
  }

  function isController(address account) public view returns (bool) {
    return account == controller;
  }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_storage","type":"address"},{"internalType":"address","name":"_multisig","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"id","type":"string"}],"name":"DeploymentCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"actualStorage","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorizedDeployers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"completedDeployments","outputs":[{"internalType":"enum MegaFactory.VaultType","name":"vaultType","type":"uint8"},{"internalType":"address","name":"Underlying","type":"address"},{"internalType":"address","name":"NewVault","type":"address"},{"internalType":"address","name":"NewStrategy","type":"address"},{"internalType":"address","name":"NewPool","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"id","type":"string"},{"internalType":"address","name":"underlying","type":"address"}],"name":"createRegularVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"id","type":"string"},{"internalType":"address","name":"underlying","type":"address"},{"internalType":"address","name":"strategyImplementation","type":"address"}],"name":"createRegularVaultUsingUpgradableStrategy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isController","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isGovernance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"multisig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"potPoolFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bool","name":"isDeployer","type":"bool"}],"name":"setAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"factoryAddress","type":"address"}],"name":"setPotPoolFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"strategyType","type":"uint256"},{"internalType":"address","name":"factoryAddress","type":"address"}],"name":"setStrategyFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"vaultType","type":"uint256"},{"internalType":"address","name":"factoryAddress","type":"address"}],"name":"setVaultFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"strategyFactories","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"vaultFactories","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b50604051620015a0380380620015a0833981810160405260408110156200003757600080fd5b50805160209091015160006200004c620000fd565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b038084166001600160a01b0319928316179092556007805492851692909116919091179055620000dc620000d462000101565b600162000110565b600654620000f5906001600160a01b0316600162000110565b5050620001b4565b3390565b6000546001600160a01b031690565b6200011a620000fd565b6001600160a01b03166200012d62000101565b6001600160a01b03161462000189576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6113dc80620001c46000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638da5cb5b116100ad578063dee1f0e411610071578063dee1f0e4146103e2578063e43d57c91461045f578063eecea00014610467578063f2fde38b14610495578063fecc8bc1146104bb57610121565b80638da5cb5b14610359578063ab78f2c414610361578063b429afeb146103e2578063b70fb1a11461041c578063d42ab69c1461043957610121565b806340122e7c116100f457806340122e7c146101c15780634783c35b146102c85780635aa6e675146102d057806370acd6e9146102d8578063715018a61461035157610121565b806305bbd1b41461012657806319c03ee61461015f57806338223374146101675780633ffaef3a14610195575b600080fd5b6101436004803603602081101561013c57600080fd5b50356104e1565b604080516001600160a01b039092168252519081900360200190f35b6101436104fc565b6101936004803603604081101561017d57600080fd5b50803590602001356001600160a01b031661050b565b005b610193600480360360408110156101ab57600080fd5b50803590602001356001600160a01b031661059b565b610267600480360360208110156101d757600080fd5b8101906020810181356401000000008111156101f257600080fd5b82018360208201111561020457600080fd5b8035906020019184600183028401116401000000008311171561022657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061062b945050505050565b6040518086600181111561027757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019550505050505060405180910390f35b610143610678565b610143610687565b610193600480360360408110156102ee57600080fd5b81019060208101813564010000000081111561030957600080fd5b82018360208201111561031b57600080fd5b8035906020019184600183028401116401000000008311171561033d57600080fd5b9193509150356001600160a01b031661068b565b610193610a9f565b610143610b4b565b6101936004803603606081101561037757600080fd5b81019060208101813564010000000081111561039257600080fd5b8201836020820111156103a457600080fd5b803590602001918460018302840111640100000000831117156103c657600080fd5b91935091506001600160a01b0381358116916020013516610b5a565b610408600480360360208110156103f857600080fd5b50356001600160a01b03166110f9565b604080519115158252519081900360200190f35b6101436004803603602081101561043257600080fd5b503561110a565b6104086004803603602081101561044f57600080fd5b50356001600160a01b0316611125565b61014361113a565b6101936004803603604081101561047d57600080fd5b506001600160a01b0381351690602001351515611149565b610193600480360360208110156104ab57600080fd5b50356001600160a01b03166111d6565b610193600480360360208110156104d157600080fd5b50356001600160a01b03166112d8565b6002602052600090815260409020546001600160a01b031681565b6001546001600160a01b031681565b61051361135c565b6001600160a01b0316610524610b4b565b6001600160a01b03161461056d576040805162461bcd60e51b81526020600482018190526024820152600080516020611387833981519152604482015290519081900360640190fd5b60009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6105a361135c565b6001600160a01b03166105b4610b4b565b6001600160a01b0316146105fd576040805162461bcd60e51b81526020600482018190526024820152600080516020611387833981519152604482015290519081900360640190fd5b60009182526002602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b8051602081830181018051600482529282019190930120915280546001820154600283015460039093015460ff8316936101009093046001600160a01b0390811693928116928116911685565b6006546001600160a01b031681565b3090565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506106c7915050565b6004826040518082805190602001908083835b602083106106f95780518252601f1990920191602091820191016106da565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205460ff16915050600181111561073657fe5b1461077a576040805162461bcd60e51b815260206004820152600f60248201526e18d85b9b9bdd081c995d5cd9481a59608a1b604482015290519081900360640190fd5b3360009081526005602052604090205460ff166107d6576040805162461bcd60e51b81526020600482015260156024820152743ab730baba3437b934bd32b2103232b83637bcb2b960591b604482015290519081900360640190fd5b60016000908152600260209081527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0546007546040805163545e7c6160e01b81526001600160a01b03928316600482015287831660248201529051919092169263545e7c61926044808201939182900301818787803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b505050506040513d602081101561088257600080fd5b50516040805160a08101825260018082526001600160a01b038781166020808501919091528186168486018190526000606086018190529354600754875163545e7c6160e01b8152908516600482015260248101929092529551969750939560808701959092169363545e7c6193604480830194928390030190829087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b50516001600160a01b03169052604051600490879087908083838082843791909101948552505060405192839003602001909220835181549193509150829060ff19166001838181111561098757fe5b021790555060208281015182546001600160a01b0391821661010002610100600160a81b03199091161783556040808501516001850180549184166001600160a01b0319928316179055606086015160028601805491851691831691909117905560809095015160039094018054949092169390941692909217909155815181815284518183015284517fc9f9f520a9da633b7698afd7088c66455820c4cd1e2b6ab2bdd5a3235f1f5a5994508593919283928301919085019080838360005b83811015610a5f578181015183820152602001610a47565b50505050905090810190601f168015610a8c5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150505050565b610aa761135c565b6001600160a01b0316610ab8610b4b565b6001600160a01b031614610b01576040805162461bcd60e51b81526020600482018190526024820152600080516020611387833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250610b96915050565b6004826040518082805190602001908083835b60208310610bc85780518252601f199092019160209182019101610ba9565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205460ff169150506001811115610c0557fe5b14610c49576040805162461bcd60e51b815260206004820152600f60248201526e18d85b9b9bdd081c995d5cd9481a59608a1b604482015290519081900360640190fd5b3360009081526005602052604090205460ff16610ca5576040805162461bcd60e51b81526020600482015260156024820152743ab730baba3437b934bd32b2103232b83637bcb2b960591b604482015290519081900360640190fd5b60016000908152600260209081527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0546040805163545e7c6160e01b81523060048201526001600160a01b0388811660248301529151919092169263545e7c61926044808201939182900301818787803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b505050506040513d6020811015610d4c57600080fd5b505160016000908152600360209081527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c546007546040805163d9181cd360e01b81526001600160a01b039283166004820152828716602482015289831660448201529051959650939491169263d9181cd392606480830193919282900301818787803b158015610ddc57600080fd5b505af1158015610df0573d6000803e3d6000fd5b505050506040513d6020811015610e0657600080fd5b5051604080516319d0806560e11b81526001600160a01b0380841660048301529151929350908416916333a100ca9160248082019260009290919082900301818387803b158015610e5657600080fd5b505af1158015610e6a573d6000803e3d6000fd5b505060075460408051639137c1a760e01b81526001600160a01b03928316600482015290519186169350639137c1a7925060248082019260009290919082900301818387803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b505050506040518060a00160405280600180811115610eeb57fe5b81526001600160a01b0380881660208084019190915285821660408085018290528684166060860152600154600754825163545e7c6160e01b815290861660048201526024810193909352905160809095019493169263545e7c61926044808401939192918290030181600087803b158015610f6657600080fd5b505af1158015610f7a573d6000803e3d6000fd5b505050506040513d6020811015610f9057600080fd5b50516001600160a01b03169052604051600490899089908083838082843791909101948552505060405192839003602001909220835181549193509150829060ff191660018381811115610fe057fe5b02179055506020828101518254610100600160a81b0319166101006001600160a01b03928316021783556040808501516001850180546001600160a01b031990811692851692909217905560608601516002860180548316918516919091179055608090950151600390940180549095169390911692909217909255805182815285518184015285517fc9f9f520a9da633b7698afd7088c66455820c4cd1e2b6ab2bdd5a3235f1f5a599550869450909283928301919085019080838360005b838110156110b85781810151838201526020016110a0565b50505050905090810190601f1680156110e55780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6001600160a01b0381163014919050565b6003602052600090815260409020546001600160a01b031681565b60056020526000908152604090205460ff1681565b6007546001600160a01b031681565b61115161135c565b6001600160a01b0316611162610b4b565b6001600160a01b0316146111ab576040805162461bcd60e51b81526020600482018190526024820152600080516020611387833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6111de61135c565b6001600160a01b03166111ef610b4b565b6001600160a01b031614611238576040805162461bcd60e51b81526020600482018190526024820152600080516020611387833981519152604482015290519081900360640190fd5b6001600160a01b03811661127d5760405162461bcd60e51b81526004018080602001828103825260268152602001806113616026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6112e061135c565b6001600160a01b03166112f1610b4b565b6001600160a01b03161461133a576040805162461bcd60e51b81526020600482018190526024820152600080516020611387833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a264697066735822122040c9d9b9e99a23d5637d0f15a1c9bc7926da4054b80ed73abee2375dddc54e7164736f6c634300060c0033000000000000000000000000c95cbe4ca30055c787cb784be99d6a8494d0d19700000000000000000000000039cc360806b385c96969ce9ff26c23476017f652

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

000000000000000000000000c95cbe4ca30055c787cb784be99d6a8494d0d19700000000000000000000000039cc360806b385c96969ce9ff26c23476017f652

-----Decoded View---------------
Arg [0] : _storage (address): 0xc95cbe4ca30055c787cb784be99d6a8494d0d197
Arg [1] : _multisig (address): 0x39cc360806b385c96969ce9ff26c23476017f652

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c95cbe4ca30055c787cb784be99d6a8494d0d197
Arg [1] : 00000000000000000000000039cc360806b385c96969ce9ff26c23476017f652


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.