ETH Price: $3,592.67 (+4.40%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer105169282020-07-23 17:03:171625 days ago1595523797IN
0x243Dd27b...87b109765
0.10237124 ETH0.002415115

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
105169512020-07-23 17:07:071625 days ago1595524027
0x243Dd27b...87b109765
0.10237124 ETH
105169512020-07-23 17:07:071625 days ago1595524027  Contract Creation0 ETH
Loading...
Loading

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

Contract Name:
DepositContract

Compiler Version
v0.5.7+commit.6da8b019

Optimization Enabled:
Yes with 10000 runs

Other Settings:
petersburg EvmVersion, Apache-2.0 license
/**
 *Submitted for verification at Etherscan.io on 2020-07-18
*/

/*
 * Copyright 2019 Dolomite
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

pragma solidity 0.5.7;
pragma experimental ABIEncoderV2;

interface IDepositContractRegistry {
  function operatorOf(address owner, address operator) external returns (bool);
}

/**
 * @title DepositContract
 *
 * Allows owner, parent (DepositContractRegistry) and the 
 * current set version (presumably of Dolomite Direct) to
 * call contract functions and transfer Ether from the context
 * of this address (pass-though functions).
 *
 * Using CREATE-2 this address can be sent tokens/Ether before it
 * is created.
 */
contract DepositContract {
  address public owner;
  address public parent;
  address public version;

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

  /*
   * Contract can receive Ether
   */
  function() external payable { }

  /*
   * Set the version that has access to this contracts 
   * `transfer` and `perform` functions. Can only be set by
   * the parent (DepositContractRegistry)
   */
  function setVersion(address newVersion) external {
    require(msg.sender == parent);
    version = newVersion;
  }

  /*
   * Will call a smart contract function from the context of this contract;
   * msg.sender on the receiving end will equal this contract's address.
   *
   * Only the owner, parent (DepositContractRegistry) and version are allowed to call
   * this function. When upgrading versions, make sure the code of the version being
   * upgraded to does not abuse this function.
   *
   * Because the msg.sender of the receiving end will equal this contract's address,
   * this function allows the caller to perform actions such as setting token approvals
   * and wrapping Ether (to WETH).
   *
   * If the signature is an empty string ("" where bytes(signature).length == 0) this method
   * will instead execute the transfer function, passing along the specified value
   */
  function perform(
    address addr, 
    string calldata signature, 
    bytes calldata encodedParams,
    uint value
  ) 
    external 
    returns (bytes memory) 
  {
    require(
      msg.sender == owner || 
      msg.sender == parent || 
      msg.sender == version ||
      IDepositContractRegistry(parent).operatorOf(address(this), msg.sender)
    , "NOT_PERMISSIBLE");

    if (bytes(signature).length == 0) {
      address(uint160(addr)).transfer(value); // convert address to address payable
    } else {
      bytes4 functionSelector = bytes4(keccak256(bytes(signature)));
      bytes memory payload = abi.encodePacked(functionSelector, encodedParams);
      
      (bool success, bytes memory returnData) = addr.call.value(value)(payload);
      require(success, "OPERATION_REVERTED");

      return returnData;
    }
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newVersion","type":"address"}],"name":"setVersion","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"signature","type":"string"},{"name":"encodedParams","type":"bytes"},{"name":"value","type":"uint256"}],"name":"perform","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"parent","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

Deployed Bytecode

0x60806040526004361061005a5760003560e01c80635a5653a0116100435780635a5653a0146100a757806360f96a8f146100d45780638da5cb5b146100e95761005a565b80632a946df81461005c57806354fd4d501461007c575b005b34801561006857600080fd5b5061005a6100773660046104d1565b6100fe565b34801561008857600080fd5b50610091610169565b60405161009e919061070e565b60405180910390f35b3480156100b357600080fd5b506100c76100c23660046104f7565b610185565b60405161009e919061073d565b3480156100e057600080fd5b50610091610425565b3480156100f557600080fd5b50610091610441565b60015473ffffffffffffffffffffffffffffffffffffffff16331461012257600080fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60005460609073ffffffffffffffffffffffffffffffffffffffff163314806101c5575060015473ffffffffffffffffffffffffffffffffffffffff1633145b806101e7575060025473ffffffffffffffffffffffffffffffffffffffff1633145b8061029757506001546040517f2b55879300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632b558793906102459030903390600401610722565b602060405180830381600087803b15801561025f57600080fd5b505af1158015610273573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102979190810190610590565b6102d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102cd9061075e565b60405180910390fd5b846103245760405173ffffffffffffffffffffffffffffffffffffffff88169083156108fc029084906000818181858888f1935050505015801561031e573d6000803e3d6000fd5b5061041b565b600086866040516103369291906106f5565b604051809103902090506060818686604051602001610357939291906106cf565b6040516020818303038152906040529050600060608a73ffffffffffffffffffffffffffffffffffffffff1686846040516103929190610702565b60006040518083038185875af1925050503d80600081146103cf576040519150601f19603f3d011682016040523d82523d6000602084013e6103d4565b606091505b509150915081610410576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102cd9061074e565b935061041b92505050565b9695505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60006104698235610780565b9392505050565b600061046982516107c9565b60008083601f84011261048e57600080fd5b50813567ffffffffffffffff8111156104a657600080fd5b6020830191508360018202830111156104be57600080fd5b9250929050565b600061046982356107ce565b6000602082840312156104e357600080fd5b60006104ef848461045d565b949350505050565b6000806000806000806080878903121561051057600080fd5b600061051c898961045d565b965050602087013567ffffffffffffffff81111561053957600080fd5b61054589828a0161047c565b9550955050604087013567ffffffffffffffff81111561056457600080fd5b61057089828a0161047c565b9350935050606061058389828a016104c5565b9150509295509295509295565b6000602082840312156105a257600080fd5b60006104ef8484610470565b6105b7816107d1565b82525050565b6105b781610780565b6105b76105d28261078b565b6107ce565b60006105e3838561077b565b93506105f08385846107e2565b50500190565b60006106018261076e565b61060b8185610772565b935061061b8185602086016107ee565b6106248161081e565b9093019392505050565b60006106398261076e565b610643818561077b565b93506106538185602086016107ee565b9290920192915050565b600061066a601283610772565b7f4f5045524154494f4e5f52455645525445440000000000000000000000000000815260200192915050565b60006106a3600f83610772565b7f4e4f545f5045524d49535349424c450000000000000000000000000000000000815260200192915050565b60006106db82866105c6565b6004820191506106ec8284866105d7565b95945050505050565b60006104ef8284866105d7565b6000610469828461062e565b6020810161071c82846105bd565b92915050565b6040810161073082856105ae565b61046960208301846105ae565b6020808252810161046981846105f6565b6020808252810161071c8161065d565b6020808252810161071c81610696565b5190565b90815260200190565b919050565b600061071c826107b0565b7fffffffff000000000000000000000000000000000000000000000000000000001690565b73ffffffffffffffffffffffffffffffffffffffff1690565b151590565b90565b600061071c82600061071c82610780565b82818337506000910152565b60005b838110156108095781810151838201526020016107f1565b83811115610818576000848401525b50505050565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169056fea265627a7a72305820482f9b0e9aa587d12eb78f3acc276833c54b24bf190087c42ad64951bcded7106c6578706572696d656e74616cf50037

Deployed Bytecode Sourcemap

1146:2240:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1607:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1607:118:0;;;;;;;;:::i;1227:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1227:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;2523:860;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2523:860:0;;;;;;;;:::i;:::-;;;;;;;;1201:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1201:21:0;;;:::i;1176:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1176:20:0;;;:::i;1607:118::-;1685:6;;;;1671:10;:20;1663:29;;;;;;1699:7;:20;;;;;;;;;;;;;;;1607:118::o;1227:22::-;;;;;;:::o;2523:860::-;2735:5;;2680:12;;2735:5;;2721:10;:19;;:51;;-1:-1:-1;2766:6:0;;;;2752:10;:20;2721:51;:84;;;-1:-1:-1;2798:7:0;;;;2784:10;:21;2721:84;:165;;;-1:-1:-1;2841:6:0;;2816:70;;;;;2841:6;;;;;2816:43;;:70;;2868:4;;2875:10;;2816:70;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2816:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2816:70:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;2816:70:0;;;;;;;;;2705:207;;;;;;;;;;;;;;;;;;;;;;2925:28;2921:457;;2964:38;;:31;;;;:38;;;;;2996:5;;2964:38;;;;2996:5;2964:31;:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2964:38:0;2921:457;;;3063:23;3112:9;;3096:27;;;;;;;;;;;;;;;;3063:61;;3133:20;3173:16;3191:13;;3156:49;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3156::0;;;3133:72;;3223:12;3237:23;3264:4;:9;;3280:5;3287:7;3264:31;;;;;;;;;;;;;;;;;;;;;;;;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;;3222:73:0;;;;3312:7;3304:38;;;;;;;;;;;;;;3360:10;-1:-1:-1;3353:17:0;;-1:-1:-1;;;3353:17:0;2921:457;2523:860;;;;;;;;:::o;1201:21::-;;;;;;:::o;1176:20::-;;;;;;:::o;5:118:-1:-;;72:46;110:6;97:20;72:46;;;63:55;57:66;-1:-1;;;57:66;130:116;;205:36;233:6;227:13;205:36;;267:335;;;381:3;374:4;366:6;362:17;358:27;348:2;;399:1;396;389:12;348:2;-1:-1;419:20;;459:18;448:30;;445:2;;;491:1;488;481:12;445:2;525:4;517:6;513:17;501:29;;575:3;568;560:6;556:16;546:8;542:31;539:40;536:2;;;592:1;589;582:12;536:2;341:261;;;;;;969:118;;1036:46;1074:6;1061:20;1036:46;;1094:241;;1198:2;1186:9;1177:7;1173:23;1169:32;1166:2;;;1214:1;1211;1204:12;1166:2;1249:1;1266:53;1311:7;1291:9;1266:53;;;1256:63;1160:175;-1:-1;;;;1160:175;1342:867;;;;;;;1536:3;1524:9;1515:7;1511:23;1507:33;1504:2;;;1553:1;1550;1543:12;1504:2;1588:1;1605:53;1650:7;1630:9;1605:53;;;1595:63;;1567:97;1723:2;1712:9;1708:18;1695:32;1747:18;1739:6;1736:30;1733:2;;;1779:1;1776;1769:12;1733:2;1807:65;1864:7;1855:6;1844:9;1840:22;1807:65;;;1797:75;;;;1674:204;1937:2;1926:9;1922:18;1909:32;1961:18;1953:6;1950:30;1947:2;;;1993:1;1990;1983:12;1947:2;2021:64;2077:7;2068:6;2057:9;2053:22;2021:64;;;2011:74;;;;1888:203;2122:2;2140:53;2185:7;2176:6;2165:9;2161:22;2140:53;;;2130:63;;2101:98;1498:711;;;;;;;;;2216:257;;2328:2;2316:9;2307:7;2303:23;2299:32;2296:2;;;2344:1;2341;2334:12;2296:2;2379:1;2396:61;2449:7;2429:9;2396:61;;2480:142;2571:45;2610:5;2571:45;;;2566:3;2559:58;2553:69;;;2629:120;2712:31;2737:5;2712:31;;2756:155;2855:50;2874:30;2898:5;2874:30;;;2855:50;;2939:300;;3070:88;3151:6;3146:3;3070:88;;;3063:95;;3163:43;3199:6;3194:3;3187:5;3163:43;;;-1:-1;;3218:16;;3057:182;3246:343;;3356:38;3388:5;3356:38;;;3406:70;3469:6;3464:3;3406:70;;;3399:77;;3481:52;3526:6;3521:3;3514:4;3507:5;3503:16;3481:52;;;3554:29;3576:6;3554:29;;;3545:39;;;;3336:253;-1:-1;;;3336:253;3596:356;;3724:38;3756:5;3724:38;;;3774:88;3855:6;3850:3;3774:88;;;3767:95;;3867:52;3912:6;3907:3;3900:4;3893:5;3889:16;3867:52;;;3931:16;;;;;3704:248;-1:-1;;3704:248;3960:364;;4120:67;4184:2;4179:3;4120:67;;;4220:66;4200:87;;4315:2;4306:12;;4106:218;-1:-1;;4106:218;4333:364;;4493:67;4557:2;4552:3;4493:67;;;4593:66;4573:87;;4688:2;4679:12;;4479:218;-1:-1;;4479:218;4705:416;;4878:73;4947:3;4938:6;4878:73;;;4973:1;4968:3;4964:11;4957:18;;4993:103;5092:3;5083:6;5075;4993:103;;;4986:110;4866:255;-1:-1;;;;;4866:255;5128:282;;5282:103;5381:3;5372:6;5364;5282:103;;5417:262;;5561:93;5650:3;5641:6;5561:93;;5686:213;5804:2;5789:18;;5818:71;5793:9;5862:6;5818:71;;;5775:124;;;;;5906:356;6068:2;6053:18;;6082:79;6057:9;6134:6;6082:79;;;6172:80;6248:2;6237:9;6233:18;6224:6;6172:80;;6269:297;6405:2;6419:47;;;6390:18;;6480:76;6390:18;6542:6;6480:76;;6573:407;6764:2;6778:47;;;6749:18;;6839:131;6749:18;6839:131;;6987:407;7178:2;7192:47;;;7163:18;;7253:131;7163:18;7253:131;;7401:91;7475:12;;7459:33;7500:162;7602:19;;;7651:4;7642:14;;7595:67;7671:144;7806:3;7784:31;-1:-1;7784:31;7995:105;;8064:31;8089:5;8064:31;;8107:151;8186:66;8175:78;;8158:100;8265:128;8345:42;8334:54;;8317:76;8512:92;8585:13;8578:21;;8561:43;8746:79;8815:5;8798:27;8832:129;;8919:37;8950:5;8968:121;9047:37;9078:5;9047:37;;9219:145;9300:6;9295:3;9290;9277:30;-1:-1;9356:1;9338:16;;9331:27;9270:94;9373:268;9438:1;9445:101;9459:6;9456:1;9453:13;9445:101;;;9526:11;;;9520:18;9507:11;;;9500:39;9481:2;9474:10;9445:101;;;9561:6;9558:1;9555:13;9552:2;;;9626:1;9617:6;9612:3;9608:16;9601:27;9552:2;9422:219;;;;;9729:97;9817:2;9797:14;9813:7;9793:28;;9777:49

Swarm Source

bzzr://482f9b0e9aa587d12eb78f3acc276833c54b24bf190087c42ad64951bcded710

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.