@@ -118,11 +118,13 @@ function* fetchWearablesFromCatalyst(filters: WearablesRequestFilters) {
118118 result . push ( ...v2Wearables )
119119 }
120120 } else {
121- const ownedWearables : OwnedWearablesWithDefinition [ ] = yield call (
122- fetchOwnedWearables ,
123- filters . ownedByUser ,
124- client
125- )
121+ let ownedWearables : OwnedWearablesWithDefinition [ ]
122+ if ( filters . thirdPartyId ) {
123+ ownedWearables = yield call ( fetchOwnedThirdPartyWearables , filters . ownedByUser , filters . thirdPartyId , client )
124+ } else {
125+ ownedWearables = yield call ( fetchOwnedWearables , filters . ownedByUser , client )
126+ }
127+
126128 for ( const { amount, definition } of ownedWearables ) {
127129 if ( definition ) {
128130 for ( let i = 0 ; i < amount ; i ++ ) {
@@ -170,6 +172,10 @@ function* fetchWearablesFromCatalyst(filters: WearablesRequestFilters) {
170172 . filter ( ( wearable ) => ! ! wearable )
171173}
172174
175+ function fetchOwnedThirdPartyWearables ( ethAddress : string , thirdPartyId : string , client : CatalystClient ) {
176+ return client . fetchOwnedThirdPartyWearables ( ethAddress , thirdPartyId , true )
177+ }
178+
173179function fetchOwnedWearables ( ethAddress : string , client : CatalystClient ) {
174180 return client . fetchOwnedWearables ( ethAddress , true )
175181}
@@ -315,6 +321,10 @@ function areFiltersValid(filters: WearablesRequestFilters) {
315321 filtersSet += 1
316322 }
317323
324+ if ( filters . thirdPartyId && ! filters . ownedByUser ) {
325+ ok = false
326+ }
327+
318328 return filtersSet === 1 && ok
319329}
320330
0 commit comments