ETH Price: $2,692.27 (-1.56%)

Contract

0x023b93Da09A88baC7b5F6CE24681C981De5C4F2C
 

Overview

ETH Balance

0.003 ETH

Eth Value

$8.08 (@ $2,692.27/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Call Impl90426872019-12-03 8:27:121901 days ago1575361632IN
0x023b93Da...1De5C4F2C
0 ETH0.000927755
Transfer90425482019-12-03 7:48:521901 days ago1575359332IN
0x023b93Da...1De5C4F2C
0.002 ETH0.000067263
Transfer90425362019-12-03 7:45:301901 days ago1575359130IN
0x023b93Da...1De5C4F2C
0.002 ETH0.000067263

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
90426872019-12-03 8:27:121901 days ago1575361632
0x023b93Da...1De5C4F2C
0.001 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd6534762...248E67E5B
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
IVTUser

Compiler Version
v0.5.2+commit.1df8f40c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2019-08-26
*/

pragma solidity ^0.5.2;

/**
 * @title IVTUser
 * @dev Contract for upgradeable applications.
 * It handles the creation and upgrading of proxies.
 */
contract IVTUser {

    /// @dev  签名所需最少签名
    uint256 public required;
    /// @dev  owner地址
    address public owner;
    /// @dev  (签名地址==》标志位)
    mapping (address => bool) public signers;
    /// @dev  (交易历史==》标志位)
    mapping (uint256 => bool) public transactions;
    /// @dev  代理地址
    IVTProxyInterface public proxy;

    event Deposit(address _sender, uint256 _value);
  /**
   * @dev Constructor function.
   */
  constructor(address[] memory _signers, IVTProxyInterface _proxy, uint8 _required) public {
    require(_required <= _signers.length && _required > 0 && _signers.length > 0);

    for (uint8 i = 0; i < _signers.length; i++){
        require(_signers[i] != address(0));
        signers[_signers[i]] = true;
    }
    required = _required;
    owner = msg.sender;
    proxy = _proxy;
}

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

/**
 * @dev      充值接口
 * @return   {[null]}
 */
  function() payable external {
      if (msg.value > 0)
          emit Deposit(msg.sender, msg.value);
  }

  /**
   * @dev 向逻辑合约发送请求的通用接口
   * @param _data Data to send as msg.data in the low level call.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   */
  function callImpl(bytes calldata _data)  external onlyOwner {
    address implAddress = proxy.getImplAddress();
    implAddress.delegatecall(_data);// 必须用delegatecall
  }

/**
 * @dev      设置Id
 * @param _id _time to set
 */
  function setTransactionId(uint256 _id) public {
    transactions[_id] = true;
  }

/**
 * @dev      获取多签required
 * @return   {[uint256]}
 */
  function getRequired() public view returns (uint256) {
    return required;
  }

/**
 * @dev      是否包含签名者
 * @param _signer _signer to sign
 * @return   {[bool]}
 */
  function hasSigner(address _signer) public view  returns (bool) {
    return signers[_signer];
  }

/**
 * @dev      是否包含交易Id
 * @param _transactionId _transactionTime to get
 * @return   {[bool]}
 */
  function hasTransactionId(uint256 _transactionId) public view returns (bool) {
    return transactions[_transactionId];
  }

}

/**
 * @title IVTProxyInterface
 * @dev Contract for ProxyInterface
 */
contract IVTProxyInterface {
  function getImplAddress() external view returns (address);
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"getRequired","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_transactionId","type":"uint256"}],"name":"hasTransactionId","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_data","type":"bytes"}],"name":"callImpl","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_signer","type":"address"}],"name":"hasSigner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"signers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"setTransactionId","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxy","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_signers","type":"address[]"},{"name":"_proxy","type":"address"},{"name":"_required","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_sender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Deposit","type":"event"}]

Deployed Bytecode

0x6080604052600436106100ae576000357c01000000000000000000000000000000000000000000000000000000009004806376e747d31161007657806376e747d3146102fb5780638da5cb5b146103365780639ace38c21461038d578063dc8452cd146103e0578063ec5568891461040b576100ae565b80631398a5f6146101255780631ce87fbd146101505780634465ee2c146101a3578063614be26114610229578063736c0d5b14610292575b6000341115610123577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c3334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b005b34801561013157600080fd5b5061013a610462565b6040518082815260200191505060405180910390f35b34801561015c57600080fd5b506101896004803603602081101561017357600080fd5b810190808035906020019092919050505061046b565b604051808215151515815260200191505060405180910390f35b3480156101af57600080fd5b50610227600480360360208110156101c657600080fd5b81019080803590602001906401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b9091929391929390505050610495565b005b34801561023557600080fd5b506102786004803603602081101561024c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061062a565b604051808215151515815260200191505060405180910390f35b34801561029e57600080fd5b506102e1600480360360208110156102b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610680565b604051808215151515815260200191505060405180910390f35b34801561030757600080fd5b506103346004803603602081101561031e57600080fd5b81019080803590602001909291905050506106a0565b005b34801561034257600080fd5b5061034b6106cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561039957600080fd5b506103c6600480360360208110156103b057600080fd5b81019080803590602001909291905050506106f5565b604051808215151515815260200191505060405180910390f35b3480156103ec57600080fd5b506103f5610715565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b5061042061071b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008054905090565b60006003600083815260200190815260200160002060009054906101000a900460ff169050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104f157600080fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637311ad816040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d60208110156105a157600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d806000811461061d576040519150601f19603f3d011682016040523d82523d6000602084013e610622565b606091505b505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b60005481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea165627a7a7230582014cf97f23139e5c5b43687ff828d56e50ed205a2134e78ee8e745604219bb0ae0029

Deployed Bytecode Sourcemap

158:2447:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1251:1;1239:9;:13;1235:65;;;1270:30;1278:10;1290:9;1270:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;1235:65;158:2447;2060:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2060:81:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2475:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2475:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2475:125:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1654:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1654:179:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1654:179:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1654:179:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1654:179:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1654:179:0;;;;;;;;;;;;:::i;:::-;;2251:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2251:100:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2251:100:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;352:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;352:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;352:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1900:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1900:83:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1900:83:0;;;;;;;;;;;;;;;;;:::i;:::-;;281:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;447:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;447:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;447:45:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;224:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;527:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;527:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2060:81;2104:7;2127:8;;2120:15;;2060:81;:::o;2475:125::-;2546:4;2566:12;:28;2579:14;2566:28;;;;;;;;;;;;;;;;;;;;;2559:35;;2475:125;;;:::o;1654:179::-;1112:5;;;;;;;;;;;1098:19;;:10;:19;;;1090:28;;;;;;;;1721:19;1743:5;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1743:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1743:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1743:22:0;;;;;;;;;;;;;;;;1721:44;;1772:11;:24;;1797:5;;1772:31;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;1772:31:0;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;1772:31:0;;1125:1;1654:179;;:::o;2251:100::-;2309:4;2329:7;:16;2337:7;2329:16;;;;;;;;;;;;;;;;;;;;;;;;;2322:23;;2251:100;;;:::o;352:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;1900:83::-;1973:4;1953:12;:17;1966:3;1953:17;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;1900:83;:::o;281:20::-;;;;;;;;;;;;;:::o;447:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;224:23::-;;;;:::o;527:30::-;;;;;;;;;;;;;:::o

Swarm Source

bzzr://14cf97f23139e5c5b43687ff828d56e50ed205a2134e78ee8e745604219bb0ae

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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