Contract 0x28846f4051EB05594B3fF9dE76b7B5bf00431155 1

 
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf154fa8c3db4d86a459d4b6ccc689859c2c09e1aae51268253aabc6e467328810x60a06040127952802021-04-03 0:24:48170 days 11 hrs ago0xf6839085f692bde6a8062573e3da35e7e947c21e IN  Contract Creation0 MATIC0.000227998
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InstaAccountV2

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at polygonscan.com on 2021-06-30
*/

// Sources flattened with hardhat v2.0.8 https://hardhat.org

// File contracts/v2/proxy/accountProxy.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;

interface AccountImplementations {
    function getImplementation(bytes4 _sig) external view returns (address);
}

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`.
 */
contract InstaAccountV2 {

    AccountImplementations public immutable implementations;

    constructor(address _implementations) {
        implementations = AccountImplementations(_implementations);
    }

    /**
     * @dev Delegates the current call to `implementation`.
     * 
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    /**
     * @dev Delegates the current call to the address returned by Implementations registry.
     * 
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _fallback(bytes4 _sig) internal {
        address _implementation = implementations.getImplementation(_sig);
        require(_implementation != address(0), "InstaAccountV2: Not able to find _implementation");
        _delegate(_implementation);
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by Implementations registry.
     */
    fallback () external payable {
        _fallback(msg.sig);
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by Implementations registry.
     */
    receive () external payable {
        if (msg.sig != 0x00000000) {
            _fallback(msg.sig);
        }
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_implementations","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementations","outputs":[{"internalType":"contract AccountImplementations","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a060405234801561001057600080fd5b506040516103c53803806103c58339818101604052602081101561003357600080fd5b81019080805190602001909291905050508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505060805160601c61032761009e60003980610119528061027952506103276000f3fe6080604052600436106100225760003560e01c806330e9012c146100d4576100a5565b366100a557600060e01b6000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146100a3576100a26000357fffffffff0000000000000000000000000000000000000000000000000000000016610115565b5b005b6100d26000357fffffffff0000000000000000000000000000000000000000000000000000000016610115565b005b3480156100e057600080fd5b506100e9610277565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663dc9cc645836040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b1580156101a757600080fd5b505afa1580156101bb573d6000803e3d6000fd5b505050506040513d60208110156101d157600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561026a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806102c26030913960400191505060405180910390fd5b6102738161029b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3660008037600080366000845af43d6000803e80600081146102bc573d6000f35b3d6000fdfe496e7374614163636f756e7456323a204e6f742061626c6520746f2066696e64205f696d706c656d656e746174696f6ea264697066735822122020496c07af3dcdde8ccb1e60af8d323f0f1a6f1f16b3006af2a14e27c22f855464736f6c6343000700003300000000000000000000000039d3d5e7c11d61e072511485878dd84711c19d4a

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000039d3d5e7c11d61e072511485878dd84711c19d4a

-----Decoded View---------------
Arg [0] : _implementations (address): 0x39d3d5e7c11d61e072511485878dd84711c19d4a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000039d3d5e7c11d61e072511485878dd84711c19d4a


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.