// 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 {uint256public constant owner =872240118219848495597058231834296814826443694369;/// @custom:selector 0x50431ce4/// @custom:signature withdrawNative() publicfunction withdrawNative()public{require(address(msg.sender)==0x98c89980d1eae247ada3636ae27648f78e66e121);require(!address(this).balance >0);(bool success,bytesmemory ret0)=address(0x98c89980d1eae247ada3636ae27648f78e66e121).transfer(address(this).balance);}/// @custom:selector 0x89476069/// @custom:signature withdrawToken(address arg0) public/// @param arg0 ["address", "uint160", "bytes20", "int160"]function withdrawToken(address arg0)public{require(arg0 ==(address(arg0)));require(address(msg.sender)==0x98c89980d1eae247ada3636ae27648f78e66e121);address var_b =address(this);(bool success,bytesmemory ret0)=address(arg0).Unresolved_70a08231(var_b);// staticcalluint256 var_c = var_c +(uint248(ret0.length +0x1f));require(!((var_c + ret0.length)- var_c)<0x20);require(var_d ==(var_d));require(!(var_d)>0);
var_f =0x98c89980d1eae247ada3636ae27648f78e66e121;(bool success,bytesmemory ret0)=address(arg0).Unresolved_a9059cbb(var_f);// call
var_c = var_c +(uint248(ret0.length +0x1f));require(!((var_c + ret0.length)- var_c)<0x20);require(var_d ==(var_d));}/// @custom:selector 0x7d2bf68a/// @custom:signature Unresolved_7d2bf68a(address arg0) public pure/// @param arg0 ["address", "uint160", "bytes20", "int160"]functionUnresolved_7d2bf68a(address arg0)publicpure{require(arg0 ==(address(arg0)));}}
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.
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.