ETH Price: $3,255.90 (-2.53%)

Contract

0x5528475e7d683cb3aCda3122220Ff58BC9b042A5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast127968822021-07-10 2:08:551222 days ago1625882935IN
0x5528475e...BC9b042A5
0 ETH0.0010263613
Cast127968682021-07-10 2:05:441222 days ago1625882744IN
0x5528475e...BC9b042A5
0 ETH0.0142693213
Cast127472222021-07-02 8:56:011229 days ago1625216161IN
0x5528475e...BC9b042A5
0 ETH0.0505931411
Cast127459362021-07-02 4:01:411229 days ago1625198501IN
0x5528475e...BC9b042A5
0 ETH0.0113129211
Cast127341812021-06-30 8:12:111231 days ago1625040731IN
0x5528475e...BC9b042A5
0 ETH0.0039086516
Cast127291992021-06-29 13:22:481232 days ago1624972968IN
0x5528475e...BC9b042A5
0 ETH0.0169661921
Cast127252872021-06-28 22:39:331233 days ago1624919973IN
0x5528475e...BC9b042A5
0 ETH0.0115704914
Cast127252752021-06-28 22:37:361233 days ago1624919856IN
0x5528475e...BC9b042A5
0 ETH0.0115637214
Cast127252592021-06-28 22:32:501233 days ago1624919570IN
0x5528475e...BC9b042A5
0 ETH0.0127803213
Cast127238592021-06-28 17:29:261233 days ago1624901366IN
0x5528475e...BC9b042A5
0 ETH0.0215152322
Cast127236882021-06-28 16:56:571233 days ago1624899417IN
0x5528475e...BC9b042A5
0 ETH0.03221340
Cast127223442021-06-28 11:48:081233 days ago1624880888IN
0x5528475e...BC9b042A5
0 ETH0.0024767813
Cast127223132021-06-28 11:41:311233 days ago1624880491IN
0x5528475e...BC9b042A5
0 ETH0.0110198913
Cast127216652021-06-28 9:16:281233 days ago1624871788IN
0x5528475e...BC9b042A5
0 ETH0.0133679616.00000145
Cast127211942021-06-28 7:29:411233 days ago1624865381IN
0x5528475e...BC9b042A5
0 ETH0.0155999616
Cast127210582021-06-28 6:57:281233 days ago1624863448IN
0x5528475e...BC9b042A5
0 ETH0.011631310
Cast127087422021-06-26 8:59:491235 days ago1624697989IN
0x5528475e...BC9b042A5
0 ETH0.0133668911
Cast127025972021-06-25 10:00:311236 days ago1624615231IN
0x5528475e...BC9b042A5
0 ETH0.023818114
Cast127016532021-06-25 6:17:561236 days ago1624601876IN
0x5528475e...BC9b042A5
0 ETH0.0085361910
Cast126859972021-06-22 19:48:331239 days ago1624391313IN
0x5528475e...BC9b042A5
0 ETH0.030040425
Cast126822862021-06-22 5:52:121239 days ago1624341132IN
0x5528475e...BC9b042A5
0 ETH0.0024429110
Cast126617022021-06-19 0:47:541243 days ago1624063674IN
0x5528475e...BC9b042A5
0 ETH0.0124161610
Cast126453002021-06-16 11:44:391245 days ago1623843879IN
0x5528475e...BC9b042A5
0 ETH0.0112563713
Cast126242892021-06-13 5:41:221248 days ago1623562882IN
0x5528475e...BC9b042A5
0 ETH0.0131292410.00000145
Cast126184532021-06-12 7:53:361249 days ago1623484416IN
0x5528475e...BC9b042A5
0 ETH0.0095708510
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
127968822021-07-10 2:08:551222 days ago1625882935
0x5528475e...BC9b042A5
0.06772619 ETH
127968682021-07-10 2:05:441222 days ago1625882744
0x5528475e...BC9b042A5
0.06772619 ETH
127472222021-07-02 8:56:011229 days ago1625216161
0x5528475e...BC9b042A5
0.00031401 ETH
127459362021-07-02 4:01:411229 days ago1625198501
0x5528475e...BC9b042A5
1 ETH
127459362021-07-02 4:01:411229 days ago1625198501
0x5528475e...BC9b042A5
1 ETH
127252872021-06-28 22:39:331233 days ago1624919973
0x5528475e...BC9b042A5
1.00325571 ETH
127252872021-06-28 22:39:331233 days ago1624919973
0x5528475e...BC9b042A5
1.00325571 ETH
127252752021-06-28 22:37:361233 days ago1624919856
0x5528475e...BC9b042A5
1.0046171 ETH
127252752021-06-28 22:37:361233 days ago1624919856
0x5528475e...BC9b042A5
1.0046171 ETH
127252592021-06-28 22:32:501233 days ago1624919570
0x5528475e...BC9b042A5
0.99232245 ETH
127238592021-06-28 17:29:261233 days ago1624901366
0x5528475e...BC9b042A5
3.002076 ETH
127238592021-06-28 17:29:261233 days ago1624901366
0x5528475e...BC9b042A5
3.002076 ETH
127238592021-06-28 17:29:261233 days ago1624901366
0x5528475e...BC9b042A5
3.00207818 ETH
127238592021-06-28 17:29:261233 days ago1624901366
0x5528475e...BC9b042A5
3.002076 ETH
127236882021-06-28 16:56:571233 days ago1624899417
0x5528475e...BC9b042A5
0.99597243 ETH
127236882021-06-28 16:56:571233 days ago1624899417
0x5528475e...BC9b042A5
0.99597243 ETH
127223132021-06-28 11:41:311233 days ago1624880491
0x5528475e...BC9b042A5
0.9990624 ETH
127223132021-06-28 11:41:311233 days ago1624880491
0x5528475e...BC9b042A5
0.9990624 ETH
127216652021-06-28 9:16:281233 days ago1624871788
0x5528475e...BC9b042A5
0.99883435 ETH
127216652021-06-28 9:16:281233 days ago1624871788
0x5528475e...BC9b042A5
0.99883435 ETH
127211942021-06-28 7:29:411233 days ago1624865381
0x5528475e...BC9b042A5
0.98507789 ETH
127210582021-06-28 6:57:281233 days ago1624863448
0x5528475e...BC9b042A5
1 ETH
127210582021-06-28 6:57:281233 days ago1624863448
0x5528475e...BC9b042A5
1 ETH
127210582021-06-28 6:57:281233 days ago1624863448
0x5528475e...BC9b042A5
1 ETH
127210582021-06-28 6:57:281233 days ago1624863448
0x5528475e...BC9b042A5
1 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.