ETH Price: $1,869.83 (-4.61%)

Transaction Decoder

Block:
13703874 at Nov-28-2021 06:09:43 PM +UTC
Transaction Fee:
0.003871711803101736 ETH $7.24
Gas Used:
23,276 Gas / 166.339225086 Gwei

Emitted Events:

86 Proxy.Received( value=248305360000000000, sender=[Sender] 0x4ad64983349c49defe8d7a4686202d24b25d0ce8, data=0x )

Account State Difference:

  Address   Before After State Difference Code
(2Miners: PPLNS)
3,992.640085034918401829 Eth3,992.641081935915355009 Eth0.00099690099695318
0x30F3f1FB...23c675Cd7 0.015297658585 Eth0.263603018585 Eth0.24830536
0x4ad64983...4b25D0CE8
(KuCoin 4)
2,534.847027140687188826 Eth
Nonce: 643691
2,534.59485006888408709 Eth
Nonce: 643692
0.252177071803101736

Execution Trace

ETH 0.24830536 Proxy.CALL( )
// Copyright (C) 2018  Argent Labs Ltd. <https://argent.xyz>

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.5.4;

/**
 * @title Proxy
 * @dev Basic proxy that delegates all calls to a fixed implementing contract.
 * The implementing contract cannot be upgraded.
 * @author Julien Niset - <julien@argent.xyz>
 */
contract Proxy {

    address implementation;

    event Received(uint indexed value, address indexed sender, bytes data);

    constructor(address _implementation) public {
        implementation = _implementation;
    }

    function() external payable {

        if (msg.data.length == 0 && msg.value > 0) {
            emit Received(msg.value, msg.sender, msg.data);
        } else {
            // solium-disable-next-line security/no-inline-assembly
            assembly {
                let target := sload(0)
                calldatacopy(0, 0, calldatasize())
                let result := delegatecall(gas, target, 0, calldatasize(), 0, 0)
                returndatacopy(0, 0, returndatasize())
                switch result
                case 0 {revert(0, returndatasize())}
                default {return (0, returndatasize())}
            }
        }
    }
}