Add environment variable "NEXT_PUBLIC_CHAIN_ALLOWLIST"
This commit is contained in:
		
							parent
							
								
									26c95bfbe5
								
							
						
					
					
						commit
						cc2f59cd02
					
				| @ -240,15 +240,33 @@ export default function VerificationPage() { | |||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   const fetchChainList = async (wallet: KeplrWallet) => { |   const fetchChainList = async (wallet: KeplrWallet) => { | ||||||
|     const chainIds = (await wallet.getChainInfosWithoutEndpoints()).map( |     const needAllowList = | ||||||
|       (c) => c.chainId, |       process.env.NEXT_PUBLIC_CHAIN_ALLOWLIST != null && | ||||||
|     ); |       process.env.NEXT_PUBLIC_CHAIN_ALLOWLIST.trim().length !== 0; | ||||||
|     const chainKeys = await Promise.allSettled( |     const chainAllowList = (process.env.NEXT_PUBLIC_CHAIN_ALLOWLIST || "") | ||||||
|       chainIds.map((chainId) => wallet.getKey(chainId)), |       .split(",") | ||||||
|     ); |       .map((str) => str.trim()) | ||||||
|  |       .filter((str) => str.length > 0) | ||||||
|  |       .map((str) => ChainIdHelper.parse(str).identifier); | ||||||
| 
 | 
 | ||||||
|     const chainInfos = (await wallet.getChainInfosWithoutEndpoints()).map( |     const chainAllowListMap = new Map<string, true | undefined>(); | ||||||
|       (chainInfo) => { |     for (const allow of chainAllowList) { | ||||||
|  |       chainAllowListMap.set(allow, true); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     const chainInfos = (await wallet.getChainInfosWithoutEndpoints()) | ||||||
|  |       .filter((chainInfo) => { | ||||||
|  |         if (!needAllowList) { | ||||||
|  |           return true; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         const chainIdentifier = ChainIdHelper.parse( | ||||||
|  |           chainInfo.chainId, | ||||||
|  |         ).identifier; | ||||||
|  | 
 | ||||||
|  |         return chainAllowListMap.get(chainIdentifier) === true; | ||||||
|  |       }) | ||||||
|  |       .map((chainInfo) => { | ||||||
|         return { |         return { | ||||||
|           chainId: chainInfo.chainId, |           chainId: chainInfo.chainId, | ||||||
|           chainName: chainInfo.chainName, |           chainName: chainInfo.chainName, | ||||||
| @ -258,7 +276,11 @@ export default function VerificationPage() { | |||||||
|           }/chain.png`,
 |           }/chain.png`,
 | ||||||
|           isEthermintLike: chainInfo.isEthermintLike, |           isEthermintLike: chainInfo.isEthermintLike, | ||||||
|         }; |         }; | ||||||
|       }, |       }); | ||||||
|  | 
 | ||||||
|  |     const chainIds = chainInfos.map((c) => c.chainId); | ||||||
|  |     const chainKeys = await Promise.allSettled( | ||||||
|  |       chainIds.map((chainId) => wallet.getKey(chainId)), | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|     const chainArray = []; |     const chainArray = []; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user