Skip to content

Commit

Permalink
Merge pull request #16 from alephium/token-list-auto-update
Browse files Browse the repository at this point in the history
Update token list automatically
  • Loading branch information
polarker authored Mar 24, 2024
2 parents de775cc + f037410 commit 83e542d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 14 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"preview": "vite preview"
},
"dependencies": {
"@alephium/token-list": "^0.0.15",
"@alephium/token-list": "0.0.16",
"@alephium/web3": "0.30.0-beta.1",
"@alephium/web3-react": "0.30.0-beta.1",
"@emotion/react": "^11.11.1",
Expand Down
34 changes: 25 additions & 9 deletions src/utils/utils.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import {
TokenInfo,
TokenList,
mainnetTokensMetadata,
testnetTokensMetadata,
getTokensURL,
mainnet,
testnet,
} from '@alephium/token-list'
import { ExplorerProvider, NetworkId, NodeProvider, web3 } from '@alephium/web3'
import { useWalletConfig } from '@alephium/web3-react'
import { useEffect, useMemo } from 'react'
import { useEffect, useMemo, useState } from 'react'

const mainnet_node_url = 'https://wallet-v20.mainnet.alephium.org'
const testnet_node_url = 'https://wallet-v20.testnet.alephium.org'
Expand Down Expand Up @@ -95,15 +96,30 @@ export function useExplorerFE(): string {

export function useTokenList(): TokenInfo[] {
const [network] = useNetworkId()
return network === 'mainnet'
? mainnetTokensMetadata.tokens
: network === 'testnet'
? testnetTokensMetadata.tokens
: []
const [tokens, setTokens] = useState<TokenInfo[]>(network === 'mainnet' ? mainnet.tokens : network === 'testnet' ? testnet.tokens : [])

useEffect(() => {
const updateTokens = async () => {
if (network === 'mainnet' || network === 'testnet') {
const tokenURL = getTokensURL(network)
const response = await fetch(tokenURL)
if (!response.ok) {
console.error('Failed to update token list')
return
}
const data = await response.json() as TokenList
setTokens(data.tokens)
}
}

void updateTokens()
}, [network])

return tokens
}

export function getTokenMetadata(network: 'mainnet' | 'testnet'): TokenList {
return network === 'mainnet' ? mainnetTokensMetadata : testnetTokensMetadata
return network === 'mainnet' ? mainnet : testnet
}

function isObject(object: any): boolean {
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@
"@alephium/web3" "^0.30.2"
bowser "^2.11.0"

"@alephium/token-list@^0.0.15":
version "0.0.15"
resolved "https://registry.yarnpkg.com/@alephium/token-list/-/token-list-0.0.15.tgz#8d2adf01e34c63c9adef9e599840da7846a39c38"
integrity sha512-ujOWIdT2cK/7x4lFo/SphoARbHr3QsjY99FX8vIGkDFh8wSRp3y2XUK1MmhF6OvcxK6SscIEhZH3JAStNyU9dg==
"@alephium/[email protected].16":
version "0.0.16"
resolved "https://registry.yarnpkg.com/@alephium/token-list/-/token-list-0.0.16.tgz#eaf93738a08dfc02c707aa214f0fb928515226ad"
integrity sha512-pI9n89TpSJZbwfaPtR4eIrdRB8nosuZdAvTHv9aDewL38tVA8XSXKE842hxz6wCb3yO5LXP3fN/iyPDgMSAT0A==
dependencies:
cross-fetch "^3.1.8"

Expand Down

0 comments on commit 83e542d

Please sign in to comment.