ETH Price: $3,738.66 (+4.85%)

Transaction Decoder

Block:
13903103 at Dec-29-2021 11:04:40 PM +UTC
Transaction Fee:
0.037991493146916498 ETH $142.04
Gas Used:
296,203 Gas / 128.261675766 Gwei

Emitted Events:

47 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 000000000000000000000000fed453e6f4aaf5e737d2d9875d4bda2633cecc3b, 000000000000000000000000488b22e75e538473c16bc3a2e950c75c3b0f6700, b45a3ba100000000000000000000000000000000000000000000000000000000, b3c5c69700000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 000000000000000000000000000000000000000000000000000731ba0dab9000, aaaebeba00000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000000 )
48 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 000000000000000000000000fed453e6f4aaf5e737d2d9875d4bda2633cecc3b, 0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a, b45a3ba100000000000000000000000000000000000000000000000000000000, dfdfdaf400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000003ff2e795f5000, aaaebeba00000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000000 )
49 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 000000000000000000000000fed453e6f4aaf5e737d2d9875d4bda2633cecc3b, 0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a, b45a3ba100000000000000000000000000000000000000000000000000000000, dfdfdaf400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000003ff2e795f5000, aaaebeba00000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000000 )
50 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 000000000000000000000000fed453e6f4aaf5e737d2d9875d4bda2633cecc3b, 0000000000000000000000008a3da08bfb3a4c9b8f22f197f93850f6e55e3998, b45a3ba100000000000000000000000000000000000000000000000000000000, a10bb5b200000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000094ae5a6fd9a000, aaaebeba00000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000000 )
51 0xcb88735a1eae17ff2a2abaec1ba03d877f4bc055.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x0000000000000000000000008a3da08bfb3a4c9b8f22f197f93850f6e55e3998, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000438 )
52 0xcb88735a1eae17ff2a2abaec1ba03d877f4bc055.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000008a3da08bfb3a4c9b8f22f197f93850f6e55e3998, 0x000000000000000000000000fed453e6f4aaf5e737d2d9875d4bda2633cecc3b, 0x0000000000000000000000000000000000000000000000000000000000000438 )
53 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 0000000000000000000000008a3da08bfb3a4c9b8f22f197f93850f6e55e3998, 000000000000000000000000fed453e6f4aaf5e737d2d9875d4bda2633cecc3b, 1a0388dd00000000000000000000000000000000000000000000000000000000, a10bb5b200000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000001, 73ad214600000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000040, 000000000000000000000000cb88735a1eae17ff2a2abaec1ba03d877f4bc055, 0000000000000000000000000000000000000000000000000000000000000438 )
54 TransparentUpgradeableProxy.0x268820db288a211986b26a8fda86b1e0046281b21206936bb0e61c67b5c79ef4( 0x268820db288a211986b26a8fda86b1e0046281b21206936bb0e61c67b5c79ef4, 8c8fd1083eacff8c58cb8808d3295169438b35a481a93e1bbf58ec240ba6613d, 7f7fcbd91c24906102c72a62f5a55d5b8a4ffd4b9fd458034f021ef5d3a554d9, 0000000000000000000000008a3da08bfb3a4c9b8f22f197f93850f6e55e3998, 000000000000000000000000fed453e6f4aaf5e737d2d9875d4bda2633cecc3b, 000000000000000000000000000000000000000000000000009fdf42f6e48000, 0000000000000000000000000000000000000000000000000000000000000001, 0000000000000000000000000000000000000000000000000000000000000100, 00000000000000000000000000000000000000000000000000000000000001a0, 73ad214600000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000040, 000000000000000000000000cb88735a1eae17ff2a2abaec1ba03d877f4bc055, 0000000000000000000000000000000000000000000000000000000000000438, aaaebeba00000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000000 )

Account State Difference:

  Address   Before After State Difference Code
0x1cf0dF2A...b8d39e18a
(Rarible: Treasury)
3,369.118285809047503071 Eth3,369.120535809047503071 Eth0.00225
(MiningPoolHub)
1,032.082755857140537231 Eth1,032.083496364640537231 Eth0.0007405075
0x488B22E7...C3b0F6700 68.116794796164946 Eth68.118819796164946 Eth0.002025
0x8a3da08b...6e55E3998 0.694046295984595848 Eth0.735896295984595848 Eth0.04185
0x9757F2d2...4107cd8D6
(Rarible: Exchange V2)
0xcb88735A...77F4Bc055
0xfED453e6...633CeCc3b
0.236245455756121257 Eth
Nonce: 222
0.152128962609204759 Eth
Nonce: 223
0.084116493146916498

