ETH Price: $2,074.51 (+9.89%)
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast200421692024-06-07 19:54:35628 days ago1717790075IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0018828816.75914296
Cast200421662024-06-07 19:53:59628 days ago1717790039IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0013685117.33373766
Cast133965672021-10-11 9:41:501598 days ago1633945310IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0108896154.18366288
Cast122989682021-04-23 21:39:301769 days ago1619213970IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0065867270
Cast119932632021-03-07 19:39:581816 days ago1615145998IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.08531106101
Cast119650292021-03-03 11:35:261820 days ago1614771326IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.00591689
Cast119649972021-03-03 11:27:201820 days ago1614770840IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.006888583
Cast119649972021-03-03 11:27:201820 days ago1614770840IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0056518883
Cast119649972021-03-03 11:27:201820 days ago1614770840IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0722226183
Cast119649612021-03-03 11:18:591820 days ago1614770339IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0286817392
Cast119649392021-03-03 11:14:461820 days ago1614770086IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.1687950494
Cast119647382021-03-03 10:29:491820 days ago1614767389IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.17486601110
Cast119647012021-03-03 10:20:591820 days ago1614766859IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0246844295
Cast119645952021-03-03 9:57:531820 days ago1614765473IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.06926667103
Cast119644782021-03-03 9:31:571820 days ago1614763917IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.03400574116
Cast119641862021-03-03 8:28:031820 days ago1614760083IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.31945987125
Cast119592052021-03-02 13:55:241821 days ago1614693324IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0066719777
Cast119589582021-03-02 13:04:141821 days ago1614690254IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0222406274.00000145
Cast119589292021-03-02 12:57:111821 days ago1614689831IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0186739873
Cast119589172021-03-02 12:54:061821 days ago1614689646IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.0694339573
Cast119556902021-03-02 0:57:051822 days ago1614646625IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.36418833149
Cast119556552021-03-02 0:48:471822 days ago1614646127IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.32264304160
Cast119556512021-03-02 0:48:071822 days ago1614646087IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.05188939148
Cast119556392021-03-02 0:44:061822 days ago1614645846IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.13614756170
Cast119556342021-03-02 0:43:131822 days ago1614645793IN
0xC07D3f7a...F58Bc1aA1
0 ETH0.12828773148
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer200421662024-06-07 19:53:59628 days ago1717790039
0xC07D3f7a...F58Bc1aA1
0.29727913 ETH
-133965672021-10-11 9:41:501598 days ago1633945310
0xC07D3f7a...F58Bc1aA1
0.29727913 ETH
-119649972021-03-03 11:27:201820 days ago1614770840
0xC07D3f7a...F58Bc1aA1
34.81338505 ETH
-119649612021-03-03 11:18:591820 days ago1614770339
0xC07D3f7a...F58Bc1aA1
11.6558056 ETH
-119649392021-03-03 11:14:461820 days ago1614770086
0xC07D3f7a...F58Bc1aA1
46.46919066 ETH
-119641862021-03-03 8:28:031820 days ago1614760083
0xC07D3f7a...F58Bc1aA1
78.34915666 ETH
-119641862021-03-03 8:28:031820 days ago1614760083
0xC07D3f7a...F58Bc1aA1
78.34915666 ETH
-119556902021-03-02 0:57:051822 days ago1614646625
0xC07D3f7a...F58Bc1aA1
80.13 ETH
-119556902021-03-02 0:57:051822 days ago1614646625
0xC07D3f7a...F58Bc1aA1
80.13 ETH
-119556902021-03-02 0:57:051822 days ago1614646625
0xC07D3f7a...F58Bc1aA1
80.13 ETH
-119556902021-03-02 0:57:051822 days ago1614646625
0xC07D3f7a...F58Bc1aA1
80.13 ETH
-119556552021-03-02 0:48:471822 days ago1614646127
0xC07D3f7a...F58Bc1aA1
80.13669483 ETH
-119556552021-03-02 0:48:471822 days ago1614646127
0xC07D3f7a...F58Bc1aA1
0.04008839 ETH
-119556552021-03-02 0:48:471822 days ago1614646127
0xC07D3f7a...F58Bc1aA1
80.17678322 ETH
-119556392021-03-02 0:44:061822 days ago1614645846
0xC07D3f7a...F58Bc1aA1
90.00415775 ETH
-119556342021-03-02 0:43:131822 days ago1614645793
0xC07D3f7a...F58Bc1aA1
90 ETH
-119384422021-02-27 9:05:301824 days ago1614416730
0xC07D3f7a...F58Bc1aA1
229.85604719 ETH
-119384422021-02-27 9:05:301824 days ago1614416730
0xC07D3f7a...F58Bc1aA1
229.85604719 ETH
-119384422021-02-27 9:05:301824 days ago1614416730
0xC07D3f7a...F58Bc1aA1
229.85604719 ETH
-119384422021-02-27 9:05:301824 days ago1614416730
0xC07D3f7a...F58Bc1aA1
229.85604719 ETH
-119310632021-02-26 5:59:251825 days ago1614319165
0xC07D3f7a...F58Bc1aA1
240.99 ETH
-119310632021-02-26 5:59:251825 days ago1614319165
0xC07D3f7a...F58Bc1aA1
240.99415775 ETH
-119310632021-02-26 5:59:251825 days ago1614319165
0xC07D3f7a...F58Bc1aA1
240.99 ETH
-119310632021-02-26 5:59:251825 days ago1614319165
0xC07D3f7a...F58Bc1aA1
240.99 ETH
-119310592021-02-26 5:58:081825 days ago1614319088
0xC07D3f7a...F58Bc1aA1
240.99 ETH
View All Internal Transactions
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.