ETH Price: $3,800.98 (+1.37%)

Transaction Decoder

Block:
13889643 at Dec-27-2021 09:17:59 PM +UTC
Transaction Fee:
0.026613426092194575 ETH $101.16
Gas Used:
292,745 Gas / 90.909925335 Gwei

Emitted Events:

60 WETH9.Transfer( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=0xBd4cE8C1100E4644a3F9b93B3cb3be926aEE7bbd, wad=2000000000000000 )
61 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 0000000000000000000000005247299421a3ff724c41582e5a44c6551d135fd3, 000000000000000000000000bd4ce8c1100e4644a3f9b93b3cb3be926aee7bbd, 1a0388dd00000000000000000000000000000000000000000000000000000000, b3c5c69700000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 00000000000000000000000000000000000000000000000000071afd498d0000, 8ae85d8400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 )
62 WETH9.Transfer( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=Proxy, wad=250000000000000 )
63 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 0000000000000000000000005247299421a3ff724c41582e5a44c6551d135fd3, 0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a, 1a0388dd00000000000000000000000000000000000000000000000000000000, dfdfdaf400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000e35fa931a000, 8ae85d8400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 )
64 WETH9.Transfer( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=Proxy, wad=250000000000000 )
65 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 0000000000000000000000005247299421a3ff724c41582e5a44c6551d135fd3, 0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a, 1a0388dd00000000000000000000000000000000000000000000000000000000, dfdfdaf400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000e35fa931a000, 8ae85d8400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 )
66 WETH9.Transfer( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=[Sender] 0x5ffd27f190f3be421f5a9a770a2247b1decae8e3, wad=7750000000000000 )
67 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 0000000000000000000000005247299421a3ff724c41582e5a44c6551d135fd3, 0000000000000000000000005ffd27f190f3be421f5a9a770a2247b1decae8e3, 1a0388dd00000000000000000000000000000000000000000000000000000000, a10bb5b200000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 000000000000000000000000000000000000000000000000001b88957d026000, 8ae85d8400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 )
68 RaribleToken.TransferSingle( _operator=TransferProxy, _from=[Sender] 0x5ffd27f190f3be421f5a9a770a2247b1decae8e3, _to=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, _id=141236, _value=1 )
69 TransparentUpgradeableProxy.0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e( 0xcae9d16f553e92058883de29cb3135dbc0c1e31fd7eace79fef1d80577fe482e, 00000000000000000000000000000000000000000000000000000000000000a0, 0000000000000000000000005ffd27f190f3be421f5a9a770a2247b1decae8e3, 0000000000000000000000005247299421a3ff724c41582e5a44c6551d135fd3, b45a3ba100000000000000000000000000000000000000000000000000000000, a10bb5b200000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000001, 973bb64000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000040, 000000000000000000000000d07dc4262bcdbf85190c01c996b4c06a461d2430, 00000000000000000000000000000000000000000000000000000000000227b4 )
70 TransparentUpgradeableProxy.0x268820db288a211986b26a8fda86b1e0046281b21206936bb0e61c67b5c79ef4( 0x268820db288a211986b26a8fda86b1e0046281b21206936bb0e61c67b5c79ef4, dedacc4f376e0342c49cb789d99f23a320eb876f7d6169c5d2e84122f4d80823, 6252c110c3e649b39fab5c84b6141de4ea1cdde1bf8098d23f919c118a1090ab, 0000000000000000000000005247299421a3ff724c41582e5a44c6551d135fd3, 0000000000000000000000005ffd27f190f3be421f5a9a770a2247b1decae8e3, 0000000000000000000000000000000000000000000000000000000000000001, 000000000000000000000000000000000000000000000000002386f26fc10000, 0000000000000000000000000000000000000000000000000000000000000100, 0000000000000000000000000000000000000000000000000000000000000180, 8ae85d8400000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000020, 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, 973bb64000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000040, 0000000000000000000000000000000000000000000000000000000000000040, 000000000000000000000000d07dc4262bcdbf85190c01c996b4c06a461d2430, 00000000000000000000000000000000000000000000000000000000000227b4 )

Account State Difference:

  Address   Before After State Difference Code
0x5FFD27F1...1DeCAE8e3
10.569657509222769524 Eth
Nonce: 994
10.543044083130574949 Eth
Nonce: 995
0.026613426092194575
0x9757F2d2...4107cd8D6
(Rarible: Exchange V2)
0xC02aaA39...83C756Cc2
(EzilPool 3)
291.029780944661072985 Eth291.030366434661072985 Eth0.00058549
0xd07dc426...a461d2430

Execution Trace