Execution Trace

ETH 0.046125 TransparentUpgradeableProxy.e99a3f80( )
  • ETH 0.046125 ExchangeV2.matchOrders( orderLeft=[{name:maker, type:address, order:1, indexed:false, value:0x8a3da08bFb3A4c9b8F22f197f93850F6e55E3998, valueString:0x8a3da08bFb3A4c9b8F22f197f93850F6e55E3998}, {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:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}]}, {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:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}]}, {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:45000000000000000, valueString:45000000000000000}], 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:45000000000000000, valueString:45000000000000000}]}, {name:salt, type:uint256, order:5, indexed:false, value:17131932977151352553230598654441868553910777492306497861448462241162781702509, valueString:17131932977151352553230598654441868553910777492306497861448462241162781702509}, {name:start, type:uint256, order:6, indexed:false, value:0, valueString:0}, {name:end, type:uint256, order:7, indexed:false, value:0, valueString:0}, {name:dataType, type:bytes4, order:8, indexed:false, value:I9I17w==, valueString:System.Byte[]}, {name:data, type:bytes, order:9, indexed:false, value:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA, valueString:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA}], signatureLeft=0x4FEBE5359DD88C4918D93575BEC20C1CC944143EE2B88E4390D66979E9CB48706044BA8085655C8D7BEA71AAD6C234DAB67232D7ADBB4295207409F6B42B9DE21B, orderRight=[{name:maker, type:address, order:1, indexed:false, value:0xfED453e6f4AAF5E737d2D9875D4BDa2633CeCc3b, valueString:0xfED453e6f4AAF5E737d2D9875D4BDa2633CeCc3b}, {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:45000000000000000, valueString:45000000000000000}], 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:45000000000000000, valueString:45000000000000000}]}, {name:taker, type:address, order:3, indexed:false, value:0x8a3da08bFb3A4c9b8F22f197f93850F6e55E3998, valueString:0x8a3da08bFb3A4c9b8F22f197f93850F6e55E3998}, {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:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}]}, {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:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:c60hRg==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438, valueString:0x000000000000000000000000CB88735A1EAE17FF2A2ABAEC1BA03D877F4BC0550000000000000000000000000000000000000000000000000000000000000438}]}, {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:0, valueString:0}, {name:dataType, type:bytes4, order:8, indexed:false, value:I9I17w==, valueString:System.Byte[]}, {name:data, type:bytes, order:9, indexed:false, value:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA, valueString:0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA}], signatureRight=0x )
    • Null: 0x000...001.c72adc6a( )
    • TransparentUpgradeableProxy.9ca7dc7a( )
      • RoyaltiesRegistry.getRoyalties( token=0xcb88735A1eAe17fF2A2aBAEC1ba03d877F4Bc055, tokenId=1080 ) => ( )
        • 0xcb88735a1eae17ff2a2abaec1ba03d877f4bc055.cad96cca( )
        • ETH 0.002025 0x488b22e75e538473c16bc3a2e950c75c3b0f6700.CALL( )
        • ETH 0.001125 Proxy.CALL( )
        • ETH 0.001125 Proxy.CALL( )
        • ETH 0.04185 0x8a3da08bfb3a4c9b8f22f197f93850f6e55e3998.CALL( )
        • TransferProxy.erc721safeTransferFrom( token=0xcb88735A1eAe17fF2A2aBAEC1ba03d877F4Bc055, from=0x8a3da08bFb3A4c9b8F22f197f93850F6e55E3998, to=0xfED453e6f4AAF5E737d2D9875D4BDa2633CeCc3b, tokenId=1080 )
          • 0xcb88735a1eae17ff2a2abaec1ba03d877f4bc055.42842e0e( )
            File 1 of 7: 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 7: ExchangeV2
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            // SPDX-License-Identifier: MIT
            pragma solidity 0.7.6;
            pragma abicoder v2;
            import "./ExchangeV2Core.sol";
            import "./RaribleTransferManager.sol";
            import "@rarible/royalties/contracts/IRoyaltiesProvider.sol";
            contract ExchangeV2 is ExchangeV2Core, RaribleTransferManager {
            function __ExchangeV2_init(
            INftTransferProxy _transferProxy,
            IERC20TransferProxy _erc20TransferProxy,
            uint newProtocolFee,
            address newDefaultFeeReceiver,
            IRoyaltiesProvider newRoyaltiesProvider
            ) external initializer {
            __Context_init_unchained();
            __Ownable_init_unchained();
            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

            File 3 of 7: 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 4 of 7: 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/royalties/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 5 of 7: 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 6 of 7: 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 7 of 7: 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