ETH Price: $2,490.27 (+0.82%)

Contract

0x2faeC5baB19e61C2AE5c1B2c9F2A8EfFdba84784
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast187571672023-12-10 17:01:35322 days ago1702227695IN
0x2faeC5ba...Fdba84784
0 ETH0.0079311336.99087677
Cast185449792023-11-10 23:59:59352 days ago1699660799IN
0x2faeC5ba...Fdba84784
0 ETH0.0076164434.61060812
Cast163576392023-01-07 21:37:47659 days ago1673127467IN
0x2faeC5ba...Fdba84784
0 ETH0.001979516.93940982
Cast163576332023-01-07 21:36:35659 days ago1673127395IN
0x2faeC5ba...Fdba84784
0 ETH0.0059520417.03542499
Cast162310512022-12-21 5:41:59676 days ago1671601319IN
0x2faeC5ba...Fdba84784
0 ETH0.0011673914.78631232
Cast162310372022-12-21 5:39:11676 days ago1671601151IN
0x2faeC5ba...Fdba84784
0 ETH0.001410614.25461658
Cast162293272022-12-20 23:55:23677 days ago1671580523IN
0x2faeC5ba...Fdba84784
0 ETH0.0012184515.49268871
Cast162145452022-12-18 22:24:35679 days ago1671402275IN
0x2faeC5ba...Fdba84784
0 ETH0.0010616713.49715586
Cast162145332022-12-18 22:22:11679 days ago1671402131IN
0x2faeC5ba...Fdba84784
0 ETH0.0043398914.02083331
Cast162139352022-12-18 20:21:59679 days ago1671394919IN
0x2faeC5ba...Fdba84784
0 ETH0.0014495914.53115169
Cast162022352022-12-17 5:09:35680 days ago1671253775IN
0x2faeC5ba...Fdba84784
0 ETH0.0015738115.35934976
Cast161732212022-12-13 3:53:11684 days ago1670903591IN
0x2faeC5ba...Fdba84784
0 ETH0.0020650917.26989013
Cast161731892022-12-13 3:46:47684 days ago1670903207IN
0x2faeC5ba...Fdba84784
0 ETH0.0019021715.90901771
Cast161519782022-12-10 4:40:59687 days ago1670647259IN
0x2faeC5ba...Fdba84784
0 ETH0.0019483116.29491354
Cast160634572022-11-27 19:37:59700 days ago1669577879IN
0x2faeC5ba...Fdba84784
0 ETH0.0016261115.86980655
Cast160634422022-11-27 19:34:59700 days ago1669577699IN
0x2faeC5ba...Fdba84784
0 ETH0.0055252116.62817957
Cast160371792022-11-24 3:33:23703 days ago1669260803IN
0x2faeC5ba...Fdba84784
0 ETH0.0016368113.68960402
Cast160069022022-11-19 21:59:47708 days ago1668895187IN
0x2faeC5ba...Fdba84784
0 ETH0.0012827912.51926951
Cast159865562022-11-17 1:47:59711 days ago1668649679IN
0x2faeC5ba...Fdba84784
0 ETH0.0016739113.99991579
Cast159625002022-11-13 17:09:11714 days ago1668359351IN
0x2faeC5ba...Fdba84784
0 ETH0.0017261216.87280702
Cast159514302022-11-12 4:04:23715 days ago1668225863IN
0x2faeC5ba...Fdba84784
0 ETH0.0113568625.54855434
Cast158647062022-10-31 1:17:47728 days ago1667179067IN
0x2faeC5ba...Fdba84784
0 ETH0.000693788.78756496
Cast158647012022-10-31 1:16:47728 days ago1667179007IN
0x2faeC5ba...Fdba84784
0 ETH0.002890129.16023064
Cast158646922022-10-31 1:14:59728 days ago1667178899IN
0x2faeC5ba...Fdba84784
0 ETH0.002055018.18706705
Cast158646842022-10-31 1:13:23728 days ago1667178803IN
0x2faeC5ba...Fdba84784
0 ETH0.002047988.0462614
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
162310512022-12-21 5:41:59676 days ago1671601319
0x2faeC5ba...Fdba84784
0.045 ETH
162293272022-12-20 23:55:23677 days ago1671580523
0x2faeC5ba...Fdba84784
0.08 ETH
162145452022-12-18 22:24:35679 days ago1671402275
0x2faeC5ba...Fdba84784
0.125 ETH
162145332022-12-18 22:22:11679 days ago1671402131
0x2faeC5ba...Fdba84784
0.25 ETH
158647062022-10-31 1:17:47728 days ago1667179067
0x2faeC5ba...Fdba84784
1.51004492 ETH
158647012022-10-31 1:16:47728 days ago1667179007
0x2faeC5ba...Fdba84784
1.5 ETH
158646842022-10-31 1:13:23728 days ago1667178803
0x2faeC5ba...Fdba84784
0.01004492 ETH
124095652021-05-10 23:15:251266 days ago1620688525
0x2faeC5ba...Fdba84784
1 ETH
124090642021-05-10 21:20:301266 days ago1620681630
0x2faeC5ba...Fdba84784
1 ETH
123783502021-05-06 3:29:151270 days ago1620271755
0x2faeC5ba...Fdba84784
2.00099173 ETH
123783222021-05-06 3:26:031270 days ago1620271563
0x2faeC5ba...Fdba84784
2.00099173 ETH
123782922021-05-06 3:21:321270 days ago1620271292
0x2faeC5ba...Fdba84784
1 ETH
116868672021-01-19 16:35:191377 days ago1611074119
0x2faeC5ba...Fdba84784
2 ETH
115575952020-12-30 20:33:291397 days ago1609360409
0x2faeC5ba...Fdba84784
0.36 ETH
115575592020-12-30 20:26:101397 days ago1609359970
0x2faeC5ba...Fdba84784
0.36 ETH
113047812020-11-22 0:28:571436 days ago1606004937
0x2faeC5ba...Fdba84784
0.37 ETH
102733052020-06-15 23:25:131595 days ago1592263513
0x2faeC5ba...Fdba84784
0.1 ETH
102732232020-06-15 23:09:451595 days ago1592262585  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.