TransparentUpgradeableProxy.e99a3f80( )
  • ExchangeV2.matchOrders( orderLeft=[{name:maker, type:address, order:1, indexed:false, value:0x5247299421A3Ff724c41582E5A44c6551d135Fd3, valueString:0x5247299421A3Ff724c41582E5A44c6551d135Fd3}, {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:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}]}, {name:value, type:uint256, order:2, indexed:false, value:10000000000000000, valueString:10000000000000000}], valueString:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}]}, {name:value, type:uint256, order:2, indexed:false, value:10000000000000000, valueString:10000000000000000}]}, {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:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}]}, {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:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}]}, {name:value, type:uint256, order:2, indexed:false, value:1, valueString:1}]}, {name:salt, type:uint256, order:5, indexed:false, value:60470159534992154587494887922588205584307973878111066668691760021792088847414, valueString:60470159534992154587494887922588205584307973878111066668691760021792088847414}, {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:TCNCZg==, valueString:System.Byte[]}, {name:data, type:bytes, order:9, indexed:false, value:0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA, valueString:0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA}], signatureLeft=0xFB4D64AB7DA4FE867BA675EAEFDB18A0F69EEFF7C1B049006F599BBA9D42CAA448F2E7115270AA7B3C8B9C6F2374DB15F77E77B03311D0E0F4AEE6C01C743FA01C, orderRight=[{name:maker, type:address, order:1, indexed:false, value:0x5FFD27F190F3bE421f5a9A770a2247b1DeCAE8e3, valueString:0x5FFD27F190F3bE421f5a9A770a2247b1DeCAE8e3}, {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:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}]}, {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:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:lzu2QA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4, valueString:0x000000000000000000000000D07DC4262BCDBF85190C01C996B4C06A461D243000000000000000000000000000000000000000000000000000000000000227B4}]}, {name:value, type:uint256, order:2, indexed:false, value:1, valueString:1}]}, {name:taker, type:address, order:3, indexed:false, value:0x5247299421A3Ff724c41582E5A44c6551d135Fd3, valueString:0x5247299421A3Ff724c41582E5A44c6551d135Fd3}, {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:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}]}, {name:value, type:uint256, order:2, indexed:false, value:10000000000000000, valueString:10000000000000000}], valueString:[{name:assetType, type:tuple, order:1, indexed:false, value:[{name:assetClass, type:bytes4, order:1, indexed:false, value:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}], valueString:[{name:assetClass, type:bytes4, order:1, indexed:false, value:iuhdhA==, valueString:System.Byte[]}, {name:data, type:bytes, order:2, indexed:false, value:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2, valueString:0x000000000000000000000000C02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2}]}, {name:value, type:uint256, order:2, indexed:false, value:10000000000000000, valueString:10000000000000000}]}, {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:TCNCZg==, valueString:System.Byte[]}, {name:data, type:bytes, order:9, indexed:false, value:0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA, valueString:0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001CF0DF2A5A20CD61D68D4489EEBBF85B8D39E18A00000000000000000000000000000000000000000000000000000000000000FA}], signatureRight=0x )
    • Null: 0x000...001.8c49f2dd( )
    • TransparentUpgradeableProxy.9ca7dc7a( )
      • RoyaltiesRegistry.getRoyalties( token=0xd07dc4262BCDbf85190C01c996b4C06a461d2430, tokenId=141236 ) => ( )
        • RaribleToken.getFeeRecipients( id=141236 ) => ( [0xBd4cE8C1100E4644a3F9b93B3cb3be926aEE7bbd] )
        • RaribleToken.getFeeBps( id=141236 ) => ( [2000] )
        • ERC20TransferProxy.erc20safeTransferFrom( token=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, from=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, to=0xBd4cE8C1100E4644a3F9b93B3cb3be926aEE7bbd, value=2000000000000000 )
          • WETH9.transferFrom( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=0xBd4cE8C1100E4644a3F9b93B3cb3be926aEE7bbd, wad=2000000000000000 ) => ( True )
          • ERC20TransferProxy.erc20safeTransferFrom( token=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, from=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, to=0x1cf0dF2A5A20Cd61d68d4489eEBbf85b8d39e18a, value=250000000000000 )
            • WETH9.transferFrom( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=0x1cf0dF2A5A20Cd61d68d4489eEBbf85b8d39e18a, wad=250000000000000 ) => ( True )
            • ERC20TransferProxy.erc20safeTransferFrom( token=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, from=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, to=0x1cf0dF2A5A20Cd61d68d4489eEBbf85b8d39e18a, value=250000000000000 )
              • WETH9.transferFrom( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=0x1cf0dF2A5A20Cd61d68d4489eEBbf85b8d39e18a, wad=250000000000000 ) => ( True )
              • ERC20TransferProxy.erc20safeTransferFrom( token=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, from=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, to=0x5FFD27F190F3bE421f5a9A770a2247b1DeCAE8e3, value=7750000000000000 )
                • WETH9.transferFrom( src=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, dst=0x5FFD27F190F3bE421f5a9A770a2247b1DeCAE8e3, wad=7750000000000000 ) => ( True )
                • TransferProxy.erc1155safeTransferFrom( token=0xd07dc4262BCDbf85190C01c996b4C06a461d2430, from=0x5FFD27F190F3bE421f5a9A770a2247b1DeCAE8e3, to=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, id=141236, value=1, data=0x )
                  • RaribleToken.safeTransferFrom( _from=0x5FFD27F190F3bE421f5a9A770a2247b1DeCAE8e3, _to=0x5247299421A3Ff724c41582E5A44c6551d135Fd3, _id=141236, _value=1, _data=0x )
                    File 1 of 9: 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 9: WETH9
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    // Copyright (C) 2015, 2016, 2017 Dapphub
                    // 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.4.18;
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 3 of 9: 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 4 of 9: RaribleToken
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity ^0.5.0;
                    pragma experimental ABIEncoderV2;
                    /**
                    * @title SafeMath
                    * @dev Math operations with safety checks that throw on error
                    */
                    library SafeMath {
                    /**
                    * @dev Multiplies two numbers, throws on overflow.
                    */
                    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
                    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
                    // benefit is lost if 'b' is also tested.
                    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 5 of 9: 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 6 of 9: 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 9: 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 8 of 9: ERC20TransferProxy
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    pragma solidity ^0.5.0;
                    /*
                    * @dev Provides information about the current execution context, including the
                    * sender of the transaction and its data. While these are generally available
                    * via msg.sender and msg.data, they should not be accessed in such a direct
                    * manner, since when dealing with GSN meta-transactions the account sending and
                    * paying for execution may not be the actual sender (as far as an application
                    * is concerned).
                    *
                    * This contract is only required for intermediate, library-like contracts.
                    */
                    contract Context {
                    // Empty internal constructor, to prevent people from mistakenly deploying
                    // an instance of this contract, which should be used via inheritance.
                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                    File 9 of 9: 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