ETH Price: $3,000.88 (+2.01%)

Transaction Decoder

Block:
22892516 at Jul-11-2025 12:59:35 AM +UTC
Transaction Fee:
0.000292933584546255 ETH $0.88
Gas Used:
104,815 Gas / 2.794767777 Gwei

Account State Difference:

  Address   Before After State Difference Code
(Titan Builder)
40.579611320456249897 Eth40.579675637939111862 Eth0.000064317482861965
0x708fdf3f...b49481cc0 From: 22892026899652070454194934764186000560510438816284993843 To: 22892026785094672846395272929468696564280444468116427683
0xB9d00655...3B124DA7c
0.060893030940087118 Eth
Nonce: 387
0.060600097355540863 Eth
Nonce: 388
0.000292933584546255
0xce853db3...3BbCdd007

Execution Trace

0x708fdf3f53b49f0a781178e470210b6b49481cc0.5773341e( )
  • Penis.transfer( _to=0xB9d00655cAE73b4d0905D199150c82D3B124DA7c, _amount=8000 ) => ( success=True )
    pragma solidity ^0.4.8;
    
    contract ERC20Interface {
        function totalSupply() public constant returns (uint256 supply);
        function balance() public constant returns (uint256);
        function balanceOf(address _owner) public constant returns (uint256);
        function transfer(address _to, uint256 _value) public returns (bool success);
        function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
        function approve(address _spender, uint256 _value) public returns (bool success);
        function allowance(address _owner, address _spender) public constant returns (uint256 remaining);
    
        event Transfer(address indexed _from, address indexed _to, uint256 _value);
        event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    }
    
    // penispenispenispenis
    // YOU get a penis, and YOU get a penis, and YOU get a penis!
    contract Penis is ERC20Interface {
        string public constant symbol = "PNS";
        string public constant name = "Penis";
        uint8 public constant decimals = 2;
    
        uint256 _totalSupply = 0;
        uint256 _airdropAmount = 8008135;
        uint256 _cutoff = _airdropAmount * 80085;
    
        mapping(address => uint256) balances;
        mapping(address => bool) initialized;
    
        // Penis accepts request to tip-touch another Penis
        mapping(address => mapping (address => uint256)) allowed;
    
        function Penis() {
            initialized[msg.sender] = true;
            balances[msg.sender] = _airdropAmount * 8008;
            _totalSupply = balances[msg.sender];
        }
    
        function totalSupply() constant returns (uint256 supply) {
            return _totalSupply;
        }
    
        // What's my girth?
        function balance() constant returns (uint256) {
            return getBalance(msg.sender);
        }
    
        // What is the length of a particular Penis?
        function balanceOf(address _address) constant returns (uint256) {
            return getBalance(_address);
        }
    
        // Tenderly remove hand from Penis and place on another Penis
        function transfer(address _to, uint256 _amount) returns (bool success) {
            initialize(msg.sender);
    
            if (balances[msg.sender] >= _amount
                && _amount > 0) {
                initialize(_to);
                if (balances[_to] + _amount > balances[_to]) {
    
                    balances[msg.sender] -= _amount;
                    balances[_to] += _amount;
    
                    Transfer(msg.sender, _to, _amount);
    
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        }
    
        // Perform the inevitable actions which cause release of that which each Penis
        // is built to deliver. In EtherPenisLand there are only Penises, so this 
        // allows the transmission of one Penis's payload (or partial payload but that
        // is not as much fun) INTO another Penis. This causes the Penisae to change 
        // form such that all may see the glory they each represent. Erections.
        function transferFrom(address _from, address _to, uint256 _amount) returns (bool success) {
            initialize(_from);
    
            if (balances[_from] >= _amount
                && allowed[_from][msg.sender] >= _amount
                && _amount > 0) {
                initialize(_to);
                if (balances[_to] + _amount > balances[_to]) {
    
                    balances[_from] -= _amount;
                    allowed[_from][msg.sender] -= _amount;
                    balances[_to] += _amount;
    
                    Transfer(_from, _to, _amount);
    
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        }
    
        // Allow splooger to cause a payload release from your Penis, multiple times, up to 
        // the point at which no further release is possible..
        function approve(address _spender, uint256 _amount) returns (bool success) {
            allowed[msg.sender][_spender] = _amount;
            Approval(msg.sender, _spender, _amount);
            return true;
        }
    
        function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
            return allowed[_owner][_spender];
        }
    
        // internal privats
        function initialize(address _address) internal returns (bool success) {
            if (_totalSupply < _cutoff && !initialized[_address]) {
                initialized[_address] = true;
                balances[_address] = _airdropAmount;
                _totalSupply += _airdropAmount;
            }
            return true;
        }
    
        function getBalance(address _address) internal returns (uint256) {
            if (_totalSupply < _cutoff && !initialized[_address]) {
                return balances[_address] + _airdropAmount;
            }
            else {
                return balances[_address];
            }
        }
    }