// SPDX-License-Identifier: MITpragmasolidity>=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.rscontract DecompiledContract {bytes32 store_b;bytes32 store_a;address store_d;address store_c;address store_e;event SuccessorChanged(address,address);event Claim(address);event IncognitoChanged(address,address);event Upgraded(address);/// @custom:selector 0x5c975abb/// @custom:signature paused() public returns (uint256)function paused()publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;return store_b;}/// @custom:selector 0x1c587771/// @custom:signature upgradeIncognito(address arg0) public returns (uint256)/// @param arg0 ["address", "uint160", "bytes20", "int160"]function upgradeIncognito(address arg0)publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;require(address(arg0),"TransparentUpgradeableProxy: incognito proxy is the zero address");emit IncognitoChanged(address(store_d),address(arg0));
store_d =address(arg0);}/// @custom:selector 0x9e6371ba/// @custom:signature retire(address arg0) public returns (uint256)/// @param arg0 ["address", "uint160", "bytes20", "int160"]function retire(address arg0)publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;require(address(arg0),"TransparentUpgradeableProxy: successor is the zero address");emit SuccessorChanged(address(store_e),address(arg0));
store_e =address(arg0);}/// @custom:selector 0x4e71d92d/// @custom:signature claim() public returns (uint256)function claim()publicreturns(uint256){require(!(address(msg.sender)==(address(store_e))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;emit Claim(address(store_e));
store_a = store_e;}/// @custom:selector 0x6ff968c3/// @custom:signature successor() public returns (uint256)function successor()publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;returnaddress(store_e);}/// @custom:selector 0x5c60da1b/// @custom:signature implementation() public returns (uint256)function implementation()publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;returnaddress(store_c);}/// @custom:selector 0xf851a440/// @custom:signature admin() public returns (uint256)function admin()publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;returnaddress(store_a);}/// @custom:selector 0x8456cb59/// @custom:signature pause() public returns (uint256)function pause()publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;require(!store_b,"TransparentUpgradeableProxy: contract paused already");
store_b =0x01;}/// @custom:selector 0x3f4ba83a/// @custom:signature unpause() public returns (uint256)function unpause()publicreturns(uint256){require(!(address(msg.sender))==(address(store_a)));require(!(address(msg.sender))==(address(store_a)));require(!store_b);(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_b);// delegatecallreturn;require(store_b,"TransparentUpgradeableProxy: contract not paused");
store_b =0;}/// @custom:selector 0x8a984538/// @custom:signature incognito() public returns (uint256)function incognito()publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;returnaddress(store_d);}/// @custom:selector 0x3659cfe6/// @custom:signature upgradeTo(address arg0) public returns (uint256)/// @param arg0 ["address", "uint160", "bytes20", "int160"]function upgradeTo(address arg0)publicreturns(uint256){require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;require(!(!address(arg0).code.length),"UpgradeableProxy: new implementation is not a contract");
store_c =address(arg0);emit Upgraded(address(arg0));}/// @custom:selector 0x4f1ef286/// @custom:signature Unresolved_4f1ef286(address arg0, uint256 arg1) public payable returns (uint256)/// @param arg0 ["address", "uint160", "bytes20", "int160"]/// @param arg1 ["uint256", "bytes32", "int256"]function Unresolved_4f1ef286(address arg0,uint256 arg1)publicpayablereturns(uint256){require(!arg1 >0x0100000000);require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!(address(msg.sender)==(address(store_a))),"TransparentUpgradeableProxy: contract is paused");require(!store_b,"TransparentUpgradeableProxy: contract is paused");(bool success,bytesmemory ret0)=address(store_c).Unresolved_(var_g);// delegatecallreturn;require(!(!address(arg0).code.length),"UpgradeableProxy: new implementation is not a contract");
store_c =address(arg0);emit Upgraded(address(arg0));(bool success,bytesmemory ret0)=address(arg0).Unresolved_(var_i);// delegatecallrequire(ret0.length ==0,"DELEGATECALL failed");}}
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)
on-chain verify terminalⓘ
Query any address live from your own browser. code/owner/symbol/supply/storage/impl read directly from the PulseChain RPC - these are live on-chain facts anyone can reproduce. An address can be a wallet (EOA) or a contract; use code <addr> to tell them apart (no code = wallet). The trace command is different: it uses a pre-scanned dataset (not live), still being expanded block-by-block, so some addresses aren't in it yet. Nothing is sent or logged.