ETH Price: $2,401.19 (-0.18%)

Contract

0x5C1f11f36bBf1Ebc2C5CE2F89C645aF10D6f571e
 

Overview

ETH Balance

0.002588546855999211 ETH

Eth Value

$6.22 (@ $2,401.19/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast140660422022-01-24 4:01:15955 days ago1642996875IN
0x5C1f11f3...10D6f571e
0 ETH0.01130748104.8105154
Cast140660392022-01-24 4:00:46955 days ago1642996846IN
0x5C1f11f3...10D6f571e
0 ETH0.03921321119.31022481
Cast140642052022-01-23 20:56:14956 days ago1642971374IN
0x5C1f11f3...10D6f571e
0 ETH0.0233906120.56143353
Transfer140639602022-01-23 20:03:02956 days ago1642968182IN
0x5C1f11f3...10D6f571e
0.275 ETH0.00272353114.85881652
Cast134709092021-10-23 1:18:481049 days ago1634951928IN
0x5C1f11f3...10D6f571e
0 ETH0.0058245273.7739685
Transfer134584362021-10-21 2:47:061051 days ago1634784426IN
0x5C1f11f3...10D6f571e
0.02 ETH0.0015803666.64819475
Cast130291332021-08-15 10:11:461117 days ago1629022306IN
0x5C1f11f3...10D6f571e
0 ETH0.0023150229.32235311
Cast130290952021-08-15 10:03:101117 days ago1629021790IN
0x5C1f11f3...10D6f571e
0 ETH0.0071595226.17455949
Cast129389092021-08-01 9:45:181131 days ago1627811118IN
0x5C1f11f3...10D6f571e
0 ETH0.0015790220
Cast129387172021-08-01 9:02:571131 days ago1627808577IN
0x5C1f11f3...10D6f571e
0 ETH0.0057393420.9825
Cast129387122021-08-01 9:02:071131 days ago1627808527IN
0x5C1f11f3...10D6f571e
0 ETH0.0016579721.00000145
Cast129366852021-08-01 1:16:061132 days ago1627780566IN
0x5C1f11f3...10D6f571e
0 ETH0.0042459323
Transfer129366772021-08-01 1:13:431132 days ago1627780423IN
0x5C1f11f3...10D6f571e
0.16 ETH0.0005453723
Cast129226732021-07-29 19:58:011134 days ago1627588681IN
0x5C1f11f3...10D6f571e
0 ETH0.0022895729
Cast129226132021-07-29 19:45:101134 days ago1627587910IN
0x5C1f11f3...10D6f571e
0 ETH0.0076588428
Cast129028292021-07-26 16:15:401137 days ago1627316140IN
0x5C1f11f3...10D6f571e
0 ETH0.007200139
Cast128973532021-07-25 19:42:161138 days ago1627242136IN
0x5C1f11f3...10D6f571e
0 ETH0.0020167414
Cast128973272021-07-25 19:35:461138 days ago1627241746IN
0x5C1f11f3...10D6f571e
0 ETH0.0038294214
Cast128722072021-07-21 21:29:471142 days ago1626902987IN
0x5C1f11f3...10D6f571e
0 ETH0.0015790220
Cast128721912021-07-21 21:26:081142 days ago1626902768IN
0x5C1f11f3...10D6f571e
0 ETH0.0044105220
Cast128680452021-07-21 5:57:071142 days ago1626847027IN
0x5C1f11f3...10D6f571e
0 ETH0.0029038515.73
Transfer128680302021-07-21 5:53:261142 days ago1626846806IN
0x5C1f11f3...10D6f571e
0.09 ETH0.0004979521
Cast128672522021-07-21 2:51:141143 days ago1626835874IN
0x5C1f11f3...10D6f571e
0 ETH0.0015790220
Cast128672392021-07-21 2:48:281143 days ago1626835708IN
0x5C1f11f3...10D6f571e
0 ETH0.005470620
Cast128245312021-07-14 10:12:511149 days ago1626257571IN
0x5C1f11f3...10D6f571e
0 ETH0.0018237623.1
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
140642052022-01-23 20:56:14956 days ago1642971374
0x5C1f11f3...10D6f571e
0.27241145 ETH
134709092021-10-23 1:18:481049 days ago1634951928
0x5C1f11f3...10D6f571e
0.02 ETH
130291332021-08-15 10:11:461117 days ago1629022306
0x5C1f11f3...10D6f571e
0.1 ETH
130290952021-08-15 10:03:101117 days ago1629021790
0x5C1f11f3...10D6f571e
0.1 ETH
129389092021-08-01 9:45:181131 days ago1627811118
0x5C1f11f3...10D6f571e
0.24 ETH
129387172021-08-01 9:02:571131 days ago1627808577
0x5C1f11f3...10D6f571e
0.24 ETH
129387122021-08-01 9:02:071131 days ago1627808527
0x5C1f11f3...10D6f571e
0.01 ETH
129366852021-08-01 1:16:061132 days ago1627780566
0x5C1f11f3...10D6f571e
0.15 ETH
129226732021-07-29 19:58:011134 days ago1627588681
0x5C1f11f3...10D6f571e
0.2100981 ETH
129226132021-07-29 19:45:101134 days ago1627587910
0x5C1f11f3...10D6f571e
0.21 ETH
129028292021-07-26 16:15:401137 days ago1627316140
0x5C1f11f3...10D6f571e
0.1785 ETH
128973532021-07-25 19:42:161138 days ago1627242136
0x5C1f11f3...10D6f571e
0.0785981 ETH
128973272021-07-25 19:35:461138 days ago1627241746
0x5C1f11f3...10D6f571e
0.1 ETH
128722072021-07-21 21:29:471142 days ago1626902987
0x5C1f11f3...10D6f571e
0.1435649 ETH
128721912021-07-21 21:26:081142 days ago1626902768
0x5C1f11f3...10D6f571e
0.1435649 ETH
128680452021-07-21 5:57:071142 days ago1626847027
0x5C1f11f3...10D6f571e
0.09 ETH
128672522021-07-21 2:51:141143 days ago1626835874
0x5C1f11f3...10D6f571e
0.1 ETH
128672392021-07-21 2:48:281143 days ago1626835708
0x5C1f11f3...10D6f571e
0.1 ETH
128245312021-07-14 10:12:511149 days ago1626257571
0x5C1f11f3...10D6f571e
0.2 ETH
128238572021-07-14 7:40:071149 days ago1626248407
0x5C1f11f3...10D6f571e
0.2 ETH
127635232021-07-04 21:40:141159 days ago1625434814
0x5C1f11f3...10D6f571e
0.2 ETH
127635182021-07-04 21:38:441159 days ago1625434724
0x5C1f11f3...10D6f571e
0.2 ETH
127295852021-06-29 14:51:271164 days ago1624978287
0x5C1f11f3...10D6f571e
0.2 ETH
127295602021-06-29 14:45:321164 days ago1624977932
0x5C1f11f3...10D6f571e
0.2 ETH
127138162021-06-27 3:57:061166 days ago1624766226
0x5C1f11f3...10D6f571e
0.2 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.