ETH Price: $2,731.47 (-1.83%)

Contract

0xB4213c6eBD869a27A57dD5b0095DC2716Acd906f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast120500212021-03-16 13:53:071440 days ago1615902787IN
0xB4213c6e...16Acd906f
0 ETH0.0099124155
Cast120500022021-03-16 13:50:101440 days ago1615902610IN
0xB4213c6e...16Acd906f
0 ETH0.0341423161
Cast120499972021-03-16 13:49:381440 days ago1615902578IN
0xB4213c6e...16Acd906f
0 ETH0.04180187161
Cast120240322021-03-12 13:50:351444 days ago1615557035IN
0xB4213c6e...16Acd906f
0 ETH0.04488577208
Cast119724152021-03-04 14:46:551452 days ago1614869215IN
0xB4213c6e...16Acd906f
0 ETH0.01084478127
Cast119724132021-03-04 14:46:181452 days ago1614869178IN
0xB4213c6e...16Acd906f
0 ETH0.03490836127
Cast119724082021-03-04 14:45:161452 days ago1614869116IN
0xB4213c6e...16Acd906f
0 ETH0.02331684120
Cast119724042021-03-04 14:43:451452 days ago1614869025IN
0xB4213c6e...16Acd906f
0 ETH0.01980228120
Cast119723962021-03-04 14:42:091452 days ago1614868929IN
0xB4213c6e...16Acd906f
0 ETH0.04914538123
Transfer119723802021-03-04 14:39:311452 days ago1614868771IN
0xB4213c6e...16Acd906f
50 ETH0.00242331111.1
Cast118739912021-02-17 11:06:251467 days ago1613559985IN
0xB4213c6e...16Acd906f
0 ETH0.00831363130
Cast118739662021-02-17 11:02:131467 days ago1613559733IN
0xB4213c6e...16Acd906f
0 ETH0.0212064100
Cast118739222021-02-17 10:51:291467 days ago1613559089IN
0xB4213c6e...16Acd906f
0 ETH0.0255728898.494
Cast118679392021-02-16 12:50:511468 days ago1613479851IN
0xB4213c6e...16Acd906f
0 ETH0.01613908189
Cast118679322021-02-16 12:50:231468 days ago1613479823IN
0xB4213c6e...16Acd906f
0 ETH0.04150521151
Cast118679042021-02-16 12:44:541468 days ago1613479494IN
0xB4213c6e...16Acd906f
0 ETH0.03555818183
Transfer118679012021-02-16 12:43:471468 days ago1613479427IN
0xB4213c6e...16Acd906f
27 ETH0.00399159183
Cast117961212021-02-05 12:02:241479 days ago1612526544IN
0xB4213c6e...16Acd906f
0 ETH0.0127902200
Cast117961162021-02-05 12:01:201479 days ago1612526480IN
0xB4213c6e...16Acd906f
0 ETH0.04410931208
Cast117961112021-02-05 12:00:411479 days ago1612526441IN
0xB4213c6e...16Acd906f
0 ETH0.05426455209
Cast117784092021-02-02 18:20:291482 days ago1612290029IN
0xB4213c6e...16Acd906f
0 ETH0.0234946200
Cast117784072021-02-02 18:19:401482 days ago1612289980IN
0xB4213c6e...16Acd906f
0 ETH0.06393200
Cast117784052021-02-02 18:19:061482 days ago1612289946IN
0xB4213c6e...16Acd906f
0 ETH0.0431298200
Transfer117784012021-02-02 18:18:411482 days ago1612289921IN
0xB4213c6e...16Acd906f
21 ETH0.0043624200
Cast117752052021-02-02 6:26:141482 days ago1612247174IN
0xB4213c6e...16Acd906f
0 ETH0.01409676120
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
120500212021-03-16 13:53:071440 days ago1615902787
0xB4213c6e...16Acd906f
50.00372682 ETH
120500022021-03-16 13:50:101440 days ago1615902610
0xB4213c6e...16Acd906f
50.00372682 ETH
119724082021-03-04 14:45:161452 days ago1614869116
0xB4213c6e...16Acd906f
50 ETH
119724042021-03-04 14:43:451452 days ago1614869025
0xB4213c6e...16Acd906f
50 ETH
119723962021-03-04 14:42:091452 days ago1614868929
0xB4213c6e...16Acd906f
50 ETH
118739912021-02-17 11:06:251467 days ago1613559985
0xB4213c6e...16Acd906f
27.00012956 ETH
118739662021-02-17 11:02:131467 days ago1613559733
0xB4213c6e...16Acd906f
27.00012956 ETH
118679042021-02-16 12:44:541468 days ago1613479494
0xB4213c6e...16Acd906f
27 ETH
117961212021-02-05 12:02:241479 days ago1612526544
0xB4213c6e...16Acd906f
99.0011862 ETH
117961162021-02-05 12:01:201479 days ago1612526480
0xB4213c6e...16Acd906f
99.0011862 ETH
117784052021-02-02 18:19:061482 days ago1612289946
0xB4213c6e...16Acd906f
21 ETH
117751942021-02-02 6:24:231482 days ago1612247063
0xB4213c6e...16Acd906f
21 ETH
117709412021-02-01 14:46:231483 days ago1612190783
0xB4213c6e...16Acd906f
30 ETH
117617602021-01-31 5:09:461485 days ago1612069786
0xB4213c6e...16Acd906f
11 ETH
117600162021-01-30 22:50:451485 days ago1612047045
0xB4213c6e...16Acd906f
16 ETH
117482642021-01-29 3:02:531487 days ago1611889373
0xB4213c6e...16Acd906f
25.00003092 ETH
117482612021-01-29 3:02:361487 days ago1611889356
0xB4213c6e...16Acd906f
25.00003092 ETH
117461732021-01-28 19:21:431487 days ago1611861703
0xB4213c6e...16Acd906f
25 ETH
117381242021-01-27 13:30:261488 days ago1611754226
0xB4213c6e...16Acd906f
46.00015089 ETH
117381172021-01-27 13:29:051488 days ago1611754145
0xB4213c6e...16Acd906f
46.00015089 ETH
117331322021-01-26 19:01:331489 days ago1611687693
0xB4213c6e...16Acd906f
46 ETH
116767072021-01-18 3:06:541498 days ago1610939214
0xB4213c6e...16Acd906f
104.50717346 ETH
116767022021-01-18 3:06:041498 days ago1610939164
0xB4213c6e...16Acd906f
104.50717346 ETH
115821432021-01-03 14:47:411512 days ago1609685261
0xB4213c6e...16Acd906f
15 ETH
115537532020-12-30 6:26:131516 days ago1609309573
0xB4213c6e...16Acd906f
10.1 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.