🐛 Allow > 10 accounts (#505)

This commit is contained in:
Bob van der Helm 2023-09-25 16:52:01 +02:00 committed by GitHub
parent 308ec7dba4
commit d0ce3eea45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 9 deletions

View File

@ -1,14 +1,29 @@
import { getAccountNftQueryClient } from 'api/cosmwasm-client'
import { ITEM_LIMIT_PER_QUERY } from 'constants/query'
export default async function getAccountIds(address?: string): Promise<string[]> {
if (!address) return []
const accountNftQueryClient = await getAccountNftQueryClient()
export default async function getAccountIds(
address?: string,
previousResults?: string[],
): Promise<string[]> {
try {
if (!address) return []
const accountNftQueryClient = await getAccountNftQueryClient()
const data = await accountNftQueryClient.tokens({ owner: address })
const lastItem = previousResults && previousResults.at(-1)
const results = await accountNftQueryClient.tokens({
limit: ITEM_LIMIT_PER_QUERY,
startAfter: lastItem,
owner: address,
})
if (data.tokens) {
return data.tokens.sort((a, b) => Number(a) - Number(b))
const accumulated = (previousResults ?? []).concat(results.tokens)
if (results.tokens.length < ITEM_LIMIT_PER_QUERY) {
return accumulated.sort((a, b) => parseInt(a) - parseInt(b))
}
return await getAccountIds(address, accumulated)
} catch {
return new Promise((_, reject) => reject('No data'))
}
return new Promise((_, reject) => reject('No data'))
}

View File

@ -1,5 +1,4 @@
import { ENV } from 'constants/env'
import { NETWORK } from 'types/enums/network'
export const MARS_MAINNET_DENOM =