DECOMPILED SOLIDITY (Heimdall)
VERIFY
// 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 {
uint256 public constant burnAddress = 873 ;
uint256 public constant decimals = 18 ;
address public registry;
address store_p;
bytes32 store_k;
mapping ( bytes32 = > bytes32 ) storage_map_a;
bytes32 store_m;
mapping ( bytes32 = > bytes32 ) storage_map_j;
uint256 public unresolved_18160ddd;
bytes32 store_c;
mapping ( bytes32 = > bytes32 ) storage_map_i;
bytes32 store_f;
uint256 public totalBurned;
bytes32 store_h;
bytes32 store_l;
mapping ( bytes32 = > bytes32 ) storage_map_e;
mapping ( bytes32 = > bytes32 ) storage_map_n;
address public owner;
event Event_8c5be1e5( ) ;
error OwnableInvalidOwner( address ) ;
event Transfer( address , address , uint256 ) ;
event OwnershipTransferred( address , address ) ;
/// @custom:selector 0x095ea7b3
/// @custom:signature Unresolved_095ea7b3(address arg0, uint256 arg1) public payable returns (bool)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function Unresolved_095ea7b3( address arg0, uint256 arg1) public payable returns ( bool ) {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
require ( address ( msg. sender) - 0 , "Approve to zero address" ) ;
require ( address ( arg0) - 0 , "Approve to zero address" ) ;
var_a = address ( arg0) ;
storage_map_a[ var_a] = arg1;
emit Event_8c5be1e5( address ( msg. sender) , address ( arg0) , arg1) ;
return 0x01 ;
}
/// @custom:selector 0xa9059cbb
/// @custom:signature transfer(address arg0, uint256 arg1) public payable returns (bool)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function transfer( address arg0, uint256 arg1) public payable returns ( bool ) {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
require ( store_c = = 0x01 ) ;
store_c = 0x02 ;
address var_b = address ( arg0) ;
( bool success, bytes memory ret0) = address ( registry / 0x01 ) . { value: 0 ether } Unresolved_640562b1 ( var_b) ; // call
uint256 var_g = var_g + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( var_g + ret0. length) - var_g) < 0x40 ) ;
require ( var_h = = ( var_h) ) ;
require ( var_i = = ( var_i) ) ;
require ( ! ( var_h > 0 ) , "Transfer amount exceeds balance" ) ;
require ( ! ( var_h > 0 ) , "Transfer amount exceeds balance" ) ;
require ( ! ( var_h > 0 ) , "Transfer amount exceeds balance" ) ;
require ( address ( msg. sender) - 0 , "Transfer amount exceeds balance" ) ;
require ( address ( arg0) = = 0 , "Transfer amount exceeds balance" ) ;
require ( ! ( address ( arg0) = = 0x0369 ) , "Transfer amount exceeds balance" ) ;
require ( ! ( address ( msg. sender) . code. length > 0 ) , "Transfer amount exceeds balance" ) ;
address var_j = address ( tx. origin) ;
require ( ! ( storage_map_e[ var_j] > ( storage_map_e[ var_j] + ( var_i) ) ) , "Transfer amount exceeds balance" ) ;
var_j = address ( msg. sender) ;
require ( ! ( storage_map_e[ var_j] < ( var_i) ) , "Transfer amount exceeds balance" ) ;
var_j = address ( msg. sender) ;
storage_map_e[ var_j] = storage_map_e[ var_j] - ( var_i) ;
var_j = address ( arg0) ;
storage_map_e[ var_j] = storage_map_e[ var_j] + ( var_i) ;
emit Transfer( address ( msg. sender) , address ( arg0) , var_i) ;
store_c = 0x01 ;
return 0x01 ;
if ( ! ( address ( arg0) ) = = 0 ) {
}
require ( ( ! var_i) | ( var_h = = ( var_i * ( var_h) / ( var_i) ) ) , "Transfer amount exceeds balance" ) ;
require ( 0x2710 , "Transfer amount exceeds balance" ) ;
require ( ! ( ( var_i * ( var_h) / 0x2710 ) > 0 ) , "Transfer amount exceeds balance" ) ;
require ( ( ! ( var_i * ( var_h) ) / 0x2710 ) | ( store_f = = ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / ( var_i * ( var_h) / 0x2710 ) ) ) , "Transfer amount exceeds balance" ) ;
require ( 0x2710 , "Transfer amount exceeds balance" ) ;
require ( ! ( ( var_i * ( var_h) / 0x2710 ) - ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) > ( var_i * ( var_h) / 0x2710 ) ) , "Transfer amount exceeds balance" ) ;
require ( ! ( ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) > 0 ) , "Transfer amount exceeds balance" ) ;
require ( address ( msg. sender) - 0 , "Transfer amount exceeds balance" ) ;
require ( 0 = = 0 , "Transfer amount exceeds balance" ) ;
require ( ! ( 0 = = 0x0369 ) , "Transfer amount exceeds balance" ) ;
require ( ! ( address ( msg. sender) . code. length > 0 ) , "Transfer amount exceeds balance" ) ;
var_j = address ( tx. origin) ;
require ( ! ( storage_map_e[ var_j] > ( storage_map_e[ var_j] + ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) ) ) , "Transfer amount exceeds balance" ) ;
var_j = address ( msg. sender) ;
require ( ! ( storage_map_e[ var_j] < ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) ) , "Transfer amount exceeds balance" ) ;
var_j = address ( msg. sender) ;
storage_map_e[ var_j] = storage_map_e[ var_j] - ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) ;
var_j = 0 ;
storage_map_e[ var_j] = storage_map_e[ var_j] + ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) ;
emit Transfer( address ( msg. sender) , 0 , ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) ;
require ( ! ( ( var_i * ( var_h) / 0x2710 ) - ( ( ( var_i * ( var_h) / 0x2710 ) * store_f) / 0x2710 ) > 0 ) , "Transfer from zero address" ) ;
require ( address ( msg. sender) - 0 , "Transfer from zero address" ) ;
if ( ! 0 = = 0 ) {
}
}
/// @custom:selector 0xa457c2d7
/// @custom:signature decreaseAllowance(address arg0, uint256 arg1) public payable returns (bool)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function decreaseAllowance( address arg0, uint256 arg1) public payable returns ( bool ) {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
var_a = address ( arg0) ;
require ( ! ( storage_map_a[ var_a] < arg1) , "Decreased allowance below zero" ) ;
require ( address ( msg. sender) - 0 , "Approve to zero address" ) ;
require ( address ( arg0) - 0 , "Approve to zero address" ) ;
var_a = address ( arg0) ;
storage_map_a[ var_a] = storage_map_a[ var_a] - arg1;
emit Event_8c5be1e5( address ( msg. sender) , address ( arg0) , storage_map_a[ var_a] - arg1) ;
return 0x01 ;
}
/// @custom:selector 0x9c53417b
/// @custom:signature getLatestBurnEOA(address arg0) public view returns (uint224)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function getLatestBurnEOA( address arg0) public view returns ( uint224) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
require ( storage_map_i[ var_a] = = 0 ) ;
require ( ! ( storage_map_i[ var_a] - 0x01 ) > ( storage_map_i[ var_a] ) ) ;
var_a = 0 + keccak256( var_a) ;
return uint224( storage_map_j[ keccak256( var_a) + ( storage_map_i[ var_a] - 0x01 ) ] / 0x0100000000 ) ;
return 0 ;
}
/// @custom:selector 0xdd62ed3e
/// @custom:signature Unresolved_dd62ed3e(address arg0) public pure
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_dd62ed3e( address arg0) public pure {
require ( arg0 = = ( address ( arg0) ) ) ;
}
/// @custom:selector 0x87562012
/// @custom:signature Unresolved_87562012(uint256 arg0) public pure
/// @param arg0 ["uint256", "bytes32", "int256"]
function Unresolved_87562012 ( uint256 arg0) public pure {
require ( arg0 = = arg0) ;
}
/// @custom:selector 0x06fdde03
/// @custom:signature Unresolved_06fdde03() public view returns (string memory)
function Unresolved_06fdde03( ) public view returns ( string memory ) {
if ( store_k) {
if ( store_k - ( ( store_k / 0x02 ) < 0x20 ) ) {
uint256 var_c = var_c + ( 0x20 + ( ( ( 0x1f + ( store_k / 0x02 ) ) / 0x20 ) * 0x20 ) ) ;
if ( store_k) {
if ( store_k - ( ( store_k / 0x02 ) < 0x20 ) ) {
if ( ! store_k / 0x02 ) {
if ( 0x1f < ( store_k / 0x02 ) ) {
var_a = 0x12 ;
if ( ( 0x20 + var_c) + ( store_k / 0x02 ) > ( 0x20 + ( 0x20 + var_c) ) ) {
return abi. encodePacked( ( var_c + 0x20 ) - var_c, var_c. length) ;
}
}
}
}
}
}
}
}
/// @custom:selector 0x39509351
/// @custom:signature increaseAllowance(address arg0, uint256 arg1) public payable returns (bool)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function increaseAllowance( address arg0, uint256 arg1) public payable returns ( bool ) {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
var_a = address ( arg0) ;
require ( ! ( storage_map_a[ var_a] > ( storage_map_a[ var_a] + arg1) ) , "Approve to zero address" ) ;
require ( address ( msg. sender) - 0 , "Approve to zero address" ) ;
require ( address ( arg0) - 0 , "Approve to zero address" ) ;
var_a = address ( arg0) ;
storage_map_a[ var_a] = storage_map_a[ var_a] + arg1;
emit Event_8c5be1e5( address ( msg. sender) , address ( arg0) , storage_map_a[ var_a] + arg1) ;
return 0x01 ;
}
/// @custom:selector 0x95d89b41
/// @custom:signature Unresolved_95d89b41() public view returns (string memory)
function Unresolved_95d89b41( ) public view returns ( string memory ) {
if ( store_l) {
if ( store_l - ( ( store_l / 0x02 ) < 0x20 ) ) {
uint256 var_c = var_c + ( 0x20 + ( ( ( 0x1f + ( store_l / 0x02 ) ) / 0x20 ) * 0x20 ) ) ;
if ( store_l) {
if ( store_l - ( ( store_l / 0x02 ) < 0x20 ) ) {
if ( ! store_l / 0x02 ) {
if ( 0x1f < ( store_l / 0x02 ) ) {
var_a = 0x13 ;
if ( ( 0x20 + var_c) + ( store_l / 0x02 ) > ( 0x20 + ( 0x20 + var_c) ) ) {
return abi. encodePacked( ( var_c + 0x20 ) - var_c, var_c. length) ;
}
}
}
}
}
}
}
}
/// @custom:selector 0x3bf4c874
/// @custom:signature Rewardtransfer(address arg0, uint256 arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function Rewardtransfer( address arg0, uint256 arg1) public payable {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
address var_b = address ( msg. sender) ;
require ( 0x04 < 0x06 ) ;
( bool success, bytes memory ret0) = address ( store_m / 0x01 ) . Unresolved_23a3ad72( var_b) ; // staticcall
uint256 var_f = var_f + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_f + ret0. length) - var_f) < 0x20 ) , "Access Restricted" ) ;
require ( var_g = = ( var_g) , "Access Restricted" ) ;
require ( var_g, "Access Restricted" ) ;
require ( store_c = = 0x01 , "Transfer amount exceeds balance" ) ;
store_c = 0x02 ;
require ( address ( msg. sender) - 0 , "Transfer amount exceeds balance" ) ;
require ( address ( arg0) = = 0 , "Transfer amount exceeds balance" ) ;
require ( ! ( address ( arg0) = = 0x0369 ) , "Transfer amount exceeds balance" ) ;
require ( ! ( address ( msg. sender) . code. length > 0 ) , "Transfer amount exceeds balance" ) ;
address var_c = address ( tx. origin) ;
require ( ! ( storage_map_n[ var_c] > ( storage_map_n[ var_c] + arg1) ) , "Transfer amount exceeds balance" ) ;
var_c = address ( msg. sender) ;
require ( ! ( storage_map_n[ var_c] < arg1) , "Transfer amount exceeds balance" ) ;
var_c = address ( msg. sender) ;
storage_map_n[ var_c] = storage_map_n[ var_c] - arg1;
var_c = address ( arg0) ;
storage_map_n[ var_c] = storage_map_n[ var_c] + arg1;
emit Transfer( address ( msg. sender) , address ( arg0) , arg1) ;
store_c = 0x01 ;
if ( ! ( address ( arg0) ) = = 0 ) {
}
}
/// @custom:selector 0x4274e43d
/// @custom:signature burnBalanceEOA(address arg0) public view returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function burnBalanceEOA( address arg0) public view returns ( uint256 ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
return storage_map_a[ var_a] ;
}
/// @custom:selector 0xe6993191
/// @custom:signature getLatestBurnContract(address arg0) public view returns (uint224)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function getLatestBurnContract( address arg0) public view returns ( uint224) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
require ( storage_map_i[ var_a] = = 0 ) ;
require ( ! ( storage_map_i[ var_a] - 0x01 ) > ( storage_map_i[ var_a] ) ) ;
var_a = 0 + keccak256( var_a) ;
return uint224( storage_map_j[ keccak256( var_a) + ( storage_map_i[ var_a] - 0x01 ) ] / 0x0100000000 ) ;
return 0 ;
}
/// @custom:selector 0x23b872dd
/// @custom:signature Unresolved_23b872dd(address arg0) public pure
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_23b872dd( address arg0) public pure {
require ( arg0 = = ( address ( arg0) ) ) ;
}
/// @custom:selector 0xf2fde38b
/// @custom:signature transferOwnership(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function transferOwnership( address arg0) public payable {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( address ( owner / 0x01 ) = = ( address ( msg. sender) ) , CustomError_118cdaa7( ) ) ;
require ( address ( arg0) - 0 , CustomError_1e4fbdf7( ) ) ;
owner = ( address ( arg0) * 0x01 ) | ( uint96 ( owner) ) ;
emit OwnershipTransferred( address ( owner / 0x01 ) , address ( arg0) ) ;
}
/// @custom:selector 0x70a08231
/// @custom:signature Unresolved_70a08231(address arg0) public view returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function Unresolved_70a08231( address arg0) public view returns ( uint256 ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
return storage_map_a[ var_a] ;
}
/// @custom:selector 0x493722e5
/// @custom:signature Unresolved_493722e5(address arg0, uint256 arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function Unresolved_493722e5 ( address arg0, uint256 arg1) public payable {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
address var_b = address ( msg. sender) ;
require ( 0x03 < 0x06 ) ;
( bool success, bytes memory ret0) = address ( store_m / 0x01 ) . Unresolved_23a3ad72( var_b) ; // staticcall
uint256 var_f = var_f + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_f + ret0. length) - var_f) < 0x20 ) , "Access Restricted" ) ;
require ( var_g = = ( var_g) , "Access Restricted" ) ;
require ( var_g, "Access Restricted" ) ;
address var_c = address ( arg0) ;
storage_map_n[ var_c] = ( arg1 * 0x01 ) | ( uint248 ( storage_map_n[ var_c] ) ) ;
}
/// @custom:selector 0x40c10f19
/// @custom:signature mint(address arg0, uint256 arg1) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
/// @param arg1 ["uint256", "bytes32", "int256"]
function mint( address arg0, uint256 arg1) public payable {
require ( arg0 = = ( address ( arg0) ) ) ;
require ( arg1 = = arg1) ;
address var_b = address ( msg. sender) ;
require ( 0x04 < 0x06 ) ;
( bool success, bytes memory ret0) = address ( store_m / 0x01 ) . Unresolved_23a3ad72( var_b) ; // staticcall
uint256 var_f = var_f + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_f + ret0. length) - var_f) < 0x20 ) , "Access Restricted" ) ;
require ( var_g = = ( var_g) , "Access Restricted" ) ;
require ( var_g, "Access Restricted" ) ;
require ( address ( arg0) - 0 , "Mint to zero address" ) ;
require ( ! ( unresolved_18160ddd > ( unresolved_18160ddd + arg1) ) , "Mint to zero address" ) ;
unresolved_18160ddd = unresolved_18160ddd + arg1;
address var_c = address ( arg0) ;
storage_map_n[ var_c] = storage_map_n[ var_c] + arg1;
emit Transfer( 0 , address ( arg0) , arg1) ;
}
/// @custom:selector 0xf0f44260
/// @custom:signature setTreasury(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function setTreasury( address arg0) public payable {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_b = address ( msg. sender) ;
require ( 0x04 < 0x06 ) ;
( bool success, bytes memory ret0) = address ( store_m / 0x01 ) . Unresolved_23a3ad72( var_b) ; // staticcall
uint256 var_f = var_f + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_f + ret0. length) - var_f) < 0x20 ) , "Access Restricted" ) ;
require ( var_g = = ( var_g) , "Access Restricted" ) ;
require ( var_g, "Access Restricted" ) ;
store_p = ( address ( arg0) * 0x01 ) | ( uint96 ( store_p) ) ;
}
/// @custom:selector 0x6fe34e89
/// @custom:signature burnBalanceContract(address arg0) public view returns (uint256)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function burnBalanceContract( address arg0) public view returns ( uint256 ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
return storage_map_a[ var_a] ;
}
/// @custom:selector 0xa91ee0dc
/// @custom:signature setRegistry(address arg0) public payable
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function setRegistry( address arg0) public payable {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_b = address ( msg. sender) ;
require ( 0x03 < 0x06 ) ;
( bool success, bytes memory ret0) = address ( store_m / 0x01 ) . Unresolved_23a3ad72( var_b) ; // staticcall
uint256 var_f = var_f + ( uint248 ( ret0. length + 0x1f ) ) ;
require ( ! ( ( ( var_f + ret0. length) - var_f) < 0x20 ) , "Access Restricted" ) ;
require ( var_g = = ( var_g) , "Access Restricted" ) ;
require ( var_g, "Access Restricted" ) ;
require ( address ( arg0) . code. length > 0 , "Provided address is not a contract" ) ;
registry = ( address ( arg0) * 0x01 ) | ( uint96 ( registry) ) ;
}
/// @custom:selector 0xcb4ca631
/// @custom:signature isExcludedFromTax(address arg0) public view returns (bool)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function isExcludedFromTax( address arg0) public view returns ( bool ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
return ! ( ! bytes1 ( storage_map_a[ var_a] / 0x01 ) ) ;
}
/// @custom:selector 0xbe183492
/// @custom:signature getFullBurnHistoryContract(address arg0) public view returns (bytes memory)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function getFullBurnHistoryContract( address arg0) public view returns ( bytes memory ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
address var_c = var_c + ( 0x20 + ( 0x20 * storage_map_a[ var_a] ) ) ;
if ( ! storage_map_a[ var_a] ) {
var_a = keccak256( var_a) ;
require ( ! storage_map_a[ var_a] ) ;
require ( ( 0x20 + var_c) + ( 0x20 * storage_map_a[ var_a] ) > ( 0x20 + ( 0x20 + var_c) ) ) ;
var_c = var_c + ( 0x20 + ( 0x20 * var_c. length) ) ;
require ( ! var_c. length > 0xffffffffffffffff ) ;
var_a = address ( arg0) ;
require ( ! var_c. length) ;
require ( ! 0 < ( storage_map_i[ var_a] ) ) ;
require ( 0x02 ) ;
var_a = 0 + keccak256( var_a) ;
require ( ! ( 0 & ( storage_map_i[ var_a] ) ) > ( 0 & ( storage_map_i[ var_a] ) + ( ( 0 ^ ( storage_map_i[ var_a] ) ) / 0x02 ) ) ) ;
}
require ( storage_map_i[ var_a] = = 0 ) ;
require ( ! ( storage_map_i[ var_a] - 0x01 ) > ( storage_map_i[ var_a] ) ) ;
return abi. encodePacked( ( var_c + 0x40 ) - var_c, ( ( var_c + 0x40 ) + 0x20 ) - var_c, var_c. length, var_c. length) ;
}
/// @custom:selector 0xcae5cb50
/// @custom:signature getFullBurnHistoryEOA(address arg0) public view returns (bytes memory)
/// @param arg0 ["address", "uint160", "bytes20", "int160"]
function getFullBurnHistoryEOA( address arg0) public view returns ( bytes memory ) {
require ( arg0 = = ( address ( arg0) ) ) ;
address var_a = address ( arg0) ;
address var_c = var_c + ( 0x20 + ( 0x20 * storage_map_a[ var_a] ) ) ;
if ( ! storage_map_a[ var_a] ) {
var_a = keccak256( var_a) ;
require ( ! storage_map_a[ var_a] ) ;
require ( ( 0x20 + var_c) + ( 0x20 * storage_map_a[ var_a] ) > ( 0x20 + ( 0x20 + var_c) ) ) ;
var_c = var_c + ( 0x20 + ( 0x20 * var_c. length) ) ;
require ( ! var_c. length > 0xffffffffffffffff ) ;
var_a = address ( arg0) ;
require ( ! var_c. length) ;
require ( ! 0 < ( storage_map_i[ var_a] ) ) ;
require ( 0x02 ) ;
var_a = 0 + keccak256( var_a) ;
require ( ! ( 0 & ( storage_map_i[ var_a] ) ) > ( 0 & ( storage_map_i[ var_a] ) + ( ( 0 ^ ( storage_map_i[ var_a] ) ) / 0x02 ) ) ) ;
}
require ( storage_map_i[ var_a] = = 0 ) ;
require ( ! ( storage_map_i[ var_a] - 0x01 ) > ( storage_map_i[ var_a] ) ) ;
return abi. encodePacked( ( var_c + 0x40 ) - var_c, ( ( var_c + 0x40 ) + 0x20 ) - var_c, var_c. length, var_c. length) ;
}
/// @custom:selector 0x715018a6
/// @custom:signature renounceOwnership() public payable
function renounceOwnership( ) public payable {
require ( address ( owner / 0x01 ) = = ( address ( msg. sender) ) , CustomError_118cdaa7( ) ) ;
owner = 0 | ( uint96 ( owner) ) ;
emit OwnershipTransferred( address ( owner / 0x01 ) , 0 ) ;
}
}
ABI
[
{
"type": "function",
"name": "Rewardtransfer",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_06fdde03",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_095ea7b3",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_18160ddd",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_23b872dd",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_493722e5",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "Unresolved_70a08231",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_87562012",
"inputs": [
{
"name": "arg0",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "Unresolved_95d89b41",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "Unresolved_dd62ed3e",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "pure"
},
{
"type": "function",
"name": "burnAddress",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "burnBalanceContract",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "burnBalanceEOA",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "decimals",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure"
},
{
"type": "function",
"name": "decreaseAllowance",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "getFullBurnHistoryContract",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "bytes"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getFullBurnHistoryEOA",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "bytes"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getLatestBurnContract",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint224"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getLatestBurnEOA",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint224"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "increaseAllowance",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "isExcludedFromTax",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "mint",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "owner",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "registry",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "renounceOwnership",
"inputs": [],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "setRegistry",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "setTreasury",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "totalBurned",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "transfer",
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "transferOwnership",
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "event",
"name": "Event_8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
"inputs": [],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipTransferred",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
}
],
"anonymous": false
},
{
"type": "event",
"name": "Transfer",
"inputs": [
{
"name": "arg0",
"type": "address",
"indexed": false
},
{
"name": "arg1",
"type": "address",
"indexed": false
},
{
"name": "arg2",
"type": "uint256",
"indexed": false
}
],
"anonymous": false
},
{
"type": "error",
"name": "OwnableInvalidOwner",
"inputs": [
{
"name": "arg0",
"type": "address"
}
]
},
{
"type": "error",
"name": "OwnableUnauthorizedAccount",
"inputs": [
{
"name": "arg0",
"type": "address"
}
]
}
]