ETH Price: $3,207.15 (-3.92%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast129788632021-08-07 15:53:081274 days ago1628351588IN
0x542525D1...9ac49307b
0 ETH0.0043278954.8258534
Transfer129788542021-08-07 15:50:271274 days ago1628351427IN
0x542525D1...9ac49307b
4 ETH0.0011822549.85893723
Cast127294622021-06-29 14:24:271313 days ago1624976667IN
0x542525D1...9ac49307b
0 ETH0.0137298137
Cast126612042021-06-18 22:55:391323 days ago1624056939IN
0x542525D1...9ac49307b
0 ETH0.0109540312
Cast126611502021-06-18 22:41:461323 days ago1624056106IN
0x542525D1...9ac49307b
0 ETH0.0235201410.5
Cast126591982021-06-18 15:31:181324 days ago1624030278IN
0x542525D1...9ac49307b
0 ETH0.0016224431
Cast126591982021-06-18 15:31:181324 days ago1624030278IN
0x542525D1...9ac49307b
0 ETH0.0051833429
Cast126479002021-06-16 21:25:151325 days ago1623878715IN
0x542525D1...9ac49307b
0 ETH0.0351673616
Cast126478742021-06-16 21:20:271325 days ago1623878427IN
0x542525D1...9ac49307b
0 ETH0.036966218
Cast126478202021-06-16 21:08:241325 days ago1623877704IN
0x542525D1...9ac49307b
0 ETH0.0025111624.2
Cast126477982021-06-16 21:04:211325 days ago1623877461IN
0x542525D1...9ac49307b
0 ETH0.0130668525
Cast126477822021-06-16 21:00:081325 days ago1623877208IN
0x542525D1...9ac49307b
0 ETH0.0074865624.2
Cast126417732021-06-15 22:26:371326 days ago1623795997IN
0x542525D1...9ac49307b
0 ETH0.001867818
Cast126417642021-06-15 22:25:311326 days ago1623795931IN
0x542525D1...9ac49307b
0 ETH0.005760920
Cast126417602021-06-15 22:24:481326 days ago1623795888IN
0x542525D1...9ac49307b
0 ETH0.0135915226
Cast125942732021-06-08 13:54:061334 days ago1623160446IN
0x542525D1...9ac49307b
0 ETH0.001867818
Cast125942622021-06-08 13:52:081334 days ago1623160328IN
0x542525D1...9ac49307b
0 ETH0.009930819
Cast125941812021-06-08 13:35:071334 days ago1623159307IN
0x542525D1...9ac49307b
0 ETH0.0052122516
Cast125941802021-06-08 13:34:591334 days ago1623159299IN
0x542525D1...9ac49307b
0 ETH0.0049497916
Cast125941802021-06-08 13:34:591334 days ago1623159299IN
0x542525D1...9ac49307b
0 ETH0.0040562516
Transfer125941692021-06-08 13:33:021334 days ago1623159182IN
0x542525D1...9ac49307b
11 ETH0.0003793916
Cast125939102021-06-08 12:39:441334 days ago1623155984IN
0x542525D1...9ac49307b
0 ETH0.0055685118
Cast125939102021-06-08 12:39:441334 days ago1623155984IN
0x542525D1...9ac49307b
0 ETH0.001346718
Cast125634772021-06-03 19:44:021338 days ago1622749442IN
0x542525D1...9ac49307b
0 ETH0.0033205432
Cast125632232021-06-03 18:49:411339 days ago1622746181IN
0x542525D1...9ac49307b
0 ETH0.0140366746.00000003
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
129788632021-08-07 15:53:081274 days ago1628351588
0x542525D1...9ac49307b
4 ETH
126479002021-06-16 21:25:151325 days ago1623878715
0x542525D1...9ac49307b
79.94671076 ETH
126479002021-06-16 21:25:151325 days ago1623878715
0x542525D1...9ac49307b
79.94671076 ETH
126479002021-06-16 21:25:151325 days ago1623878715
0x542525D1...9ac49307b
57.1047934 ETH
126479002021-06-16 21:25:151325 days ago1623878715
0x542525D1...9ac49307b
57.1047934 ETH
126479002021-06-16 21:25:151325 days ago1623878715
0x542525D1...9ac49307b
79.94671076 ETH
126479002021-06-16 21:25:151325 days ago1623878715
0x542525D1...9ac49307b
79.94671076 ETH
126478742021-06-16 21:20:271325 days ago1623878427
0x542525D1...9ac49307b
79.94670976 ETH
126478742021-06-16 21:20:271325 days ago1623878427
0x542525D1...9ac49307b
79.94670976 ETH
126478742021-06-16 21:20:271325 days ago1623878427
0x542525D1...9ac49307b
57.10479337 ETH
126478742021-06-16 21:20:271325 days ago1623878427
0x542525D1...9ac49307b
57.10479337 ETH
126478742021-06-16 21:20:271325 days ago1623878427
0x542525D1...9ac49307b
79.94670976 ETH
126478742021-06-16 21:20:271325 days ago1623878427
0x542525D1...9ac49307b
79.94670976 ETH
125941812021-06-08 13:35:071334 days ago1623159307
0x542525D1...9ac49307b
11 ETH
125547102021-06-02 11:11:201340 days ago1622632280
0x542525D1...9ac49307b
4 ETH
125353292021-05-30 10:59:431343 days ago1622372383
0x542525D1...9ac49307b
20 ETH
124897902021-05-23 9:33:281350 days ago1621762408
0x542525D1...9ac49307b
4 ETH
124715252021-05-20 13:17:211353 days ago1621516641
0x542525D1...9ac49307b
50 ETH
124590292021-05-18 14:49:041355 days ago1621349344
0x542525D1...9ac49307b
0.6 ETH
124517592021-05-17 11:59:551356 days ago1621252795
0x542525D1...9ac49307b
0.5 ETH
124451792021-05-16 11:24:101357 days ago1621164250
0x542525D1...9ac49307b
2 ETH
105809432020-08-02 14:27:571644 days ago1596378477
0x542525D1...9ac49307b
0.9 ETH
104916592020-07-19 18:56:531658 days ago1595185013
0x542525D1...9ac49307b
0.1 ETH
104916232020-07-19 18:48:551658 days ago1595184535  Contract Creation0 ETH
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
/**
 *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

[{"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 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.