Skip to content

Instantly share code, notes, and snippets.

@VaWheel
Created July 25, 2023 21:26
Show Gist options
  • Save VaWheel/ad80df2f8b15067388876e92d8b80901 to your computer and use it in GitHub Desktop.
Save VaWheel/ad80df2f8b15067388876e92d8b80901 to your computer and use it in GitHub Desktop.
# Palkeoramix decompiler.
const unknown98ba1d46 = eth.balance(this.address)
def storage:
unknown8da5cb5bAddress is address at storage 0
unknown00615672 is uint256 at storage 1
unknowna4d66daf is uint256 at storage 2
stor3 is uint8 at storage 3
unknown9168ae72 is mapping of struct at storage 4
def unknown00615672(): # not payable
return unknown00615672
def stop(): # not payable
return bool(stor3)
def unknown8da5cb5b(): # not payable
return unknown8da5cb5bAddress
def unknown9168ae72(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
require _param1 == address(_param1)
return unknown9168ae72[_param1].field_0,
unknown9168ae72[_param1].field_256,
unknown9168ae72[_param1].field_512,
unknown9168ae72[_param1].field_768
def unknowna4d66daf(): # not payable
return unknowna4d66daf
def unknownc1ed99fd(): # not payable
return unknown9168ae72[caller].field_0
def unknowne833e111(): # not payable
return unknown9168ae72[caller].field_256
#
# Regular functions
#
def _fallback(?) payable: # default function
revert
def unknown1f288efb(): # not payable
if unknown8da5cb5bAddress != caller:
revert with 0, 'You are not the owner'
stor3 = 0
def unknownfd08a201(): # not payable
if unknown8da5cb5bAddress != caller:
revert with 0, 'You are not the owner'
stor3 = 1
def change_owner(address new_owner): # not payable
require calldata.size - 4 >=′ 32
require new_owner == new_owner
if unknown8da5cb5bAddress != caller:
revert with 0, 'You are not the owner'
unknown8da5cb5bAddress = new_owner
def unknown52389ba2(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
require _param1 == _param1
if unknown8da5cb5bAddress != caller:
revert with 0, 'You are not the owner'
call caller with:
value _param1 wei
gas 2300 * is_zero(value) wei
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
def unknown030dbce8(): # not payable
call caller with:
value unknown9168ae72[caller].field_0 wei
gas 2300 * is_zero(value) wei
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
unknown9168ae72[caller].field_0 = 0
unknown9168ae72[caller].field_256 = 0
unknown9168ae72[caller].field_768 = 0
def unknown7b183e49(uint256 _param1, uint256 _param2): # not payable
require calldata.size - 4 >=′ 64
require _param1 == _param1
require _param2 == _param2
if _param1 and unknown00615672 != _param1 * unknown00615672 / _param1:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if _param1 * unknown00615672 and _param2 / 30000 != _param1 * unknown00615672 * _param2 / 30000 / _param1 * unknown00615672:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
return (_param1 * unknown00615672 * _param2 / 30000 / 100)
def stake() payable:
if call.value <= 0:
revert with 0, 'You need to send some aves'
if unknowna4d66daf and 10^18 * unknowna4d66daf / unknowna4d66daf != 10^18:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if call.value >= 10^18 * unknowna4d66daf:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'You can't stake more than 100000 aves'
if stor3:
revert with 0, 'Staking is stopped'
if unknown9168ae72[caller].field_0 > unknown9168ae72[caller].field_0 + call.value:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
unknown9168ae72[caller].field_0 += call.value
unknown9168ae72[caller].field_256 = block.number
unknown9168ae72[caller].field_512 = caller
unknown9168ae72[caller].field_768 = 0
def unknown72acad56(): # not payable
if block.number - unknown9168ae72[caller].field_256 > block.number:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if block.number - unknown9168ae72[caller].field_256 < 30000:
revert with 0, 'You can't withdraw before 10000 blocks'
if unknown9168ae72[caller].field_0 and unknown00615672 != unknown9168ae72[caller].field_0 * unknown00615672 / unknown9168ae72[caller].field_0:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if unknown9168ae72[caller].field_0 * unknown00615672 and block.number - unknown9168ae72[caller].field_256 / 30000 != unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / unknown9168ae72[caller].field_0 * unknown00615672:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
return (unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / 100)
def unknownb887634d(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
require _param1 == address(_param1)
if block.number - unknown9168ae72[address(_param1)].field_256 > block.number:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if block.number - unknown9168ae72[address(_param1)].field_256 < 30000:
revert with 0, 'You can't withdraw before 10000 blocks'
if unknown9168ae72[address(_param1)].field_0 and unknown00615672 != unknown9168ae72[address(_param1)].field_0 * unknown00615672 / unknown9168ae72[address(_param1)].field_0:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if unknown9168ae72[address(_param1)].field_0 * unknown00615672 and block.number - unknown9168ae72[address(_param1)].field_256 / 30000 != unknown9168ae72[address(_param1)].field_0 * unknown00615672 * block.number - unknown9168ae72[address(_param1)].field_256 / 30000 / unknown9168ae72[address(_param1)].field_0 * unknown00615672:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
return (unknown9168ae72[address(_param1)].field_0 * unknown00615672 * block.number - unknown9168ae72[address(_param1)].field_256 / 30000 / 100)
def withdraw(): # not payable
if block.number - unknown9168ae72[caller].field_256 > block.number:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if block.number - unknown9168ae72[caller].field_256 < 30000:
revert with 0, 'You can't withdraw before 10000 blocks'
if unknown9168ae72[caller].field_0 and unknown00615672 != unknown9168ae72[caller].field_0 * unknown00615672 / unknown9168ae72[caller].field_0:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if unknown9168ae72[caller].field_0 * unknown00615672 and block.number - unknown9168ae72[caller].field_256 / 30000 != unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / unknown9168ae72[caller].field_0 * unknown00615672:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
if unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / 100 > (unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / 100) + unknown9168ae72[caller].field_0:
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
call caller with:
value (unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / 100) + unknown9168ae72[caller].field_0 wei
gas 2300 * is_zero(value) wei
if not ext_call.success:
revert with ext_call.return_data[0 len return_data.size]
if unknown9168ae72[caller].field_768 > unknown9168ae72[caller].field_768 + (unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / 100):
revert with Panic(17) # If an arithmetic operation results in underflow or overflow outside of an unchecked { ... } block.
unknown9168ae72[caller].field_768 += unknown9168ae72[caller].field_0 * unknown00615672 * block.number - unknown9168ae72[caller].field_256 / 30000 / 100
unknown9168ae72[caller].field_0 = 0
unknown9168ae72[caller].field_256 = 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment