Untitled
unknown
plain_text
4 years ago
48 kB
10
Indexable
#
# Panoramix v4 Oct 2019
# Decompiled source of bsc:0x8CD70b1D8d21c3e06F4505Fb3890288aDC9aB72c
#
# Let's make the world open source
#
const unknown1694505e = 0x10ed43c718714eb63d5aa57b78b54704e256024e
const unknown27c8f835 = 57005
const unknown49bd5a5e = 0x42172210bbe6687c5774249e838f5de9402b283a
def storage:
owner is addr at storage 0
stor1 is addr at storage 1
stor2 is uint256 at storage 2
marketingAddress is addr at storage 3
balanceOf is mapping of uint256 at storage 4
allowance is mapping of uint256 at storage 6
stor7 is mapping of uint8 at storage 7
stor8 is mapping of uint8 at storage 8
totalSupply is uint256 at storage 10
stor12 is array of struct at storage 12
stor13 is array of struct at storage 13
decimals is uint8 at storage 14
unknownd6b513cf is uint256 at storage 15
unknown7d1db4a5 is uint256 at storage 16
stor17 is uint8 at storage 17 offset 16
stor17 is uint256 at storage 17 offset 8
unknown4a74bb02 is uint8 at storage 17 offset 8
stor17 is uint256 at storage 17 offset 16
def totalSupply(): # not payable
return totalSupply
def decimals(): # not payable
return decimals
def unknown4a74bb02(): # not payable
return bool(unknown4a74bb02)
def balanceOf(address _owner): # not payable
require calldata.size - 4 >=′ 32
require _owner == _owner
return balanceOf[addr(_owner)]
def unknown7d1db4a5(): # not payable
return unknown7d1db4a5
def owner(): # not payable
return owner
def unknown9cee2142(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
require _param1 == addr(_param1)
return bool(stor8[_param1])
def marketingAddress(): # not payable
return marketingAddress
def unknownd6b513cf(): # not payable
return unknownd6b513cf
def allowance(address _owner, address _spender): # not payable
require calldata.size - 4 >=′ 64
require _owner == _owner
require _spender == _spender
return allowance[addr(_owner)][addr(_spender)]
#
# Regular functions
#
def unknownb0cb81f1(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
unknownd6b513cf = _param1
def addWhitelist(address _account): # not payable
require calldata.size - 4 >=′ 32
require _account == _account
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor8[addr(_account)] = 1
def removeWhitelist(address _account): # not payable
require calldata.size - 4 >=′ 32
require _account == _account
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor8[addr(_account)] = 0
def unknown30d35dee(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
require _param1 == bool(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
Mask(240, 0, stor17.field_16) = Mask(240, 0, bool(_param1))
def unknown437823ec(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
require _param1 == addr(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor7[addr(_param1)] = 1
def unknownc49b9a80(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
require _param1 == bool(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
Mask(248, 0, stor17.field_8) = Mask(248, 0, bool(_param1))
log 0x53726dfc: bool(_param1)
def unlock(): # not payable
if stor1 != caller:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'You don't have permission to unlock'
if block.timestamp <= stor2:
revert with 0, 'Contract is locked until 7 days'
log OwnershipTransferred(
address previousOwner=owner,
address newOwner=stor1)
owner = stor1
def unknown7d654c7f(uint256 _param1): # not payable
require calldata.size - 4 >=′ 32
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor1 = owner
owner = 0
if block.timestamp > !_param1:
revert with 0, 17
stor2 = block.timestamp + _param1
log OwnershipTransferred(
address previousOwner=owner,
address newOwner=0)
def approve(address _spender, uint256 _value): # not payable
require calldata.size - 4 >=′ 64
require _spender == _spender
if not caller:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'ERC20: approve from the zero address'
if not _spender:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'ERC20: approve to the zero address'
allowance[caller][addr(_spender)] = _value
log Approval(
address owner=_value,
address spender=caller,
uint256 value=_spender)
return 1
def burn(uint256 _value): # not payable
require calldata.size - 4 >=′ 32
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
if not caller:
revert with 0, 'ERC20: to the zero address'
if totalSupply > !_value:
revert with 0, 17
if totalSupply + _value < totalSupply:
revert with 0, 'SafeMath: addition overflow'
totalSupply += _value
if balanceOf[caller] > !_value:
revert with 0, 17
if balanceOf[caller] + _value < balanceOf[caller]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[caller] += _value
log 0x65ddf252: _value, 0, caller
def transfer(address _to, uint256 _value): # not payable
require calldata.size - 4 >=′ 64
require _to == _to
if not caller:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'ERC20: transfer from the zero address'
if not _to:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'ERC20: transfer to the zero address'
if _value <= 0:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'Transfer amount must be greater than zero'
if uint8(stor17.field_16):
if bool(stor8[addr(_to)]) != 1:
if bool(stor8[caller]) != 1:
if caller != caller:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'Coin Contract : You're not on whitelisted.'
if _value > balanceOf[caller]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[caller] < _value:
revert with 0, 17
balanceOf[caller] -= _value
if balanceOf[_to] > !_value:
revert with 0, 17
if balanceOf[_to] + _value < balanceOf[_to]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[addr(_to)] = balanceOf[_to] + _value
if stor7[caller]:
log 0x65ddf252: _value, caller, _to
else:
if stor7[addr(_to)]:
log 0x65ddf252: _value, caller, _to
else:
if stor8[caller]:
log 0x65ddf252: _value, caller, _to
else:
if stor8[addr(_to)]:
log 0x65ddf252: _value, caller, _to
else:
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
if _value / 100 * unknownd6b513cf > balanceOf[addr(_to)]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[addr(_to)] < _value / 100 * unknownd6b513cf:
revert with 0, 17
balanceOf[addr(_to)] += -1 * _value / 100 * unknownd6b513cf
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
if _value / 100 * unknownd6b513cf > _value:
revert with 0, 'SafeMath: subtraction overflow', 0
if _value < _value / 100 * unknownd6b513cf:
revert with 0, 17
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
if balanceOf[stor3] > !(_value / 100 * unknownd6b513cf):
revert with 0, 17
if balanceOf[stor3] + (_value / 100 * unknownd6b513cf) < balanceOf[stor3]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[stor3] += _value / 100 * unknownd6b513cf
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
log 0x65ddf252: (_value / 100 * unknownd6b513cf), caller, marketingAddress
log 0x65ddf252: (_value - (_value / 100 * unknownd6b513cf)), caller, _to
return 1
def name(): # not payable
if bool(stor12.length):
if bool(stor12.length) == uint255(stor12.length) * 0.5 < 32:
revert with 0, 34
if bool(stor12.length):
if bool(stor12.length) == uint255(stor12.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor12.length):
if 31 < uint255(stor12.length) * 0.5:
mem[128] = uint256(stor12.field_0)
idx = 128
s = 0
while (uint255(stor12.length) * 0.5) + 96 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor12.length), data=mem[128 len ceil32(uint255(stor12.length) * 0.5)])
mem[128] = 256 * stor12.length.field_8
else:
if bool(stor12.length) == stor12.length.field_1 < 32:
revert with 0, 34
if stor12.length.field_1:
if 31 < stor12.length.field_1:
mem[128] = uint256(stor12.field_0)
idx = 128
s = 0
while stor12.length.field_1 + 96 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor12.length), data=mem[128 len ceil32(uint255(stor12.length) * 0.5)])
mem[128] = 256 * stor12.length.field_8
mem[ceil32(uint255(stor12.length) * 0.5) + 192 len ceil32(uint255(stor12.length) * 0.5)] = mem[128 len ceil32(uint255(stor12.length) * 0.5)]
if ceil32(uint255(stor12.length) * 0.5) > uint255(stor12.length) * 0.5:
mem[ceil32(uint255(stor12.length) * 0.5) + (uint255(stor12.length) * 0.5) + 192] = 0
return Array(len=2 * Mask(256, -1, stor12.length), data=mem[128 len ceil32(uint255(stor12.length) * 0.5)], mem[(2 * ceil32(uint255(stor12.length) * 0.5)) + 192 len 2 * ceil32(uint255(stor12.length) * 0.5)]),
if bool(stor12.length) == stor12.length.field_1 < 32:
revert with 0, 34
if bool(stor12.length):
if bool(stor12.length) == uint255(stor12.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor12.length):
if 31 < uint255(stor12.length) * 0.5:
mem[128] = uint256(stor12.field_0)
idx = 128
s = 0
while (uint255(stor12.length) * 0.5) + 96 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor12.length % 128, data=mem[128 len ceil32(stor12.length.field_1)])
mem[128] = 256 * stor12.length.field_8
else:
if bool(stor12.length) == stor12.length.field_1 < 32:
revert with 0, 34
if stor12.length.field_1:
if 31 < stor12.length.field_1:
mem[128] = uint256(stor12.field_0)
idx = 128
s = 0
while stor12.length.field_1 + 96 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor12.length % 128, data=mem[128 len ceil32(stor12.length.field_1)])
mem[128] = 256 * stor12.length.field_8
mem[ceil32(stor12.length.field_1) + 192 len ceil32(stor12.length.field_1)] = mem[128 len ceil32(stor12.length.field_1)]
if ceil32(stor12.length.field_1) > stor12.length.field_1:
mem[ceil32(stor12.length.field_1) + stor12.length.field_1 + 192] = 0
return Array(len=stor12.length % 128, data=mem[128 len ceil32(stor12.length.field_1)], mem[(2 * ceil32(stor12.length.field_1)) + 192 len 2 * ceil32(stor12.length.field_1)]),
def symbol(): # not payable
if bool(stor13.length):
if bool(stor13.length) == uint255(stor13.length) * 0.5 < 32:
revert with 0, 34
if bool(stor13.length):
if bool(stor13.length) == uint255(stor13.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor13.length):
if 31 < uint255(stor13.length) * 0.5:
mem[128] = uint256(stor13.field_0)
idx = 128
s = 0
while (uint255(stor13.length) * 0.5) + 96 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor13.length), data=mem[128 len ceil32(uint255(stor13.length) * 0.5)])
mem[128] = 256 * stor13.length.field_8
else:
if bool(stor13.length) == stor13.length.field_1 < 32:
revert with 0, 34
if stor13.length.field_1:
if 31 < stor13.length.field_1:
mem[128] = uint256(stor13.field_0)
idx = 128
s = 0
while stor13.length.field_1 + 96 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor13.length), data=mem[128 len ceil32(uint255(stor13.length) * 0.5)])
mem[128] = 256 * stor13.length.field_8
mem[ceil32(uint255(stor13.length) * 0.5) + 192 len ceil32(uint255(stor13.length) * 0.5)] = mem[128 len ceil32(uint255(stor13.length) * 0.5)]
if ceil32(uint255(stor13.length) * 0.5) > uint255(stor13.length) * 0.5:
mem[ceil32(uint255(stor13.length) * 0.5) + (uint255(stor13.length) * 0.5) + 192] = 0
return Array(len=2 * Mask(256, -1, stor13.length), data=mem[128 len ceil32(uint255(stor13.length) * 0.5)], mem[(2 * ceil32(uint255(stor13.length) * 0.5)) + 192 len 2 * ceil32(uint255(stor13.length) * 0.5)]),
if bool(stor13.length) == stor13.length.field_1 < 32:
revert with 0, 34
if bool(stor13.length):
if bool(stor13.length) == uint255(stor13.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor13.length):
if 31 < uint255(stor13.length) * 0.5:
mem[128] = uint256(stor13.field_0)
idx = 128
s = 0
while (uint255(stor13.length) * 0.5) + 96 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor13.length % 128, data=mem[128 len ceil32(stor13.length.field_1)])
mem[128] = 256 * stor13.length.field_8
else:
if bool(stor13.length) == stor13.length.field_1 < 32:
revert with 0, 34
if stor13.length.field_1:
if 31 < stor13.length.field_1:
mem[128] = uint256(stor13.field_0)
idx = 128
s = 0
while stor13.length.field_1 + 96 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor13.length % 128, data=mem[128 len ceil32(stor13.length.field_1)])
mem[128] = 256 * stor13.length.field_8
mem[ceil32(stor13.length.field_1) + 192 len ceil32(stor13.length.field_1)] = mem[128 len ceil32(stor13.length.field_1)]
if ceil32(stor13.length.field_1) > stor13.length.field_1:
mem[ceil32(stor13.length.field_1) + stor13.length.field_1 + 192] = 0
return Array(len=stor13.length % 128, data=mem[128 len ceil32(stor13.length.field_1)], mem[(2 * ceil32(stor13.length.field_1)) + 192 len 2 * ceil32(stor13.length.field_1)]),
def transferFrom(address _from, address _to, uint256 _value): # not payable
require calldata.size - 4 >=′ 96
require _from == _from
require _to == _to
if not _from:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'ERC20: transfer from the zero address'
if not _to:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'ERC20: transfer to the zero address'
if _value <= 0:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'Transfer amount must be greater than zero'
if uint8(stor17.field_16):
if bool(stor8[addr(_to)]) != 1:
if bool(stor8[addr(_from)]) != 1:
if _from != caller:
revert with 0x8c379a000000000000000000000000000000000000000000000000000000000, 'Coin Contract : You're not on whitelisted.'
if _value > balanceOf[addr(_from)]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[addr(_from)] < _value:
revert with 0, 17
balanceOf[addr(_from)] -= _value
if balanceOf[_to] > !_value:
revert with 0, 17
if balanceOf[_to] + _value < balanceOf[_to]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[addr(_to)] = balanceOf[_to] + _value
if stor7[addr(_from)]:
log 0x65ddf252: _value, _from, _to
if _value > allowance[addr(_from)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[232 len 24] >> 64,
0
else:
if stor7[addr(_to)]:
log 0x65ddf252: _value, _from, _to
if _value > allowance[addr(_from)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[232 len 24] >> 64,
0
else:
if stor8[addr(_from)]:
log 0x65ddf252: _value, _from, _to
if _value > allowance[addr(_from)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[232 len 24] >> 64,
0
else:
if stor8[addr(_to)]:
log 0x65ddf252: _value, _from, _to
if _value > allowance[addr(_from)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[232 len 24] >> 64,
0
else:
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
if _value / 100 * unknownd6b513cf > balanceOf[addr(_to)]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[addr(_to)] < _value / 100 * unknownd6b513cf:
revert with 0, 17
balanceOf[addr(_to)] += -1 * _value / 100 * unknownd6b513cf
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
if _value / 100 * unknownd6b513cf > _value:
revert with 0, 'SafeMath: subtraction overflow', 0
if _value < _value / 100 * unknownd6b513cf:
revert with 0, 17
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
if balanceOf[stor3] > !(_value / 100 * unknownd6b513cf):
revert with 0, 17
if balanceOf[stor3] + (_value / 100 * unknownd6b513cf) < balanceOf[stor3]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[stor3] += _value / 100 * unknownd6b513cf
if _value / 100 and unknownd6b513cf > -1 / _value / 100:
revert with 0, 17
log 0x65ddf252: (_value / 100 * unknownd6b513cf), _from, marketingAddress
log 0x65ddf252: (_value - (_value / 100 * unknownd6b513cf)), _from, _to
if _value > allowance[addr(_from)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[360 len 24] >> 64,
0
('le', ('param', '_value'), ('stor', ('map', 'caller', ('map', ('mask_shl', 160, 0, 0, ('param', '_from')), ('name', 'allowance', 6)))))
if allowance[addr(_from)][caller] < _value:
revert with 0, 17
if not _from:
revert with 0, 'ERC20: approve from the zero address'
if not caller:
revert with 0, 'ERC20: approve to the zero address'
allowance[addr(_from)][caller] = allowance[addr(_from)][caller] - _value
log Approval(
address owner=(allowance[addr(_from)][caller] - _value),
address spender=_from,
uint256 value=caller)
return 1
def _fallback() payable: # default function
if calldata.size < 4:
require not calldata.size
stop
if removeWhitelist(address account) <= uint32(call.func_hash) >> 224:
if unlock() > uint32(call.func_hash) >> 224:
if owner() > uint32(call.func_hash) >> 224:
if removeWhitelist(address account) == uint32(call.func_hash) >> 224:
require not call.value
require calldata.size - 4 >=′ 32
require _param1 == addr(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor8[addr(_param1)] = 0
else:
if 2099098789 == uint32(call.func_hash) >> 224:
require not call.value
return unknown7d1db4a5
require 2103790719 == uint32(call.func_hash) >> 224
require not call.value
require calldata.size - 4 >=′ 32
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor1 = owner
owner = 0
if block.timestamp > !_param1:
revert with 0, 17
stor2 = block.timestamp + _param1
log OwnershipTransferred(
address previousOwner=owner,
address newOwner=0)
stop
if owner() == uint32(call.func_hash) >> 224:
require not call.value
return owner
if uint32(call.func_hash) >> 224 != symbol():
if uint32(call.func_hash) >> 224 != 2632851778:
require marketingAddress() == uint32(call.func_hash) >> 224
require not call.value
return marketingAddress
require not call.value
require calldata.size - 4 >=′ 32
require _param1 == addr(_param1)
return bool(stor8[_param1])
require not call.value
if bool(stor13.length):
if bool(stor13.length) == uint255(stor13.length) * 0.5 < 32:
revert with 0, 34
if bool(stor13.length):
if bool(stor13.length) == uint255(stor13.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor13.length):
if 31 < uint255(stor13.length) * 0.5:
mem[160] = uint256(stor13.field_0)
idx = 160
s = 0
while (uint255(stor13.length) * 0.5) + 128 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor13.length), data=mem[160 len ceil32(uint255(stor13.length) * 0.5)])
mem[160] = 256 * stor13.length.field_8
else:
if bool(stor13.length) == stor13.length.field_1 < 32:
revert with 0, 34
if stor13.length.field_1:
if 31 < stor13.length.field_1:
mem[160] = uint256(stor13.field_0)
idx = 160
s = 0
while stor13.length.field_1 + 128 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor13.length), data=mem[160 len ceil32(uint255(stor13.length) * 0.5)])
mem[160] = 256 * stor13.length.field_8
mem[ceil32(uint255(stor13.length) * 0.5) + 224 len ceil32(uint255(stor13.length) * 0.5)] = mem[160 len ceil32(uint255(stor13.length) * 0.5)]
if ceil32(uint255(stor13.length) * 0.5) > uint255(stor13.length) * 0.5:
mem[ceil32(uint255(stor13.length) * 0.5) + (uint255(stor13.length) * 0.5) + 224] = 0
return Array(len=2 * Mask(256, -1, stor13.length), data=mem[160 len ceil32(uint255(stor13.length) * 0.5)], mem[(2 * ceil32(uint255(stor13.length) * 0.5)) + 224 len 2 * ceil32(uint255(stor13.length) * 0.5)]),
if bool(stor13.length) == stor13.length.field_1 < 32:
revert with 0, 34
if bool(stor13.length):
if bool(stor13.length) == uint255(stor13.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor13.length):
if 31 < uint255(stor13.length) * 0.5:
mem[160] = uint256(stor13.field_0)
idx = 160
s = 0
while (uint255(stor13.length) * 0.5) + 128 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor13.length % 128, data=mem[160 len ceil32(stor13.length.field_1)])
mem[160] = 256 * stor13.length.field_8
else:
if bool(stor13.length) == stor13.length.field_1 < 32:
revert with 0, 34
if stor13.length.field_1:
if 31 < stor13.length.field_1:
mem[160] = uint256(stor13.field_0)
idx = 160
s = 0
while stor13.length.field_1 + 128 > idx:
mem[idx + 32] = stor13[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor13.length % 128, data=mem[160 len ceil32(stor13.length.field_1)])
mem[160] = 256 * stor13.length.field_8
mem[ceil32(stor13.length.field_1) + 224 len ceil32(stor13.length.field_1)] = mem[160 len ceil32(stor13.length.field_1)]
if ceil32(stor13.length.field_1) > stor13.length.field_1:
mem[ceil32(stor13.length.field_1) + stor13.length.field_1 + 224] = 0
return Array(len=stor13.length % 128, data=mem[160 len ceil32(stor13.length.field_1)], mem[(2 * ceil32(stor13.length.field_1)) + 224 len 2 * ceil32(stor13.length.field_1)]),
if 3298531968 <= uint32(call.func_hash) >> 224:
if 3298531968 == uint32(call.func_hash) >> 224:
require not call.value
require calldata.size - 4 >=′ 32
require _param1 == bool(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
Mask(248, 0, stor17.field_8) = Mask(248, 0, bool(_param1))
log 0x53726dfc: bool(_param1)
else:
if 3602191311 == uint32(call.func_hash) >> 224:
require not call.value
return unknownd6b513cf
if allowance(address owner, address spender) == uint32(call.func_hash) >> 224:
require not call.value
require calldata.size - 4 >=′ 64
require _param1 == addr(_param1)
require _param2 == addr(_param2)
return allowance[addr(_param1)][addr(_param2)]
require addWhitelist(address account) == uint32(call.func_hash) >> 224
require not call.value
require calldata.size - 4 >=′ 32
require _param1 == addr(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor8[addr(_param1)] = 1
stop
if unlock() == uint32(call.func_hash) >> 224:
require not call.value
if stor1 != caller:
revert with 0, 'You don't have permission to unlock'
if block.timestamp <= stor2:
revert with 0, 'Contract is locked until 7 days'
log OwnershipTransferred(
address previousOwner=owner,
address newOwner=stor1)
owner = stor1
stop
if uint32(call.func_hash) >> 224 != transfer(address to, uint256 value):
require 2966127089 == uint32(call.func_hash) >> 224
require not call.value
require calldata.size - 4 >=′ 32
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
unknownd6b513cf = _param1
stop
require not call.value
require calldata.size - 4 >=′ 64
require _param1 == addr(_param1)
if not caller:
revert with 0, 'ERC20: transfer from the zero address'
if not addr(_param1):
revert with 0, 'ERC20: transfer to the zero address'
if _param2 <= 0:
revert with 0, 'Transfer amount must be greater than zero'
if uint8(stor17.field_16):
if bool(stor8[addr(_param1)]) != 1:
if bool(stor8[caller]) != 1:
if caller != caller:
revert with 0, 'Coin Contract : You're not on whitelisted.'
if _param2 > balanceOf[caller]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[caller] < _param2:
revert with 0, 17
balanceOf[caller] -= _param2
if balanceOf[addr(_param1)] > !_param2:
revert with 0, 17
if balanceOf[addr(_param1)] + _param2 < balanceOf[addr(_param1)]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[addr(_param1)] += _param2
if stor7[caller]:
log 0x65ddf252: _param2, caller, addr(_param1)
else:
if stor7[addr(_param1)]:
log 0x65ddf252: _param2, caller, addr(_param1)
else:
if stor8[caller]:
log 0x65ddf252: _param2, caller, addr(_param1)
else:
if stor8[addr(_param1)]:
log 0x65ddf252: _param2, caller, addr(_param1)
else:
if _param2 / 100 and unknownd6b513cf > -1 / _param2 / 100:
revert with 0, 17
if _param2 / 100 * unknownd6b513cf > balanceOf[addr(_param1)]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[addr(_param1)] < _param2 / 100 * unknownd6b513cf:
revert with 0, 17
balanceOf[addr(_param1)] += -1 * _param2 / 100 * unknownd6b513cf
if _param2 / 100 and unknownd6b513cf > -1 / _param2 / 100:
revert with 0, 17
if _param2 / 100 * unknownd6b513cf > _param2:
revert with 0, 'SafeMath: subtraction overflow', 0
if _param2 < _param2 / 100 * unknownd6b513cf:
revert with 0, 17
if _param2 / 100 and unknownd6b513cf > -1 / _param2 / 100:
revert with 0, 17
if balanceOf[stor3] > !(_param2 / 100 * unknownd6b513cf):
revert with 0, 17
if balanceOf[stor3] + (_param2 / 100 * unknownd6b513cf) < balanceOf[stor3]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[stor3] += _param2 / 100 * unknownd6b513cf
if _param2 / 100 and unknownd6b513cf > -1 / _param2 / 100:
revert with 0, 17
log 0x65ddf252: (_param2 / 100 * unknownd6b513cf), caller, marketingAddress
log 0x65ddf252: (_param2 - (_param2 / 100 * unknownd6b513cf)), caller, addr(_param1)
else:
if 819158510 <= uint32(call.func_hash) >> 224:
if 1131946988 <= uint32(call.func_hash) >> 224:
if 1131946988 == uint32(call.func_hash) >> 224:
require not call.value
require calldata.size - 4 >=′ 32
require _param1 == addr(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
stor7[addr(_param1)] = 1
stop
if 1237146206 == uint32(call.func_hash) >> 224:
require not call.value
return 0x42172210bbe6687c5774249e838f5de9402b283a
if 1249164034 == uint32(call.func_hash) >> 224:
require not call.value
return bool(unknown4a74bb02)
require balanceOf(address owner) == uint32(call.func_hash) >> 224
require not call.value
require calldata.size - 4 >=′ 32
require _param1 == addr(_param1)
return balanceOf[addr(_param1)]
if 819158510 == uint32(call.func_hash) >> 224:
require not call.value
require calldata.size - 4 >=′ 32
require _param1 == bool(_param1)
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
Mask(240, 0, stor17.field_16) = Mask(240, 0, bool(_param1))
else:
if decimals() == uint32(call.func_hash) >> 224:
require not call.value
return decimals
require burn(uint256 value) == uint32(call.func_hash) >> 224
require not call.value
require calldata.size - 4 >=′ 32
if owner != caller:
revert with 0, 'Ownable: caller is not the owner'
if not caller:
revert with 0, 'ERC20: to the zero address'
if totalSupply > !_param1:
revert with 0, 17
if totalSupply + _param1 < totalSupply:
revert with 0, 'SafeMath: addition overflow'
totalSupply += _param1
if balanceOf[caller] > !_param1:
revert with 0, 17
if balanceOf[caller] + _param1 < balanceOf[caller]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[caller] += _param1
log 0x65ddf252: _param1, 0, caller
stop
if name() == uint32(call.func_hash) >> 224:
require not call.value
if bool(stor12.length):
if bool(stor12.length) == uint255(stor12.length) * 0.5 < 32:
revert with 0, 34
if bool(stor12.length):
if bool(stor12.length) == uint255(stor12.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor12.length):
if 31 < uint255(stor12.length) * 0.5:
mem[160] = uint256(stor12.field_0)
idx = 160
s = 0
while (uint255(stor12.length) * 0.5) + 128 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor12.length), data=mem[160 len ceil32(uint255(stor12.length) * 0.5)])
mem[160] = 256 * stor12.length.field_8
else:
if bool(stor12.length) == stor12.length.field_1 < 32:
revert with 0, 34
if stor12.length.field_1:
if 31 < stor12.length.field_1:
mem[160] = uint256(stor12.field_0)
idx = 160
s = 0
while stor12.length.field_1 + 128 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=2 * Mask(256, -1, stor12.length), data=mem[160 len ceil32(uint255(stor12.length) * 0.5)])
mem[160] = 256 * stor12.length.field_8
mem[ceil32(uint255(stor12.length) * 0.5) + 224 len ceil32(uint255(stor12.length) * 0.5)] = mem[160 len ceil32(uint255(stor12.length) * 0.5)]
if ceil32(uint255(stor12.length) * 0.5) > uint255(stor12.length) * 0.5:
mem[ceil32(uint255(stor12.length) * 0.5) + (uint255(stor12.length) * 0.5) + 224] = 0
return Array(len=2 * Mask(256, -1, stor12.length), data=mem[160 len ceil32(uint255(stor12.length) * 0.5)], mem[(2 * ceil32(uint255(stor12.length) * 0.5)) + 224 len 2 * ceil32(uint255(stor12.length) * 0.5)]),
if bool(stor12.length) == stor12.length.field_1 < 32:
revert with 0, 34
if bool(stor12.length):
if bool(stor12.length) == uint255(stor12.length) * 0.5 < 32:
revert with 0, 34
if Mask(256, -1, stor12.length):
if 31 < uint255(stor12.length) * 0.5:
mem[160] = uint256(stor12.field_0)
idx = 160
s = 0
while (uint255(stor12.length) * 0.5) + 128 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor12.length % 128, data=mem[160 len ceil32(stor12.length.field_1)])
mem[160] = 256 * stor12.length.field_8
else:
if bool(stor12.length) == stor12.length.field_1 < 32:
revert with 0, 34
if stor12.length.field_1:
if 31 < stor12.length.field_1:
mem[160] = uint256(stor12.field_0)
idx = 160
s = 0
while stor12.length.field_1 + 128 > idx:
mem[idx + 32] = stor12[s].field_256
idx = idx + 32
s = s + 1
continue
return Array(len=stor12.length % 128, data=mem[160 len ceil32(stor12.length.field_1)])
mem[160] = 256 * stor12.length.field_8
mem[ceil32(stor12.length.field_1) + 224 len ceil32(stor12.length.field_1)] = mem[160 len ceil32(stor12.length.field_1)]
if ceil32(stor12.length.field_1) > stor12.length.field_1:
mem[ceil32(stor12.length.field_1) + stor12.length.field_1 + 224] = 0
return Array(len=stor12.length % 128, data=mem[160 len ceil32(stor12.length.field_1)], mem[(2 * ceil32(stor12.length.field_1)) + 224 len 2 * ceil32(stor12.length.field_1)]),
if approve(address spender, uint256 value) == uint32(call.func_hash) >> 224:
require not call.value
require calldata.size - 4 >=′ 64
require _param1 == addr(_param1)
if not caller:
revert with 0, 'ERC20: approve from the zero address'
if not addr(_param1):
revert with 0, 'ERC20: approve to the zero address'
allowance[caller][addr(_param1)] = _param2
log Approval(
address owner=_param2,
address spender=caller,
uint256 value=addr(_param1))
else:
if 378818654 == uint32(call.func_hash) >> 224:
require not call.value
return 0x10ed43c718714eb63d5aa57b78b54704e256024e
if totalSupply() == uint32(call.func_hash) >> 224:
require not call.value
return totalSupply
if uint32(call.func_hash) >> 224 != transferFrom(address from, address to, uint256 value):
require 667482165 == uint32(call.func_hash) >> 224
require not call.value
return 57005
require not call.value
require calldata.size - 4 >=′ 96
require _param1 == addr(_param1)
require _param2 == addr(_param2)
if not addr(_param1):
revert with 0, 'ERC20: transfer from the zero address'
if not addr(_param2):
revert with 0, 'ERC20: transfer to the zero address'
if _param3 <= 0:
revert with 0, 'Transfer amount must be greater than zero'
if uint8(stor17.field_16):
if bool(stor8[addr(_param2)]) != 1:
if bool(stor8[addr(_param1)]) != 1:
if addr(_param1) != caller:
revert with 0, 'Coin Contract : You're not on whitelisted.'
if _param3 > balanceOf[addr(_param1)]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[addr(_param1)] < _param3:
revert with 0, 17
balanceOf[addr(_param1)] -= _param3
if balanceOf[addr(_param2)] > !_param3:
revert with 0, 17
if balanceOf[addr(_param2)] + _param3 < balanceOf[addr(_param2)]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[addr(_param2)] += _param3
if stor7[addr(_param1)]:
log 0x65ddf252: _param3, addr(_param1), addr(_param2)
if _param3 > allowance[addr(_param1)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[264 len 24] >> 64,
0
else:
if stor7[addr(_param2)]:
log 0x65ddf252: _param3, addr(_param1), addr(_param2)
if _param3 > allowance[addr(_param1)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[264 len 24] >> 64,
0
else:
if stor8[addr(_param1)]:
log 0x65ddf252: _param3, addr(_param1), addr(_param2)
if _param3 > allowance[addr(_param1)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[264 len 24] >> 64,
0
else:
if stor8[addr(_param2)]:
log 0x65ddf252: _param3, addr(_param1), addr(_param2)
if _param3 > allowance[addr(_param1)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[264 len 24] >> 64,
0
else:
if _param3 / 100 and unknownd6b513cf > -1 / _param3 / 100:
revert with 0, 17
if _param3 / 100 * unknownd6b513cf > balanceOf[addr(_param2)]:
revert with 0, 'SafeMath: subtraction overflow', 0
if balanceOf[addr(_param2)] < _param3 / 100 * unknownd6b513cf:
revert with 0, 17
balanceOf[addr(_param2)] += -1 * _param3 / 100 * unknownd6b513cf
if _param3 / 100 and unknownd6b513cf > -1 / _param3 / 100:
revert with 0, 17
if _param3 / 100 * unknownd6b513cf > _param3:
revert with 0, 'SafeMath: subtraction overflow', 0
if _param3 < _param3 / 100 * unknownd6b513cf:
revert with 0, 17
if _param3 / 100 and unknownd6b513cf > -1 / _param3 / 100:
revert with 0, 17
if balanceOf[stor3] > !(_param3 / 100 * unknownd6b513cf):
revert with 0, 17
if balanceOf[stor3] + (_param3 / 100 * unknownd6b513cf) < balanceOf[stor3]:
revert with 0, 'SafeMath: addition overflow'
balanceOf[stor3] += _param3 / 100 * unknownd6b513cf
if _param3 / 100 and unknownd6b513cf > -1 / _param3 / 100:
revert with 0, 17
log 0x65ddf252: (_param3 / 100 * unknownd6b513cf), addr(_param1), marketingAddress
log 0x65ddf252: (_param3 - (_param3 / 100 * unknownd6b513cf)), addr(_param1), addr(_param2)
if _param3 > allowance[addr(_param1)][caller]:
revert with 0,
32,
40,
0xfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63, mem[392 len 24] >> 64,
0
('le', ('param', '_param3'), ('stor', ('map', 'caller', ('map', ('mask_shl', 160, 0, 0, ('param', '_param1')), ('name', 'allowance', 6)))))
if allowance[addr(_param1)][caller] < _param3:
revert with 0, 17
if not addr(_param1):
revert with 0, 'ERC20: approve from the zero address'
if not caller:
revert with 0, 'ERC20: approve to the zero address'
allowance[addr(_param1)][caller] = allowance[addr(_param1)][caller] - _param3
log Approval(
address owner=(allowance[addr(_param1)][caller] - _param3),
address spender=addr(_param1),
uint256 value=caller)
return 1
Editor is loading...