ETH Price: $2,775.36 (+7.06%)

Transaction Decoder

Block:
14684035 at Apr-30-2022 06:32:29 AM +UTC
Transaction Fee:
0.033758147477842332 ETH $93.69
Gas Used:
945,484 Gas / 35.704620573 Gwei

Emitted Events:

301 TornadoCash_eth.Deposit( commitment=11C14C61E9DAC1FE5263ECF68561DD4164AB6165C56AD983A28C3B48A0490767, leafIndex=24976, timestamp=1651300349 )
302 TornadoRouter.EncryptedNote( sender=[Sender] 0x18345118bd04c405b4d74941563a21b5a2bf06b7, encryptedNote=0x )

Account State Difference:

  Address   Before After State Difference Code
0x18345118...5a2bF06b7
5,198.771613730246265843 Eth
Nonce: 50
5,098.737855582768423511 Eth
Nonce: 51
100.033758147477842332
0xA160cdAB...c3b53f291
(Tornado.Cash: 100 ETH)
178,400 Eth178,500 Eth100
(Ethermine)
1,367.671149663887656775 Eth1,367.674931599887656775 Eth0.003781936

Execution Trace

ETH 100 TornadoRouter.deposit( _tornado=0xA160cdAB225685dA1d56aa342Ad8841c3b53f291, _commitment=11C14C61E9DAC1FE5263ECF68561DD4164AB6165C56AD983A28C3B48A0490767, _encryptedNote=0x )
  • AdminUpgradeableProxy.032bb443( )
    • InstanceRegistry.instances( 0xA160cdAB225685dA1d56aa342Ad8841c3b53f291 ) => ( isERC20=False, token=0x0000000000000000000000000000000000000000, state=1, uniswapPoolSwappingFee=0, protocolFeePercentage=30 )
    • ETH 100 TornadoCash_eth.deposit( _commitment=11C14C61E9DAC1FE5263ECF68561DD4164AB6165C56AD983A28C3B48A0490767 )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
      • ETH 100 0x83584f83f26af4edda9cbe8c730bc87c364b28fe.f47d33b5( )
        File 1 of 4: TornadoRouter
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: MIT
        pragma solidity >=0.6.0 <0.8.0;
        pragma experimental ABIEncoderV2;
        import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
        import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
        import "@openzeppelin/contracts/math/Math.sol";
        import "tornado-anonymity-mining/contracts/interfaces/ITornadoInstance.sol";
        import "torn-token/contracts/ENS.sol";
        import "./InstanceRegistry.sol";
        import "../RelayerRegistry.sol";
        contract TornadoRouter is EnsResolve {
        using SafeERC20 for IERC20;
        event EncryptedNote(address indexed sender, bytes encryptedNote);
        address public immutable governance;
        InstanceRegistry public immutable instanceRegistry;
        RelayerRegistry public immutable relayerRegistry;
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 2 of 4: TornadoCash_eth
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // File: contracts/MerkleTreeWithHistory.sol
        // https://tornado.cash
        /*
        * d888888P dP a88888b. dP
        * 88 88 d8' `88 88
        * 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.
        * 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88
        * 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88
        * dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP
        * ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
        */
        pragma solidity ^0.5.8;
        library Hasher {
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 3 of 4: AdminUpgradeableProxy
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: MIT
        pragma solidity ^0.6.12;
        import "@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol";
        /**
        * @dev TransparentUpgradeableProxy where admin is allowed to call implementation methods.
        */
        contract AdminUpgradeableProxy is TransparentUpgradeableProxy {
        /**
        * @dev Initializes an upgradeable proxy backed by the implementation at `_logic`.
        */
        constructor(
        address _logic,
        address _admin,
        bytes memory _data
        ) public payable TransparentUpgradeableProxy(_logic, _admin, _data) {}
        /**
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 4 of 4: InstanceRegistry
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: MIT
        pragma solidity ^0.6.12;
        pragma experimental ABIEncoderV2;
        import { GovernanceGasUpgrade } from "tornado-governance/contracts/v2-vault-and-gas/gas/GovernanceGasUpgrade.sol";
        import { TornadoStakingRewards } from "../staking/TornadoStakingRewards.sol";
        /**
        * @notice The Governance staking upgrade. Adds modifier to any un/lock operation to update rewards
        * @dev CONTRACT RISKS:
        * - if updateRewards reverts (should not happen due to try/catch) locks/unlocks could be blocked
        * - generally inherits risks from former governance upgrades
        */
        contract GovernanceStakingUpgrade is GovernanceGasUpgrade {
        TornadoStakingRewards public immutable Staking;
        event RewardUpdateSuccessful(address indexed account);
        event RewardUpdateFailed(address indexed account, bytes indexed errorData);
        constructor(
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX