ETH Price: $3,100.40 (-0.10%)

Contract

0x737656cb04c85f5F534a2A043EF8145562d33e5b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast125473772021-06-01 8:05:461265 days ago1622534746IN
0x737656cb...562d33e5b
0 ETH0.0015000619
Cast125473572021-06-01 8:01:511265 days ago1622534511IN
0x737656cb...562d33e5b
0 ETH0.0018984820
Cast125473372021-06-01 7:56:321265 days ago1622534192IN
0x737656cb...562d33e5b
0 ETH0.0040554620
Cast125473132021-06-01 7:51:041265 days ago1622533864IN
0x737656cb...562d33e5b
0 ETH0.0042583319
Cast125472972021-06-01 7:47:211265 days ago1622533641IN
0x737656cb...562d33e5b
0 ETH0.0045489721
Cast125472842021-06-01 7:42:381265 days ago1622533358IN
0x737656cb...562d33e5b
0 ETH0.0059023317
Cast125472652021-06-01 7:39:481265 days ago1622533188IN
0x737656cb...562d33e5b
0 ETH0.0082556917
Cast125472592021-06-01 7:38:541265 days ago1622533134IN
0x737656cb...562d33e5b
0 ETH0.0132247417
Cast125472422021-06-01 7:36:271265 days ago1622532987IN
0x737656cb...562d33e5b
0 ETH0.0178468723
Cast125472272021-06-01 7:31:561265 days ago1622532716IN
0x737656cb...562d33e5b
0 ETH0.0137359317
Cast125472142021-06-01 7:28:551265 days ago1622532535IN
0x737656cb...562d33e5b
0 ETH0.0262605221
Cast125039852021-05-25 14:18:551272 days ago1621952335IN
0x737656cb...562d33e5b
0 ETH0.1212002749
Cast124910242021-05-23 14:12:421274 days ago1621779162IN
0x737656cb...562d33e5b
0 ETH0.14929061162
Cast124909802021-05-23 14:04:571274 days ago1621778697IN
0x737656cb...562d33e5b
0 ETH0.19127245223
Cast124902262021-05-23 11:19:381274 days ago1621768778IN
0x737656cb...562d33e5b
0 ETH0.076747562
Cast124849882021-05-22 15:45:531275 days ago1621698353IN
0x737656cb...562d33e5b
0 ETH0.043866450
Cast124622292021-05-19 2:40:451279 days ago1621392045IN
0x737656cb...562d33e5b
0 ETH0.02304303109
Transfer124549482021-05-17 23:41:251280 days ago1621294885IN
0x737656cb...562d33e5b
4.3 ETH0.0017546874
Cast124495722021-05-17 3:41:331281 days ago1621222893IN
0x737656cb...562d33e5b
0 ETH0.02304303109
Transfer124495662021-05-17 3:40:191281 days ago1621222819IN
0x737656cb...562d33e5b
1 ETH0.00279801118
Cast124495122021-05-17 3:27:041281 days ago1621222024IN
0x737656cb...562d33e5b
0 ETH0.0636290190
Cast123525142021-05-02 3:57:271296 days ago1619927847IN
0x737656cb...562d33e5b
0 ETH0.0302672923.5
Cast123524862021-05-02 3:52:031296 days ago1619927523IN
0x737656cb...562d33e5b
0 ETH0.0489581123.5
Cast123493912021-05-01 16:25:521296 days ago1619886352IN
0x737656cb...562d33e5b
0 ETH0.036162728
Cast123493622021-05-01 16:20:111296 days ago1619886011IN
0x737656cb...562d33e5b
0 ETH0.0533259329.7
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
125473772021-06-01 8:05:461265 days ago1622534746
0x737656cb...562d33e5b
0.17937057 ETH
125473372021-06-01 7:56:321265 days ago1622534192
0x737656cb...562d33e5b
0.00388257 ETH
125473132021-06-01 7:51:041265 days ago1622533864
0x737656cb...562d33e5b
0.00420584 ETH
125472972021-06-01 7:47:211265 days ago1622533641
0x737656cb...562d33e5b
0.12230925 ETH
125472842021-06-01 7:42:381265 days ago1622533358
0x737656cb...562d33e5b
0.04897289 ETH
125472592021-06-01 7:38:541265 days ago1622533134
0x737656cb...562d33e5b
0.004391 ETH
125472592021-06-01 7:38:541265 days ago1622533134
0x737656cb...562d33e5b
0.004391 ETH
125472142021-06-01 7:28:551265 days ago1622532535
0x737656cb...562d33e5b
12.36 ETH
125472142021-06-01 7:28:551265 days ago1622532535
0x737656cb...562d33e5b
12.36 ETH
125472142021-06-01 7:28:551265 days ago1622532535
0x737656cb...562d33e5b
12.36 ETH
125472142021-06-01 7:28:551265 days ago1622532535
0x737656cb...562d33e5b
12.36 ETH
125039852021-05-25 14:18:551272 days ago1621952335
0x737656cb...562d33e5b
12.36410418 ETH
125039852021-05-25 14:18:551272 days ago1621952335
0x737656cb...562d33e5b
12.36410418 ETH
124902262021-05-23 11:19:381274 days ago1621768778
0x737656cb...562d33e5b
4.3 ETH
124902262021-05-23 11:19:381274 days ago1621768778
0x737656cb...562d33e5b
4.3 ETH
124902262021-05-23 11:19:381274 days ago1621768778
0x737656cb...562d33e5b
4.3 ETH
124902262021-05-23 11:19:381274 days ago1621768778
0x737656cb...562d33e5b
4.3 ETH
124849882021-05-22 15:45:531275 days ago1621698353
0x737656cb...562d33e5b
1 ETH
124849882021-05-22 15:45:531275 days ago1621698353
0x737656cb...562d33e5b
1 ETH
124622292021-05-19 2:40:451279 days ago1621392045
0x737656cb...562d33e5b
4.3 ETH
124495722021-05-17 3:41:331281 days ago1621222893
0x737656cb...562d33e5b
1 ETH
123525142021-05-02 3:57:271296 days ago1619927847
0x737656cb...562d33e5b
20.69569007 ETH
123525142021-05-02 3:57:271296 days ago1619927847
0x737656cb...562d33e5b
20.69569007 ETH
123525142021-05-02 3:57:271296 days ago1619927847
0x737656cb...562d33e5b
20.69569007 ETH
123525142021-05-02 3:57:271296 days ago1619927847
0x737656cb...562d33e5b
20.69569007 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.