ETH Price: $3,354.53 (+2.81%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast126521412021-06-17 13:09:271324 days ago1623935367IN
0xb30bc523...8CBC5ADe6
0 ETH0.0554100919
Cast126326192021-06-14 12:42:171327 days ago1623674537IN
0xb30bc523...8CBC5ADe6
0 ETH0.0011957810
Cast126326132021-06-14 12:40:541327 days ago1623674454IN
0xb30bc523...8CBC5ADe6
0 ETH0.007246610
Transfer126326052021-06-14 12:37:401327 days ago1623674260IN
0xb30bc523...8CBC5ADe6
8 ETH0.0002371210
Cast125735222021-06-05 8:57:431336 days ago1622883463IN
0xb30bc523...8CBC5ADe6
0 ETH0.0186018719
Cast125735112021-06-05 8:54:161336 days ago1622883256IN
0xb30bc523...8CBC5ADe6
0 ETH0.0086951721.3
Cast125358612021-05-30 12:53:141342 days ago1622379194IN
0xb30bc523...8CBC5ADe6
0 ETH0.0016847419
Cast125133182021-05-27 1:02:261345 days ago1622077346IN
0xb30bc523...8CBC5ADe6
0 ETH0.0033408234.2
Cast125133132021-05-27 1:01:301345 days ago1622077290IN
0xb30bc523...8CBC5ADe6
0 ETH0.0150370835
Cast125133032021-05-27 0:59:211345 days ago1622077161IN
0xb30bc523...8CBC5ADe6
0 ETH0.0054204131
Cast125036512021-05-25 13:04:321347 days ago1621947872IN
0xb30bc523...8CBC5ADe6
0 ETH0.009643436.0014
Cast125036232021-05-25 12:59:381347 days ago1621947578IN
0xb30bc523...8CBC5ADe6
0 ETH0.0385492135
Cast125036052021-05-25 12:54:521347 days ago1621947292IN
0xb30bc523...8CBC5ADe6
0 ETH0.006295136.00000145
Cast125035862021-05-25 12:51:591347 days ago1621947119IN
0xb30bc523...8CBC5ADe6
0 ETH0.0071772436
Cast125035502021-05-25 12:42:261347 days ago1621946546IN
0xb30bc523...8CBC5ADe6
0 ETH0.0061304133
Cast125035412021-05-25 12:40:441347 days ago1621946444IN
0xb30bc523...8CBC5ADe6
0 ETH0.0059453734
Cast125035282021-05-25 12:38:181347 days ago1621946298IN
0xb30bc523...8CBC5ADe6
0 ETH0.0067785134
Cast125012222021-05-25 4:00:291347 days ago1621915229IN
0xb30bc523...8CBC5ADe6
0 ETH0.0066412735.75000056
Cast125012092021-05-25 3:56:291347 days ago1621914989IN
0xb30bc523...8CBC5ADe6
0 ETH0.0061377235.1
Cast125012022021-05-25 3:54:361347 days ago1621914876IN
0xb30bc523...8CBC5ADe6
0 ETH0.0073965537.1
Cast124683482021-05-20 1:45:351352 days ago1621475135IN
0xb30bc523...8CBC5ADe6
0 ETH0.24777293250.49
Cast124519542021-05-17 12:46:031355 days ago1621255563IN
0xb30bc523...8CBC5ADe6
0 ETH0.0059802163
Cast124519132021-05-17 12:36:591355 days ago1621255019IN
0xb30bc523...8CBC5ADe6
0 ETH0.0191188270.5
Cast124518452021-05-17 12:18:071355 days ago1621253887IN
0xb30bc523...8CBC5ADe6
0 ETH0.0129262655
Cast123674532021-05-04 11:23:481368 days ago1620127428IN
0xb30bc523...8CBC5ADe6
0 ETH0.0670911741.00000145
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
126521412021-06-17 13:09:271324 days ago1623935367
0xb30bc523...8CBC5ADe6
0.02805827 ETH
126326132021-06-14 12:40:541327 days ago1623674454
0xb30bc523...8CBC5ADe6
8 ETH
125735222021-06-05 8:57:431336 days ago1622883463
0xb30bc523...8CBC5ADe6
7.11707526 ETH
125735222021-06-05 8:57:431336 days ago1622883463
0xb30bc523...8CBC5ADe6
7.11707526 ETH
125735112021-06-05 8:54:161336 days ago1622883256
0xb30bc523...8CBC5ADe6
11.2 ETH
125133032021-05-27 0:59:211345 days ago1622077161
0xb30bc523...8CBC5ADe6
2.12049237 ETH
125036232021-05-25 12:59:381347 days ago1621947578
0xb30bc523...8CBC5ADe6
2.56038547 ETH
125036232021-05-25 12:59:381347 days ago1621947578
0xb30bc523...8CBC5ADe6
2.55447025 ETH
125036052021-05-25 12:54:521347 days ago1621947292
0xb30bc523...8CBC5ADe6
2.37214073 ETH
125035412021-05-25 12:40:441347 days ago1621946444
0xb30bc523...8CBC5ADe6
3.27792401 ETH
125012092021-05-25 3:56:291347 days ago1621914989
0xb30bc523...8CBC5ADe6
3.46290423 ETH
124683482021-05-20 1:45:351352 days ago1621475135
0xb30bc523...8CBC5ADe6
6.10537059 ETH
124683482021-05-20 1:45:351352 days ago1621475135
0xb30bc523...8CBC5ADe6
6.1049561 ETH
123670122021-05-04 9:41:321368 days ago1620121292
0xb30bc523...8CBC5ADe6
20.34145608 ETH
123670122021-05-04 9:41:321368 days ago1620121292
0xb30bc523...8CBC5ADe6
20.34145608 ETH
123670122021-05-04 9:41:321368 days ago1620121292
0xb30bc523...8CBC5ADe6
7.00004131 ETH
123670122021-05-04 9:41:321368 days ago1620121292
0xb30bc523...8CBC5ADe6
7.00004131 ETH
123670122021-05-04 9:41:321368 days ago1620121292
0xb30bc523...8CBC5ADe6
20.34145608 ETH
123670122021-05-04 9:41:321368 days ago1620121292
0xb30bc523...8CBC5ADe6
20.34145608 ETH
123549422021-05-02 13:03:111370 days ago1619960591
0xb30bc523...8CBC5ADe6
7 ETH
122174512021-04-11 8:09:091391 days ago1618128549
0xb30bc523...8CBC5ADe6
5.712 ETH
122174272021-04-11 8:05:221391 days ago1618128322
0xb30bc523...8CBC5ADe6
4.6 ETH
122174132021-04-11 8:02:431391 days ago1618128163
0xb30bc523...8CBC5ADe6
10 ETH
122111522021-04-10 8:50:441392 days ago1618044644
0xb30bc523...8CBC5ADe6
0.00079614 ETH
122111522021-04-10 8:50:441392 days ago1618044644
0xb30bc523...8CBC5ADe6
5.07965063 ETH
View All Internal Transactions
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.