@0xsequence/anypay-sdk
Version:
SDK for Anypay functionality
19 lines (18 loc) • 913 B
JavaScript
import { useConfig } from "@0xsequence/hooks";
import { SequenceIndexerGateway } from "@0xsequence/indexer";
import { useMemo } from "react";
import { DEFAULT_INDEXER_GATEWAY_URL } from "./constants.js";
export function getIndexerGatewayClient({ indexerGatewayUrl = DEFAULT_INDEXER_GATEWAY_URL, projectAccessKey, jwt, }) {
return new SequenceIndexerGateway(indexerGatewayUrl, projectAccessKey, jwt);
}
export const useIndexerGatewayClient = (config) => {
const { projectAccessKey, jwt, env } = useConfig();
const indexerGatewayClient = useMemo(() => {
return getIndexerGatewayClient({
indexerGatewayUrl: config?.indexerGatewayUrl ?? env.indexerGatewayUrl,
projectAccessKey: config?.projectAccessKey ?? projectAccessKey,
jwt: config?.jwt ?? jwt,
});
}, [projectAccessKey, jwt, env.indexerGatewayUrl, config]);
return indexerGatewayClient;
};