UNPKG

sui-explorer-local

Version:
26 lines (22 loc) 875 B
// Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 import { useSuiClient } from '@mysten/dapp-kit'; import { DynamicFieldPage } from '@mysten/sui.js/client'; import { normalizeSuiAddress } from '@mysten/sui.js/utils'; import { useInfiniteQuery } from '@tanstack/react-query'; const MAX_PAGE_SIZE = 10; export function useGetDynamicFields(parentId: string, maxPageSize = MAX_PAGE_SIZE) { const client = useSuiClient(); return useInfiniteQuery<DynamicFieldPage>({ queryKey: ['dynamic-fields', { maxPageSize, parentId }], queryFn: ({ pageParam = null }) => client.getDynamicFields({ parentId: normalizeSuiAddress(parentId), cursor: pageParam as string | null, limit: maxPageSize, }), enabled: !!parentId, initialPageParam: null, getNextPageParam: ({ nextCursor, hasNextPage }) => (hasNextPage ? nextCursor : null), }); }