0x3781ea00ecbe98d1550806c1213fc7feb4f88a42

deployer: unknown relevance score: 10 status: identified bytecode: 1081 bytes

DECOMPILED SOLIDITY (Heimdall)

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;

/// @title            Decompiled Contract
/// @author           Jonathan Becker <jonathan@jbecker.dev>
/// @custom:version   heimdall-rs v0.9.2
///
/// @notice           This contract was decompiled using the heimdall-rs decompiler.
///                     It was generated directly by tracing the EVM opcodes from this contract.
///                     As a result, it may not compile or even be valid solidity code.
///                     Despite this, it should be obvious what each function does. Overall
///                     logic should have been preserved throughout decompiling.
///
/// @custom:github    You can find the open-source decompiler here:
///                       https://heimdall.rs

contract DecompiledContract {
    address store_a;
    
    
    /// @custom:selector    0xd1f57894
    /// @custom:signature   Unresolved_d1f57894(address arg0, uint256 arg1) public payable
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function Unresolved_d1f57894(address arg0, uint256 arg1) public payable {
        require(!arg1 > 0x0100000000);
        uint256 var_a = var_a + (0x20 + (((0x1f + (arg1)) / 0x20) * 0x20));
        var_c = msg.data[36:36];
        require(address(store_a));
        require(address(store_a).code.length);
        (bool success, bytes memory ret0) = address(store_a).getLogic(); // staticcall
        require(!(ret0.length < 0x20), "Impl not zero");
        require(address(var_a.length) == 0, "Impl not zero");
        require((keccak256(var_h) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) == 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, "Cannot set a proxy implementation to a non-contract address");
        require(!(!address(arg0).code.length), "Cannot set a proxy implementation to a non-contract address");
        store_a = address(arg0);
        require(!var_a.length);
        require(address(store_a));
        require(address(store_a).code.length);
        (bool success, bytes memory ret0) = address(store_a).getLogic(); // staticcall
        require(!ret0.length < 0x20);
        require(var_a.length < 0x20);
        require((var_a.length + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) < 0x20);
        (bool success, bytes memory ret0) = address(var_a.length).Unresolved_(var_m); // delegatecall
        require(ret0.length == 0);
    }
}

ABI

[
  {
    "type": "function",
    "name": "Unresolved_d1f57894",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "payable"
  }
]

UNKNOWN SELECTORS (0)

(none -- all recognized)
These selectors are not yet in the research database — they are being investigated and will be added as known functions once identified. They are also marked in red in the decompiled Solidity above.

KNOWN CLUSTER ADDRESSES IN THIS BYTECODE (0)

(none)