ETH Price: $2,676.67 (-4.91%)

Contract

0xf342E1dD801173435C2Dc9bA60adc92C775e4c13
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast126545082021-06-17 21:59:541347 days ago1623967194IN
0xf342E1dD...C775e4c13
0 ETH0.0192991110
Cast126452022021-06-16 11:21:401349 days ago1623842500IN
0xf342E1dD...C775e4c13
0 ETH0.0025007411.88000216
Cast126415402021-06-15 21:30:481349 days ago1623792648IN
0xf342E1dD...C775e4c13
0 ETH0.0021331620
Cast126415302021-06-15 21:28:281349 days ago1623792508IN
0xf342E1dD...C775e4c13
0 ETH0.007833520
Cast126321332021-06-14 10:50:311351 days ago1623667831IN
0xf342E1dD...C775e4c13
0 ETH0.0010665810
Cast126321192021-06-14 10:46:321351 days ago1623667592IN
0xf342E1dD...C775e4c13
0 ETH0.0039167510
Cast126255682021-06-13 10:28:091352 days ago1623580089IN
0xf342E1dD...C775e4c13
0 ETH0.0010665810
Cast126255582021-06-13 10:25:581352 days ago1623579958IN
0xf342E1dD...C775e4c13
0 ETH0.0039167510
Cast126176522021-06-12 4:41:561353 days ago1623472916IN
0xf342E1dD...C775e4c13
0 ETH0.0020330610
Transfer126176492021-06-12 4:41:111353 days ago1623472871IN
0xf342E1dD...C775e4c13
0.19 ETH0.0002371210
Cast126176102021-06-12 4:34:451353 days ago1623472485IN
0xf342E1dD...C775e4c13
0 ETH0.0010665810
Cast126175992021-06-12 4:32:421353 days ago1623472362IN
0xf342E1dD...C775e4c13
0 ETH0.0039167510
Cast126029242021-06-09 22:10:071355 days ago1623276607IN
0xf342E1dD...C775e4c13
0 ETH0.0026429713
Cast126029042021-06-09 22:06:171355 days ago1623276377IN
0xf342E1dD...C775e4c13
0 ETH0.0020541113
Cast126028712021-06-09 21:58:451355 days ago1623275925IN
0xf342E1dD...C775e4c13
0 ETH0.0039167510
Cast125992722021-06-09 8:19:111356 days ago1623226751IN
0xf342E1dD...C775e4c13
0 ETH0.0011732311
Cast125992482021-06-09 8:13:351356 days ago1623226415IN
0xf342E1dD...C775e4c13
0 ETH0.0043084211
Cast125669172021-06-04 8:37:451361 days ago1622795865IN
0xf342E1dD...C775e4c13
0 ETH0.0012632116
Cast125668862021-06-04 8:32:051361 days ago1622795525IN
0xf342E1dD...C775e4c13
0 ETH0.0032467917.6
Cast125668812021-06-04 8:31:381361 days ago1622795498IN
0xf342E1dD...C775e4c13
0 ETH0.0062131817.6
Cast125668552021-06-04 8:25:311361 days ago1622795131IN
0xf342E1dD...C775e4c13
0 ETH0.0035079719
Cast125668472021-06-04 8:23:111361 days ago1622794991IN
0xf342E1dD...C775e4c13
0 ETH0.0063543918
Cast125668302021-06-04 8:19:171361 days ago1622794757IN
0xf342E1dD...C775e4c13
0 ETH0.0128144118
Cast125607072021-06-03 9:18:521362 days ago1622711932IN
0xf342E1dD...C775e4c13
0 ETH0.0030704116.5
Cast125348742021-05-30 9:22:261366 days ago1622366546IN
0xf342E1dD...C775e4c13
0 ETH0.0045247119
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
126176522021-06-12 4:41:561353 days ago1623472916
0xf342E1dD...C775e4c13
0.19 ETH
126029242021-06-09 22:10:071355 days ago1623276607
0xf342E1dD...C775e4c13
0.19380749 ETH
126029042021-06-09 22:06:171355 days ago1623276377
0xf342E1dD...C775e4c13
0.19380749 ETH
125669172021-06-04 8:37:451361 days ago1622795865
0xf342E1dD...C775e4c13
0.53999962 ETH
125668862021-06-04 8:32:051361 days ago1622795525
0xf342E1dD...C775e4c13
0.00000043 ETH
125668812021-06-04 8:31:381361 days ago1622795498
0xf342E1dD...C775e4c13
0.54000005 ETH
125668552021-06-04 8:25:311361 days ago1622795131
0xf342E1dD...C775e4c13
1.606032 ETH
125668472021-06-04 8:23:111361 days ago1622794991
0xf342E1dD...C775e4c13
1.606032 ETH
125668302021-06-04 8:19:171361 days ago1622794757
0xf342E1dD...C775e4c13
1.60603195 ETH
125668302021-06-04 8:19:171361 days ago1622794757
0xf342E1dD...C775e4c13
1.60603195 ETH
125607072021-06-03 9:18:521362 days ago1622711932
0xf342E1dD...C775e4c13
0.32797437 ETH
125348742021-05-30 9:22:261366 days ago1622366546
0xf342E1dD...C775e4c13
0.32797437 ETH
125096812021-05-26 11:23:261370 days ago1622028206
0xf342E1dD...C775e4c13
0.5 ETH
125021462021-05-25 7:25:071371 days ago1621927507
0xf342E1dD...C775e4c13
1.36 ETH
123041662021-04-24 17:06:081402 days ago1619283968
0xf342E1dD...C775e4c13
0.61 ETH
119442282021-02-28 6:25:541457 days ago1614493554
0xf342E1dD...C775e4c13
0.16 ETH
119385122021-02-27 9:23:001458 days ago1614417780
0xf342E1dD...C775e4c13
3.4 ETH
119325752021-02-26 11:32:081459 days ago1614339128  Contract Creation0 ETH
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.