ETH Price: $2,004.58 (+0.93%)

Contract

0xc4b75c71DFc33fC1bf02cfa5AefB060DC04dD3aB
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast130392192021-08-16 23:25:111685 days ago1629156311IN
0xc4b75c71...DC04dD3aB
0 ETH0.1016220132
Cast129755162021-08-07 3:37:351694 days ago1628307455IN
0xc4b75c71...DC04dD3aB
0 ETH0.0033346534.42083871
Cast129755102021-08-07 3:36:481694 days ago1628307408IN
0xc4b75c71...DC04dD3aB
0 ETH0.021529934.58057982
Cast129436052021-08-02 3:30:221699 days ago1627875022IN
0xc4b75c71...DC04dD3aB
0 ETH0.0026982526
Cast129435972021-08-02 3:26:341699 days ago1627874794IN
0xc4b75c71...DC04dD3aB
0 ETH0.0155650225
Cast129387482021-08-01 9:09:541700 days ago1627808994IN
0xc4b75c71...DC04dD3aB
0 ETH0.0070721721
Cast129386772021-08-01 8:53:151700 days ago1627807995IN
0xc4b75c71...DC04dD3aB
0 ETH0.0028477230
Cast129386692021-08-01 8:51:001700 days ago1627807860IN
0xc4b75c71...DC04dD3aB
0 ETH0.0168032725
Cast129385732021-08-01 8:32:141700 days ago1627806734IN
0xc4b75c71...DC04dD3aB
0 ETH0.0155825423
Cast126456362021-06-16 13:02:281746 days ago1623848548IN
0xc4b75c71...DC04dD3aB
0 ETH0.0040372413.5
Cast126374242021-06-15 6:23:571747 days ago1623738237IN
0xc4b75c71...DC04dD3aB
0 ETH0.0012453412
Cast126374192021-06-15 6:23:201747 days ago1623738200IN
0xc4b75c71...DC04dD3aB
0 ETH0.008045612
Cast126167072021-06-12 1:14:521751 days ago1623460492IN
0xc4b75c71...DC04dD3aB
0 ETH0.0030568410
Cast126162122021-06-11 23:30:561751 days ago1623454256IN
0xc4b75c71...DC04dD3aB
0 ETH0.0036758911
Cast126161532021-06-11 23:20:521751 days ago1623453652IN
0xc4b75c71...DC04dD3aB
0 ETH0.0010104811
Cast126161432021-06-11 23:19:071751 days ago1623453547IN
0xc4b75c71...DC04dD3aB
0 ETH0.0095009413
Cast124681722021-05-20 1:06:251774 days ago1621472785IN
0xc4b75c71...DC04dD3aB
0 ETH0.1874818550
Transfer124681582021-05-20 1:00:501774 days ago1621472450IN
0xc4b75c71...DC04dD3aB
33 ETH0.0154128650
Cast124671792021-05-19 21:15:011774 days ago1621458901IN
0xc4b75c71...DC04dD3aB
0 ETH0.05236052176
Cast124655252021-05-19 15:03:101774 days ago1621436590IN
0xc4b75c71...DC04dD3aB
0 ETH0.15435952560
Cast124514202021-05-17 10:46:271776 days ago1621248387IN
0xc4b75c71...DC04dD3aB
0 ETH0.0051889550
Cast124514122021-05-17 10:45:101776 days ago1621248310IN
0xc4b75c71...DC04dD3aB
0 ETH0.0395135856.1
Cast123646792021-05-04 1:04:251790 days ago1620090265IN
0xc4b75c71...DC04dD3aB
0 ETH0.0069531967
Cast123485152021-05-01 13:17:371792 days ago1619875057IN
0xc4b75c71...DC04dD3aB
0 ETH0.017892127.2
Cast123291432021-04-28 13:10:301795 days ago1619615430IN
0xc4b75c71...DC04dD3aB
0 ETH0.008577267
View all transactions

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-124681722021-05-20 1:06:251774 days ago1621472785
0xc4b75c71...DC04dD3aB
33 ETH
-123253952021-04-27 23:22:241796 days ago1619565744
0xc4b75c71...DC04dD3aB
243.96608624 ETH
-123253952021-04-27 23:22:241796 days ago1619565744
0xc4b75c71...DC04dD3aB
243.96608624 ETH
-123253952021-04-27 23:22:241796 days ago1619565744
0xc4b75c71...DC04dD3aB
243.96608624 ETH
-123253952021-04-27 23:22:241796 days ago1619565744
0xc4b75c71...DC04dD3aB
243.96608624 ETH
-123012502021-04-24 6:13:161799 days ago1619244796
0xc4b75c71...DC04dD3aB
124.14307287 ETH
-123012502021-04-24 6:13:161799 days ago1619244796
0xc4b75c71...DC04dD3aB
124.14307287 ETH
-123012502021-04-24 6:13:161799 days ago1619244796
0xc4b75c71...DC04dD3aB
124.14307287 ETH
-123012502021-04-24 6:13:161799 days ago1619244796
0xc4b75c71...DC04dD3aB
124.14307287 ETH
-123011772021-04-24 5:55:481799 days ago1619243748  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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

API
[{"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 Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.