ETH Price: $3,798.43 (+1.30%)

Transaction Decoder

Block:
21098776 at Nov-02-2024 08:30:11 AM +UTC
Transaction Fee:
0.000571953381542275 ETH $2.17
Gas Used:
147,775 Gas / 3.870433981 Gwei

Emitted Events:

349 ERC721K.Transfer( from=0x2ac49e456e24d475b3c2e6b0fb3e18895a876982, to=[Sender] 0x37888523de532d1b018bc73ce5b02f461869e72b, tokenId=3549 )
350 ERC1967Proxy.0x7dc5c0699ac8dd5250cbe368a2fc3b4a2daadb120ad07f6cccea29f83482686e( 0x7dc5c0699ac8dd5250cbe368a2fc3b4a2daadb120ad07f6cccea29f83482686e, 795bc2bcc3cdef1545dee6cbda832f9c53310bd43af4c4422968d49b59a17317, 0000000000000000000ddd002ac49e456e24d475b3c2e6b0fb3e18895a876982, 0000000000f5f45175cce000d822801d63520a2672a6e92ce861dfafc29ea3e3, 000000000000000000000032c2ca0edb941926dec0e2bf2f146e9c833b10a514 )

Account State Difference:

  Address   Before After State Difference Code
0x2aC49E45...95a876982 0.006745420230648452 Eth0.075629270230648452 Eth0.06888385
0x37888523...61869e72B
0.490469152381247611 Eth
Nonce: 106
0.420667198999705336 Eth
Nonce: 107
0.069801953381542275
(beaverbuild)
7.231356360153860021 Eth7.231356745493132221 Eth0.0000003853392722
0xb2ecfE4E...e2410CEA5
(Blur.io: Marketplace 3)
0xC2cA0Edb...33b10a514 10.89518435879772051 Eth10.89553050879772051 Eth0.00034615
0xd822801d...Fc29ea3e3

Execution Trace

ETH 0.06923 ERC1967Proxy.70bce2d6( )
  • ETH 0.06923 BlurExchangeV2.takeAskSingle( )
    • Null: 0x000...001.3045b4a2( )
    • Null: 0x000...001.5d108b41( )
    • Delegate.transfer( taker=0x37888523DE532D1B018BC73Ce5b02F461869e72B, orderType=0, transfers=, length=1 ) => ( successful=[true] )
      • ERC721K.safeTransferFrom( from=0x2aC49E456e24d475B3C2E6b0fb3E18895a876982, to=0x37888523DE532D1B018BC73Ce5b02F461869e72B, tokenId=3549 )
      • ETH 0.00034615 0xc2ca0edb941926dec0e2bf2f146e9c833b10a514.CALL( )
      • ETH 0.06888385 0x2ac49e456e24d475b3c2e6b0fb3e18895a876982.CALL( )
        File 1 of 4: ERC1967Proxy
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: MIT
        // OpenZeppelin Contracts v4.4.1 (proxy/ERC1967/ERC1967Proxy.sol)
        pragma solidity 0.8.17;
        import "lib/openzeppelin-contracts/contracts/proxy/Proxy.sol";
        import "lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol";
        /**
        * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
        * implementation address that can be changed. This address is stored in storage in the location specified by
        * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the
        * implementation behind the proxy.
        */
        contract ERC1967Proxy is Proxy, ERC1967Upgrade {
        /**
        * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.
        *
        * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 2 of 4: ERC721K
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: MIT
        // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
        pragma solidity ^0.8.20;
        import {Context} from "../utils/Context.sol";
        /**
        * @dev Contract module which provides a basic access control mechanism, where
        * there is an account (an owner) that can be granted exclusive access to
        * specific functions.
        *
        * The initial owner is set to the address provided by the deployer. This can
        * later be changed with {transferOwnership}.
        *
        * This module is used through inheritance. It will make available the modifier
        * `onlyOwner`, which can be applied to your functions to restrict their use to
        * the owner.
        */
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 3 of 4: BlurExchangeV2
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: MIT
        pragma solidity 0.8.17;
        import { Ownable2StepUpgradeable } from "lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol";
        import { UUPSUpgradeable } from "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol";
        import { Executor } from "./Executor.sol";
        import "./lib/Constants.sol";
        import {
        TakeAsk,
        TakeBid,
        TakeAskSingle,
        TakeBidSingle,
        Order,
        Exchange,
        Fees,
        FeeRate,
        AssetType,
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        File 4 of 4: Delegate
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        // SPDX-License-Identifier: MIT
        pragma solidity 0.8.17;
        import { ERC721 } from "lib/solmate/src/tokens/ERC721.sol";
        import { ERC1155 } from "lib/solmate/src/tokens/ERC1155.sol";
        import { ERC20 } from "lib/solmate/src/tokens/ERC20.sol";
        import "./lib/Constants.sol";
        import { AssetType, OrderType, Transfer } from "./lib/Structs.sol";
        contract Delegate {
        error Unauthorized();
        error InvalidLength();
        address private immutable _EXCHANGE;
        constructor(address exchange) {
        _EXCHANGE = exchange;
        }
        modifier onlyApproved() {
        if (msg.sender != _EXCHANGE) {
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX