ETH Price: $4,305.26 (+2.05%)

Transaction Decoder

Block:
21846866 at Feb-14-2025 07:45:47 PM +UTC
Transaction Fee:
0.0003646944 ETH $1.57
Gas Used:
260,496 Gas / 1.4 Gwei

Emitted Events:

209 TransparentUpgradeableProxy.0x956cd63ee4cdcd81fda5f0ec7c6c36dceda99e1b412f4a650a5d26055dc3c450( 0x956cd63ee4cdcd81fda5f0ec7c6c36dceda99e1b412f4a650a5d26055dc3c450, 357a4c86cd291607ded1bc656ebf3bc040fe2d805e18853aa4c45b9197363300, cf10a212ea0c894e7a18e4b55760a11d8690d8f1176e3f3a2942f37141d47e4b, 00000000000000000000000000000000000000000000000000005af3107a4000, 0000000000000000000000000000000000000000000000000000000000000001 )
210 BeaconProxy.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x0000000000000000000000004da9c2b2841a4ec02f54a5abc0d5e40d90cf35f8, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x4da9c2b2841a4ec02f54a5abc0d5e40d90cf35f8000000000000000000000001 )
211 BeaconProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000004da9c2b2841a4ec02f54a5abc0d5e40d90cf35f8, 0x0000000000000000000000006e4bcfea1dff9a9b2ae25ea8d25ef06ae06da13b, 0x4da9c2b2841a4ec02f54a5abc0d5e40d90cf35f8000000000000000000000001 )

Account State Difference:

  Address   Before After State Difference Code
0x1cf0dF2A...b8d39e18a
(Rarible: Treasury)
927.621095000988245376 Eth927.621109500988245376 Eth0.0000145
(Titan Builder)
7.266558897470951888 Eth7.266681628236286448 Eth0.00012273076533456
0x4dA9c2b2...D90CF35F8 0.000133736002268966 Eth0.000226236002268966 Eth0.0000925
0x6e4BcfEA...aE06dA13B
0.0007715905394994 Eth
Nonce: 5
0.0002993961394994 Eth
Nonce: 6
0.0004721944
0x7e9c956e...71f42CBC5 0.409658194081033086 Eth0.409658694081033086 Eth0.0000005
0x9757F2d2...4107cd8D6
(Rarible: Exchange V2)
0xCFD9D734...B03E89dA7
0xEa90CFad...AEb8E0DCD
(Rarible: External Royalties)

Execution Trace

ETH 0.0001075 TransparentUpgradeableProxy.e99a3f80( )
  • ETH 0.0001075 ExchangeV2.matchOrders( orderLeft=[{name:maker, type:address, order:1, indexed:false, value:0x4dA9c2b2841a4ec02F54a5aBc0d5e40D90CF35F8, valueString:0x4dA9c2b2841a4ec02F54a5aBc0d5e40D90CF35F8}, {name:makeAsset, type:tuple, order:2, indexed:false, value:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}]}, {name:value, type:uint256, order:2, indexed:false, value:1, valueString:1}], valueString:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}]}, {name:value, type:uint256, order:2, indexed:false, value:1, valueString:1}]}, {name:taker, type:address, order:3, indexed:false, value:0x0000000000000000000000000000000000000000, valueString:0x0000000000000000000000000000000000000000}, {name:takeAsset, type:tuple, order:4, indexed:false, value:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6+ug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6u002Bug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}]}, {name:value, type:uint256, order:2, indexed:false, value:100000000000000, valueString:100000000000000}], valueString:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6u002Bug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6u002Bug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}]}, {name:value, type:uint256, order:2, indexed:false, value:100000000000000, valueString:100000000000000}]}, {name:salt, type:uint256, order:5, indexed:false, value:96690414718757085936901056608320319502204805533522594106623827428966017229466, valueString:96690414718757085936901056608320319502204805533522594106623827428966017229466}, {name:start, type:uint256, order:6, indexed:false, value:0, valueString:0}, {name:end, type:uint256, order:7, indexed:false, value:1742152811, valueString:1742152811}, {name:dataType, type:bytes4, order:8, indexed:false, value:St5Uyg==, valueString:System.Byte[]}, {name:data, type:bytes, order:9, indexed:false, value:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000002D5, valueString:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000002D5}], signatureLeft=0x31C51E112F3404DAB579CB03AEC218B51A06C47E1C6DE1F375790F7BBD100BA6504A414457C7A3E5CE03CFEC76A33A607C151F6898A027340569C56BF31023131B, orderRight=[{name:maker, type:address, order:1, indexed:false, value:0x6e4BcfEA1dff9a9B2AE25EA8D25Ef06aE06dA13B, valueString:0x6e4BcfEA1dff9a9B2AE25EA8D25Ef06aE06dA13B}, {name:makeAsset, type:tuple, order:2, indexed:false, value:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6+ug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6u002Bug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}]}, {name:value, type:uint256, order:2, indexed:false, value:100000000000000, valueString:100000000000000}], valueString:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6u002Bug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:qq6u002Bug==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x, valueString:0x}]}, {name:value, type:uint256, order:2, indexed:false, value:100000000000000, valueString:100000000000000}]}, {name:taker, type:address, order:3, indexed:false, value:0x4dA9c2b2841a4ec02F54a5aBc0d5e40D90CF35F8, valueString:0x4dA9c2b2841a4ec02F54a5aBc0d5e40D90CF35F8}, {name:takeAsset, type:tuple, order:4, indexed:false, value:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}]}, {name:value, type:uint256, order:2, indexed:false, value:1, valueString:1}], valueString:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001, valueString:0x000000000000000000000000CFD9D73401FB0C27F4F6C31617CA283B03E89DA74DA9C2B2841A4EC02F54A5ABC0D5E40D90CF35F8000000000000000000000001}]}, {name:value, type:uint256, order:2, indexed:false, value:1, valueString:1}]}, {name:salt, type:uint256, order:5, indexed:false, value:0, valueString:0}, {name:start, type:uint256, order:6, indexed:false, value:0, valueString:0}, {name:end, type:uint256, order:7, indexed:false, value:1742152811, valueString:1742152811}, {name:dataType, type:bytes4, order:8, indexed:false, value:St5Uyg==, valueString:System.Byte[]}, {name:data, type:bytes, order:9, indexed:false, value:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000002D5, valueString:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000002D5}], signatureRight=0x )
    • Null: 0x000...001.d3a0b4ec( )
    • ETH 0.0000005 TransparentUpgradeableProxy.CALL( )
      • ETH 0.0000005 RariTimelockController.DELEGATECALL( )
      • TransparentUpgradeableProxy.9ca7dc7a( )
        • RoyaltiesRegistry.getRoyalties( token=0xCFD9D73401fB0C27F4F6C31617Ca283B03E89dA7, tokenId=35128030246432887806037849517686847460902468864204373812584139293312235339777 ) => ( )
          • BeaconProxy.01ffc9a7( )
            • ERC721RaribleMinimalBeacon.STATICCALL( )
            • ERC721RaribleMinimal.supportsInterface( interfaceId=System.Byte[] ) => ( True )
            • BeaconProxy.cad96cca( )
              • ERC721RaribleMinimalBeacon.STATICCALL( )
              • ERC721RaribleMinimal.getRaribleV2Royalties( id=35128030246432887806037849517686847460902468864204373812584139293312235339777 ) => ( )
              • ETH 0.0000145 Proxy.CALL( )
              • ETH 0.0000925 0x4da9c2b2841a4ec02f54a5abc0d5e40d90cf35f8.CALL( )
              • TransferProxy.erc721safeTransferFrom( token=0xCFD9D73401fB0C27F4F6C31617Ca283B03E89dA7, from=0x4dA9c2b2841a4ec02F54a5aBc0d5e40D90CF35F8, to=0x6e4BcfEA1dff9a9B2AE25EA8D25Ef06aE06dA13B, tokenId=35128030246432887806037849517686847460902468864204373812584139293312235339777 )
                • BeaconProxy.42842e0e( )
                  • ERC721RaribleMinimalBeacon.STATICCALL( )
                  • ERC721RaribleMinimal.safeTransferFrom( from=0x4dA9c2b2841a4ec02F54a5aBc0d5e40D90CF35F8, to=0x6e4BcfEA1dff9a9B2AE25EA8D25Ef06aE06dA13B, tokenId=35128030246432887806037849517686847460902468864204373812584139293312235339777 )
                    File 1 of 12: TransparentUpgradeableProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
                    // Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.
                    contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {
                    constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}
                    }
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "../Proxy.sol";
                    import "./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
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 2 of 12: BeaconProxy
                    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;
                    import "./Proxy.sol";
                    import "../utils/Address.sol";
                    import "./IBeacon.sol";
                    /**
                    * @dev This contract implements a proxy that gets the implementation address for each call from a {UpgradeableBeacon}.
                    *
                    * The beacon address is stored in storage slot `uint256(keccak256('eip1967.proxy.beacon')) - 1`, so that it doesn't
                    * conflict with the storage layout of the implementation behind the proxy.
                    *
                    * _Available since v3.4._
                    */
                    contract BeaconProxy is Proxy {
                    /**
                    * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 3 of 12: ExchangeV2
                    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;
                    import "../utils/ContextUpgradeable.sol";
                    import "../proxy/Initializable.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.
                    *
                    * By default, the owner account will be the one that deploys the contract. 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 4 of 12: TransparentUpgradeableProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
                    // Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.
                    contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {
                    constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}
                    }
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "../Proxy.sol";
                    import "./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
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 5 of 12: RariTimelockController
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts-upgradeable/governance/TimelockControllerUpgradeable.sol";
                    contract RariTimelockController is TimelockControllerUpgradeable {
                    function __RariTimelockController_init(
                    uint256 minDelay,
                    address[] memory proposers,
                    address[] memory executors
                    ) external initializer {
                    __TimelockController_init(minDelay, proposers, executors);
                    }
                    }
                    // SPDX-License-Identifier: MIT
                    // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
                    pragma solidity ^0.8.0;
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 6 of 12: TransparentUpgradeableProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
                    import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
                    // Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.
                    contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {
                    constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}
                    }
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.8.0;
                    import "../Proxy.sol";
                    import "./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
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 7 of 12: RoyaltiesRegistry
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity >=0.6.2 <0.8.0;
                    pragma abicoder v2;
                    import "@rarible/exchange-interfaces/contracts/IRoyaltiesProvider.sol";
                    import "@rarible/royalties/contracts/LibRoyaltiesV2.sol";
                    import "@rarible/royalties/contracts/LibRoyaltiesV1.sol";
                    import "@rarible/royalties/contracts/LibRoyalties2981.sol";
                    import "@rarible/royalties/contracts/RoyaltiesV1.sol";
                    import "@rarible/royalties/contracts/RoyaltiesV2.sol";
                    import "@rarible/royalties/contracts/IERC2981.sol";
                    import "@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol";
                    import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
                    contract RoyaltiesRegistry is IRoyaltiesProvider, OwnableUpgradeable {
                    /// @dev deprecated
                    event RoyaltiesSetForToken(address indexed token, uint indexed tokenId, LibPart.Part[] royalties);
                    /// @dev emitted when royalties set for token in
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 8 of 12: ERC721RaribleMinimalBeacon
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // SPDX-License-Identifier: MIT
                    pragma solidity ^0.7.0;
                    import "@openzeppelin/contracts/proxy/UpgradeableBeacon.sol";
                    contract ERC721RaribleMinimalBeacon is UpgradeableBeacon {
                    constructor(address impl) UpgradeableBeacon(impl) {
                    }
                    }
                    // SPDX-License-Identifier: MIT
                    pragma solidity >=0.6.0 <0.8.0;
                    import "./IBeacon.sol";
                    import "../access/Ownable.sol";
                    import "../utils/Address.sol";
                    /**
                    * @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their
                    * implementation contract, which is where they will delegate all function calls.
                    *
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 9 of 12: ERC721RaribleMinimal
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    // SPDX-License-Identifier: MIT
                    pragma solidity 0.7.6;
                    pragma abicoder v2;
                    import "./ERC721BaseMinimal.sol";
                    import "../IsPrivateCollection.sol";
                    import "../access/MinterAccessControl.sol";
                    contract ERC721RaribleMinimal is ERC721BaseMinimal, IsPrivateCollection, MinterAccessControl {
                    event CreateERC721Rarible(address owner, string name, string symbol);
                    event CreateERC721RaribleUser(address owner, string name, string symbol);
                    function __ERC721RaribleUser_init(string memory _name, string memory _symbol, string memory baseURI, string memory contractURI, address[] memory
                            operators, address transferProxy, address lazyTransferProxy) external virtual {
                    __ERC721Rarible_init_unchained(_name, _symbol, baseURI, contractURI, transferProxy, lazyTransferProxy);
                    isPrivate = true;
                    emit CreateERC721RaribleUser(_msgSender(), _name, _symbol);
                    }
                    function __ERC721Rarible_init(string memory _name, string memory _symbol, string memory baseURI, string memory contractURI, address
                            transferProxy, address lazyTransferProxy) external virtual {
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 10 of 12: Proxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity ^0.5.3;
                    /// @title Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
                    /// @author Stefan George - <stefan@gnosis.io>
                    /// @author Richard Meissner - <richard@gnosis.io>
                    contract Proxy {
                    // masterCopy always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated.
                    // To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt`
                    address internal masterCopy;
                    /// @dev Constructor function sets address of master copy contract.
                    /// @param _masterCopy Master copy address.
                    constructor(address _masterCopy)
                    public
                    {
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 11 of 12: GnosisSafe
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity >=0.5.0 <0.7.0;
                    /// @title SelfAuthorized - authorizes current contract to perform actions
                    /// @author Richard Meissner - <richard@gnosis.pm>
                    contract SelfAuthorized {
                    modifier authorized() {
                    require(msg.sender == address(this), "Method can only be called from this contract");
                    _;
                    }
                    }
                    /// @title MasterCopy - Base for master copy contracts (should always be first super contract)
                    /// This contract is tightly coupled to our proxy contract (see `proxies/Proxy.sol`)
                    /// @author Richard Meissner - <richard@gnosis.io>
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 12 of 12: TransferProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity ^0.5.0;
                    /**
                    * @dev Interface of the ERC165 standard, as defined in the
                    * https://eips.ethereum.org/EIPS/eip-165[EIP].
                    *
                    * Implementers can declare support of contract interfaces, which can then be
                    * queried by others ({ERC165Checker}).
                    *
                    * For an implementation, see {ERC165}.
                    */
                    interface IERC165 {
                    /**
                    * @dev Returns true if this contract implements the interface defined by
                    * `interfaceId`. See the corresponding
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX