@@ -27,34 +27,38 @@ export const unlockableAppIconCheck = async (appIconKey: UnlockableAppIconKey, w
27
27
logger . debug ( `[unlockableAppIconCheck]: ${ appIconKey } was handled? ${ handled } ` ) ;
28
28
29
29
try {
30
- const found = (
31
- await Promise . all (
32
- ( Object . keys ( appIcon . unlockingNFTs ) as TokenGateCheckerNetwork [ ] ) . map ( async network => {
33
- const nfts = appIcon . unlockingNFTs [ network ] ;
34
- if ( ! nfts ) return ;
35
- logger . debug ( `[unlockableAppIconCheck]: Checking ${ appIconKey } on network ${ network } ` ) ;
36
- const non1155s : EthereumAddress [ ] = [ ] ;
37
- const all1155s : TokenInfo [ ] = [ ] ;
30
+ const promises = ( Object . keys ( appIcon . unlockingNFTs ) as TokenGateCheckerNetwork [ ] ) . map ( network => {
31
+ const nfts = appIcon . unlockingNFTs [ network ] ;
32
+ if ( ! nfts ) return ;
33
+ logger . debug ( `[unlockableAppIconCheck]: Checking ${ appIconKey } on network ${ network } ` ) ;
34
+ const non1155s : EthereumAddress [ ] = [ ] ;
35
+ const all1155s : TokenInfo [ ] = [ ] ;
38
36
39
- const values = Object . values ( nfts ) ;
40
- values . forEach ( value => {
41
- if ( typeof value === 'string' ) {
42
- non1155s . push ( value ) ;
43
- } else {
44
- all1155s . push ( value ) ;
45
- }
46
- } ) ;
47
- const allChecks = [ ] ;
48
- if ( non1155s . length > 0 ) {
49
- allChecks . push ( checkIfWalletsOwnNft ( non1155s , network , walletsToCheck ) ) ;
50
- }
51
- if ( all1155s . length > 0 ) {
52
- allChecks . push ( checkIfWalletsOwnNft1155 ( all1155s , network , walletsToCheck ) ) ;
53
- }
54
- return Promise . all ( allChecks ) ;
55
- } )
56
- )
57
- ) . some ( result => ! ! result ) ;
37
+ const values = Object . values ( nfts ) ;
38
+ values . forEach ( value => {
39
+ if ( typeof value === 'string' ) {
40
+ non1155s . push ( value ) ;
41
+ } else {
42
+ all1155s . push ( value ) ;
43
+ }
44
+ } ) ;
45
+ const allChecks = [ ] ;
46
+ if ( non1155s . length > 0 ) {
47
+ allChecks . push ( checkIfWalletsOwnNft ( non1155s , network , walletsToCheck ) ) ;
48
+ }
49
+ if ( all1155s . length > 0 ) {
50
+ allChecks . push ( checkIfWalletsOwnNft1155 ( all1155s , network , walletsToCheck ) ) ;
51
+ }
52
+ return allChecks ;
53
+ } ) ;
54
+
55
+ const allPromises = promises . flat ( ) ;
56
+ const results = await Promise . all ( allPromises ) ;
57
+
58
+ const found = results . some ( result => ! ! result ) ;
59
+ if ( ! found ) {
60
+ unlockableAppIconStorage . set ( appIconKey , false ) ;
61
+ }
58
62
59
63
logger . debug ( `[unlockableAppIconCheck]: ${ appIconKey } check result: ${ found } ` ) ;
60
64
@@ -65,6 +69,7 @@ export const unlockableAppIconCheck = async (appIconKey: UnlockableAppIconKey, w
65
69
if ( found ) {
66
70
unlockableAppIconStorage . set ( appIconKey , true ) ;
67
71
logger . debug ( `[unlockableAppIconCheck]: Feature check ${ appIconKey } set to true. Wont show up anymore!` ) ;
72
+
68
73
Navigation . handleAction ( Routes . APP_ICON_UNLOCK_SHEET , { appIconKey } ) ;
69
74
return true ;
70
75
}
0 commit comments