ETH Price: $2,509.40 (+1.49%)

Contract

0x2B5b3f253E592B00bd91C54b7dFC8F8eb703F21a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast126487942021-06-17 0:49:221229 days ago1623890962IN
0x2B5b3f25...eb703F21a
0 ETH0.0090138812.8
Cast126018282021-06-09 18:08:211236 days ago1623262101IN
0x2B5b3f25...eb703F21a
0 ETH0.022944920.3
Cast126018122021-06-09 18:05:291236 days ago1623261929IN
0x2B5b3f25...eb703F21a
0 ETH0.0123699521.09
Cast125630422021-06-03 18:04:481242 days ago1622743488IN
0x2B5b3f25...eb703F21a
0 ETH0.0376060128
Cast125312172021-05-29 19:39:361247 days ago1622317176IN
0x2B5b3f25...eb703F21a
0 ETH0.0514255735
Cast124904832021-05-23 12:19:451253 days ago1621772385IN
0x2B5b3f25...eb703F21a
0 ETH0.1219507162
Cast120782832021-03-20 22:02:291317 days ago1616277749IN
0x2B5b3f25...eb703F21a
0 ETH0.01786508101
Cast119410672021-02-27 18:56:361338 days ago1614452196IN
0x2B5b3f25...eb703F21a
0 ETH0.0079621103
Cast119410542021-02-27 18:53:451338 days ago1614452025IN
0x2B5b3f25...eb703F21a
0 ETH0.0226053698
Cast117283292021-01-26 1:17:161371 days ago1611623836IN
0x2B5b3f25...eb703F21a
0 ETH0.0679542153
Cast116937222021-01-20 17:38:131376 days ago1611164293IN
0x2B5b3f25...eb703F21a
0 ETH0.0677469661
Cast116342732021-01-11 14:48:501385 days ago1610376530IN
0x2B5b3f25...eb703F21a
0 ETH0.3748302227.3
Cast116341882021-01-11 14:33:241385 days ago1610375604IN
0x2B5b3f25...eb703F21a
0 ETH0.27498141333.00000145
Cast116243252021-01-10 2:20:031387 days ago1610245203IN
0x2B5b3f25...eb703F21a
0 ETH0.0923685856
Cast115265172020-12-26 2:23:591402 days ago1608949439IN
0x2B5b3f25...eb703F21a
0 ETH0.0111073749.6
Cast115168992020-12-24 14:40:551403 days ago1608820855IN
0x2B5b3f25...eb703F21a
0 ETH0.0813096749.00000145
Cast114796552020-12-18 21:39:241409 days ago1608327564IN
0x2B5b3f25...eb703F21a
0 ETH0.0783382243.14
Cast113696652020-12-01 23:35:001426 days ago1606865700IN
0x2B5b3f25...eb703F21a
0 ETH0.0425416629
Cast113690442020-12-01 21:10:281426 days ago1606857028IN
0x2B5b3f25...eb703F21a
0 ETH0.0039565217
Cast113690262020-12-01 21:07:591426 days ago1606856879IN
0x2B5b3f25...eb703F21a
0 ETH0.0046830420
Cast113617912020-11-30 18:37:451427 days ago1606761465IN
0x2B5b3f25...eb703F21a
0 ETH0.0103016344
Cast113617102020-11-30 18:21:111427 days ago1606760471IN
0x2B5b3f25...eb703F21a
0 ETH0.0066030567
Cast113616942020-11-30 18:16:201427 days ago1606760180IN
0x2B5b3f25...eb703F21a
0 ETH0.0163558260
Cast113354732020-11-26 17:48:531431 days ago1606412933IN
0x2B5b3f25...eb703F21a
0 ETH0.24373656138.00000123
Cast113090742020-11-22 16:20:521435 days ago1606062052IN
0x2B5b3f25...eb703F21a
0 ETH0.0772442840.00000145
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
126018282021-06-09 18:08:211236 days ago1623262101
0x2B5b3f25...eb703F21a
1,866.5787399 ETH
126018282021-06-09 18:08:211236 days ago1623262101
0x2B5b3f25...eb703F21a
1,866.5787399 ETH
125630422021-06-03 18:04:481242 days ago1622743488
0x2B5b3f25...eb703F21a
53 ETH
125630422021-06-03 18:04:481242 days ago1622743488
0x2B5b3f25...eb703F21a
53 ETH
125630422021-06-03 18:04:481242 days ago1622743488
0x2B5b3f25...eb703F21a
53 ETH
125630422021-06-03 18:04:481242 days ago1622743488
0x2B5b3f25...eb703F21a
53 ETH
125312172021-05-29 19:39:361247 days ago1622317176
0x2B5b3f25...eb703F21a
53.21690226 ETH
125312172021-05-29 19:39:361247 days ago1622317176
0x2B5b3f25...eb703F21a
53.21690226 ETH
124904832021-05-23 12:19:451253 days ago1621772385
0x2B5b3f25...eb703F21a
100 ETH
124904832021-05-23 12:19:451253 days ago1621772385
0x2B5b3f25...eb703F21a
100 ETH
124904832021-05-23 12:19:451253 days ago1621772385
0x2B5b3f25...eb703F21a
100 ETH
124904832021-05-23 12:19:451253 days ago1621772385
0x2B5b3f25...eb703F21a
100 ETH
117283292021-01-26 1:17:161371 days ago1611623836
0x2B5b3f25...eb703F21a
73.28532252 ETH
117283292021-01-26 1:17:161371 days ago1611623836
0x2B5b3f25...eb703F21a
73.28532252 ETH
116937222021-01-20 17:38:131376 days ago1611164293
0x2B5b3f25...eb703F21a
13.79520387 ETH
116937222021-01-20 17:38:131376 days ago1611164293
0x2B5b3f25...eb703F21a
13.79520387 ETH
116342732021-01-11 14:48:501385 days ago1610376530
0x2B5b3f25...eb703F21a
48.34971285 ETH
116342732021-01-11 14:48:501385 days ago1610376530
0x2B5b3f25...eb703F21a
48.34971285 ETH
116341882021-01-11 14:33:241385 days ago1610375604
0x2B5b3f25...eb703F21a
48.29336373 ETH
116243252021-01-10 2:20:031387 days ago1610245203
0x2B5b3f25...eb703F21a
37.52416931 ETH
116243252021-01-10 2:20:031387 days ago1610245203
0x2B5b3f25...eb703F21a
37.52416931 ETH
115168992020-12-24 14:40:551403 days ago1608820855
0x2B5b3f25...eb703F21a
67.35880062 ETH
115168992020-12-24 14:40:551403 days ago1608820855
0x2B5b3f25...eb703F21a
67.35880062 ETH
114796552020-12-18 21:39:241409 days ago1608327564
0x2B5b3f25...eb703F21a
114.73669034 ETH
114796552020-12-18 21:39:241409 days ago1608327564
0x2B5b3f25...eb703F21a
114.73669034 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.