ETH Price: $1,858.56 (-8.73%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast180474622023-09-02 7:51:59909 days ago1693641119IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0012998712.70620411
Cast180474552023-09-02 7:50:35909 days ago1693641035IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0011072214.02417656
Cast180474482023-09-02 7:49:11909 days ago1693640951IN
0xe8D33Ecc...2d3d0438e
0 ETH0.002654713.20905776
Cast180474422023-09-02 7:47:59909 days ago1693640879IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0022664412.50823579
Cast180474082023-09-02 7:41:11909 days ago1693640471IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0010039912.71668899
Cast180472502023-09-02 7:08:35909 days ago1693638515IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0024960912.53041458
Cast180472412023-09-02 7:06:47909 days ago1693638407IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0026052514.39417128
Cast180471082023-09-02 6:39:59910 days ago1693636799IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0027388513.74905715
Cast180470862023-09-02 6:35:35910 days ago1693636535IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0023368312.91283985
Cast174190672023-06-06 4:32:59998 days ago1686025979IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0019849122.38219139
Cast174190572023-06-06 4:30:59998 days ago1686025859IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0023763822.46723135
Cast174190142023-06-06 4:22:23998 days ago1686025343IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0049557821.27950807
Cast174190132023-06-06 4:22:11998 days ago1686025331IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0054959121.76479681
Cast151567552022-07-16 23:46:291322 days ago1658015189IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0012487515.81678805
Cast151567362022-07-16 23:42:521322 days ago1658014972IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0041998721.08339516
Cast149815892022-06-17 22:22:011351 days ago1655504521IN
0xe8D33Ecc...2d3d0438e
0 ETH0.005501230.39439409
Cast149815562022-06-17 22:14:111351 days ago1655504051IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0027190934.44031754
Cast149815482022-06-17 22:11:231351 days ago1655503883IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0061082630.66351396
Cast149567532022-06-13 15:42:301355 days ago1655134950IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0172594895.35941122
Cast149566372022-06-13 15:12:191355 days ago1655133139IN
0xe8D33Ecc...2d3d0438e
0 ETH0.01287995121.77211879
Cast149565392022-06-13 14:45:251355 days ago1655131525IN
0xe8D33Ecc...2d3d0438e
0 ETH0.00885033112.09903453
Cast149565322022-06-13 14:43:071355 days ago1655131387IN
0xe8D33Ecc...2d3d0438e
0 ETH0.019086595.81434531
Cast149561662022-06-13 13:16:441355 days ago1655126204IN
0xe8D33Ecc...2d3d0438e
0 ETH0.0156018586.20096035
Cast149561062022-06-13 13:01:441355 days ago1655125304IN
0xe8D33Ecc...2d3d0438e
0 ETH0.007516595.20471618
Cast149560882022-06-13 12:57:231355 days ago1655125043IN
0xe8D33Ecc...2d3d0438e
0 ETH0.02173441109.10688059
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer180474552023-09-02 7:50:35909 days ago1693641035
0xe8D33Ecc...2d3d0438e
80 ETH
Transfer180474482023-09-02 7:49:11909 days ago1693640951
0xe8D33Ecc...2d3d0438e
80 ETH
Transfer180474082023-09-02 7:41:11909 days ago1693640471
0xe8D33Ecc...2d3d0438e
80 ETH
Transfer180472502023-09-02 7:08:35909 days ago1693638515
0xe8D33Ecc...2d3d0438e
40 ETH
Transfer180471082023-09-02 6:39:59910 days ago1693636799
0xe8D33Ecc...2d3d0438e
40 ETH
Transfer151567552022-07-16 23:46:291322 days ago1658015189
0xe8D33Ecc...2d3d0438e
80 ETH
Transfer151567362022-07-16 23:42:521322 days ago1658014972
0xe8D33Ecc...2d3d0438e
80 ETH
-149815562022-06-17 22:14:111351 days ago1655504051
0xe8D33Ecc...2d3d0438e
80 ETH
-149815482022-06-17 22:11:231351 days ago1655503883
0xe8D33Ecc...2d3d0438e
80 ETH
-149565392022-06-13 14:45:251355 days ago1655131525
0xe8D33Ecc...2d3d0438e
80 ETH
-149565322022-06-13 14:43:071355 days ago1655131387
0xe8D33Ecc...2d3d0438e
80 ETH
-149561062022-06-13 13:01:441355 days ago1655125304
0xe8D33Ecc...2d3d0438e
27.7 ETH
-149560882022-06-13 12:57:231355 days ago1655125043
0xe8D33Ecc...2d3d0438e
27.7 ETH
-149559612022-06-13 12:23:531355 days ago1655123033
0xe8D33Ecc...2d3d0438e
37.41940407 ETH
-149500832022-06-12 12:19:351356 days ago1655036375
0xe8D33Ecc...2d3d0438e
33.7 ETH
-149440072022-06-11 11:26:321357 days ago1654946792
0xe8D33Ecc...2d3d0438e
36 ETH
-147605382022-05-12 10:25:081387 days ago1652351108
0xe8D33Ecc...2d3d0438e
96 ETH
-140548382022-01-22 10:23:441497 days ago1642847024
0xe8D33Ecc...2d3d0438e
150 ETH
-140472622022-01-21 6:07:021499 days ago1642745222
0xe8D33Ecc...2d3d0438e
60 ETH
-139828792022-01-11 7:33:361508 days ago1641886416
0xe8D33Ecc...2d3d0438e
52 ETH
-134610762021-10-21 12:41:301590 days ago1634820090
0xe8D33Ecc...2d3d0438e
110.80296411 ETH
-134610662021-10-21 12:39:421590 days ago1634819982
0xe8D33Ecc...2d3d0438e
100 ETH
-134557142021-10-20 16:37:491591 days ago1634747869
0xe8D33Ecc...2d3d0438e
34.3 ETH
-130298842021-08-15 12:55:331657 days ago1629032133
0xe8D33Ecc...2d3d0438e
120 ETH
-130298652021-08-15 12:50:551657 days ago1629031855
0xe8D33Ecc...2d3d0438e
5 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Minimal Proxy Contract for 0x939daad09fc4a9b8f8a9352a485dab2df4f4b3f8

Contract Name:
InstaAccount

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-03-26
*/

pragma solidity ^0.6.0;
pragma experimental ABIEncoderV2;

/**
 * @title InstaAccount.
 * @dev DeFi Smart Account Wallet.
 */

interface IndexInterface {
    function connectors(uint version) external view returns (address);
    function check(uint version) external view returns (address);
    function list() external view returns (address);
}

interface ConnectorsInterface {
    function isConnector(address[] calldata logicAddr) external view returns (bool);
    function isStaticConnector(address[] calldata logicAddr) external view returns (bool);
}

interface CheckInterface {
    function isOk() external view returns (bool);
}

interface ListInterface {
    function addAuth(address user) external;
    function removeAuth(address user) external;
}


contract Record {

    event LogEnable(address indexed user);
    event LogDisable(address indexed user);
    event LogSwitchShield(bool _shield);

    // InstaIndex Address.
    address public constant instaIndex = 0x2971AdFa57b20E5a416aE5a708A8655A9c74f723;
    // The Account Module Version.
    uint public constant version = 1;
    // Auth Module(Address of Auth => bool).
    mapping (address => bool) private auth;
    // Is shield true/false.
    bool public shield;

    /**
     * @dev Check for Auth if enabled.
     * @param user address/user/owner.
     */
    function isAuth(address user) public view returns (bool) {
        return auth[user];
    }

    /**
     * @dev Change Shield State.
    */
    function switchShield(bool _shield) external {
        require(auth[msg.sender], "not-self");
        require(shield != _shield, "shield is set");
        shield = _shield;
        emit LogSwitchShield(shield);
    }

    /**
     * @dev Enable New User.
     * @param user Owner of the Smart Account.
    */
    function enable(address user) public {
        require(msg.sender == address(this) || msg.sender == instaIndex, "not-self-index");
        require(user != address(0), "not-valid");
        require(!auth[user], "already-enabled");
        auth[user] = true;
        ListInterface(IndexInterface(instaIndex).list()).addAuth(user);
        emit LogEnable(user);
    }

    /**
     * @dev Disable User.
     * @param user Owner of the Smart Account.
    */
    function disable(address user) public {
        require(msg.sender == address(this), "not-self");
        require(user != address(0), "not-valid");
        require(auth[user], "already-disabled");
        delete auth[user];
        ListInterface(IndexInterface(instaIndex).list()).removeAuth(user);
        emit LogDisable(user);
    }

}

contract InstaAccount is Record {

    event LogCast(address indexed origin, address indexed sender, uint value);

    receive() external payable {}

     /**
     * @dev Delegate the calls to Connector And this function is ran by cast().
     * @param _target Target to of Connector.
     * @param _data CallData of function in Connector.
    */
    function spell(address _target, bytes memory _data) internal {
        require(_target != address(0), "target-invalid");
        assembly {
            let succeeded := delegatecall(gas(), _target, add(_data, 0x20), mload(_data), 0, 0)

            switch iszero(succeeded)
                case 1 {
                    // throw if delegatecall failed
                    let size := returndatasize()
                    returndatacopy(0x00, 0x00, size)
                    revert(0x00, size)
                }
        }
    }

    /**
     * @dev This is the main function, Where all the different functions are called
     * from Smart Account.
     * @param _targets Array of Target(s) to of Connector.
     * @param _datas Array of Calldata(S) of function.
    */
    function cast(
        address[] calldata _targets,
        bytes[] calldata _datas,
        address _origin
    )
    external
    payable
    {
        require(isAuth(msg.sender) || msg.sender == instaIndex, "permission-denied");
        require(_targets.length == _datas.length , "array-length-invalid");
        IndexInterface indexContract = IndexInterface(instaIndex);
        bool isShield = shield;
        if (!isShield) {
            require(ConnectorsInterface(indexContract.connectors(version)).isConnector(_targets), "not-connector");
        } else {
            require(ConnectorsInterface(indexContract.connectors(version)).isStaticConnector(_targets), "not-static-connector");
        }
        for (uint i = 0; i < _targets.length; i++) {
            spell(_targets[i], _datas[i]);
        }
        address _check = indexContract.check(version);
        if (_check != address(0) && !isShield) require(CheckInterface(_check).isOk(), "not-ok");
        emit LogCast(_origin, msg.sender, msg.value);
    }

}

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"origin","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"LogCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"LogDisable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"LogEnable","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_shield","type":"bool"}],"name":"LogSwitchShield","type":"event"},{"inputs":[{"internalType":"address[]","name":"_targets","type":"address[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"},{"internalType":"address","name":"_origin","type":"address"}],"name":"cast","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"disable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"enable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"instaIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isAuth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shield","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_shield","type":"bool"}],"name":"switchShield","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.