diff --git a/contracts/RMRK/utils/RMRKEquipRenderUtils.sol b/contracts/RMRK/utils/RMRKEquipRenderUtils.sol index 7e41f9f9..c33ebd15 100644 --- a/contracts/RMRK/utils/RMRKEquipRenderUtils.sol +++ b/contracts/RMRK/utils/RMRKEquipRenderUtils.sol @@ -813,7 +813,6 @@ contract RMRKEquipRenderUtils is .getAssetAndEquippableData(childId, childAssets[i]); for (uint256 j; j < parentSlotPartIds.length; ) { if ( - catalogAddress == parentAssetCatalog && childContract.canTokenBeEquippedWithAssetIntoSlot( parentAddress, childId, diff --git a/test/renderUtils.ts b/test/renderUtils.ts index 97903965..46bbef84 100644 --- a/test/renderUtils.ts +++ b/test/renderUtils.ts @@ -652,7 +652,7 @@ describe('Advanced Equip Render Utils', async function () { ]); }); - it('can get equippable slots from parent asset and excludes if catalog does not match', async function () { + it('can get equippable slots from parent asset even if catalog does not match', async function () { await setUpCatalog(catalog, gem.address); await setUpKanariaAsset(kanaria, kanariaId, catalog.address); await setUpGemAssets(gem, gemId1, gemId2, gemId3, kanaria.address, catalog.address); @@ -713,6 +713,17 @@ describe('Advanced Equip Render Utils', async function () { 'ipfs://gems/typeB/left.svg', 'ipfs://kanaria/full.svg', ], + [ + bn(slotIdGemLeft), + newResourceId, + bn(assetForKanariaFull), + bn(4), + catalog.address, // This is the catalog address of the parent, not the child + false, + 'ipfs://metadataSlotGemLeft', + 'ipfs://assetFromOtherCatalog.jpg', + 'ipfs://kanaria/full.svg', + ], ], ]); });