@provablehq/aleo-hooks 0.3.0-alpha.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -95,13 +95,10 @@ var State = class {
|
|
|
95
95
|
);
|
|
96
96
|
return callback(value);
|
|
97
97
|
} catch (error) {
|
|
98
|
+
retries--;
|
|
98
99
|
if (retries === 0) {
|
|
99
100
|
throw error;
|
|
100
101
|
}
|
|
101
|
-
console.error(error);
|
|
102
|
-
retries--;
|
|
103
|
-
console.log("Retrying...");
|
|
104
|
-
console.log(retries, "retries left");
|
|
105
102
|
await new Promise((resolve) => setTimeout(resolve, interval));
|
|
106
103
|
}
|
|
107
104
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/createConfig.ts","../src/types/network.ts","../src/types/programManager.ts","../src/actions/getLatestHeight.ts","../src/actions/getProgram.ts","../src/actions/getProgramMappingValue.ts","../src/actions/getTransaction.ts","../src/actions/getTransactions.ts","../src/actions/pollProgramMappingValueUpdate.ts"],"sourcesContent":["import { useQuery, QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport * as React from 'react';\nimport { State } from './createConfig';\nimport { Network } from './types';\nimport {\n getLatestHeight,\n getProgram,\n getProgramMappingValue,\n getTransaction,\n getTransactions,\n pollProgramMappingValueUpdate,\n} from './actions';\nexport * from './types';\n\nconst state = new State(Network.TESTNET);\n\nexport const queryClient = new QueryClient();\n\nexport function AleoHooksProvider({ children }: { children: React.ReactNode }) {\n return React.createElement(QueryClientProvider, { client: queryClient }, children);\n}\n\nexport function useLatestHeight(refetchInterval: number = 10_000) {\n let query;\n if (refetchInterval > 0) {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n refetchInterval,\n });\n } else {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n });\n }\n\n return {\n latestHeight: query.data,\n latestHeightIsLoading: query.isLoading,\n latestHeightIsError: query.isError,\n latestHeightError: query.error,\n refetchLatestHeight: query.refetch,\n };\n}\n\nexport function useTransactions(blockHeight: number) {\n let query = useQuery({\n queryKey: ['transactions', blockHeight],\n queryFn: () => getTransactions({ state }, blockHeight),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transactions: query.data,\n transactionsIsLoading: query.isLoading,\n transactionsIsError: query.isError,\n transactionsError: query.error,\n };\n}\n\nexport function useTransaction(transactionId: string) {\n let query = useQuery({\n queryKey: ['transaction', transactionId],\n queryFn: () => getTransaction({ state }, transactionId),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transaction: query.data,\n transactionIsLoading: query.isLoading,\n transactionIsError: query.isError,\n transactionError: query.error,\n };\n}\n\nexport function useProgram(programName: string) {\n let query = useQuery({\n queryKey: ['program', programName],\n queryFn: () => getProgram({ state }, programName),\n });\n\n return {\n program: query.data,\n programIsLoading: query.isLoading,\n programIsError: query.isError,\n programError: query.error,\n };\n}\n\nexport function useProgramMappingValue() {\n return {\n watchProgramMappingValue: (\n programName: string,\n mappingName: string,\n key: string,\n refetchInterval: number = 10_000,\n ) => {\n const query = useQuery({\n queryKey: ['programMappingValue', programName, mappingName, key],\n queryFn: () => getProgramMappingValue({ state }, programName, mappingName, key),\n refetchInterval,\n });\n return {\n programMappingValue: query.data,\n programMappingValueIsLoading: query.isLoading,\n programMappingValueIsError: query.isError,\n programMappingValueError: query.error,\n refetchProgramMappingValue: query.refetch,\n };\n },\n getProgramMappingValue: (programName: string, mappingName: string, key: string) =>\n getProgramMappingValue({ state }, programName, mappingName, key),\n pollProgramMappingValueUpdate: (\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ) =>\n pollProgramMappingValueUpdate(\n { state },\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n ),\n };\n}\n","import { EventEmitter } from '@provablehq/aleo-wallet-standard';\nimport { Network, newProgramManager, ProgramManager } from './types';\n\nexport type Config = {\n readonly state: State;\n};\n\nexport class State {\n emitter: EventEmitter = new EventEmitter();\n programManager: ProgramManager<Network.MAINNET | Network.TESTNET>;\n\n constructor(network: Network) {\n this.programManager = newProgramManager(network);\n }\n\n async pollProgramMappingValueUpdate(\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ): Promise<string | void> {\n while (retries > 0) {\n try {\n const value = await this.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n return callback(value);\n } catch (error) {\n if (retries === 0) {\n throw error;\n }\n console.error(error);\n retries--;\n console.log('Retrying...');\n console.log(retries, 'retries left');\n await new Promise(resolve => setTimeout(resolve, interval));\n }\n }\n }\n}\n","export enum Network {\n TESTNET = 'testnet',\n MAINNET = 'mainnet',\n}\n","import {\n ProgramManager as TestnetProgramManager,\n // AleoNetworkClientOptions as TestnetClientOptions,\n FunctionKeyProvider as TestnetFunctionKeyProvider,\n RecordProvider as TestnetRecordProvider,\n} from '@provablehq/sdk/testnet.js';\n\nimport {\n ProgramManager as MainnetProgramManager,\n // AleoNetworkClientOptions as MainnetClientOptions,\n FunctionKeyProvider as MainnetFunctionKeyProvider,\n RecordProvider as MainnetRecordProvider,\n} from '@provablehq/sdk/mainnet.js';\n\nimport { Network } from './network';\n\n// export type AleoNetworkClientOptions<N extends Network> = N extends Network.MAINNET ? MainnetClientOptions : TestnetClientOptions\nexport type FunctionKeyProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetFunctionKeyProvider\n : TestnetFunctionKeyProvider;\nexport type RecordProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetRecordProvider\n : TestnetRecordProvider;\n\nexport type ProgramManager<N extends Network> = N extends Network.MAINNET\n ? MainnetProgramManager\n : TestnetProgramManager;\n\nexport function newProgramManager<N extends Network>(\n network: N,\n host?: string | undefined,\n functionKeyProvider?: FunctionKeyProvider<N> | undefined,\n recordProvider?: RecordProvider<N> | undefined,\n // networkClientOptions?: AleoNetworkClientOptions<N> | undefined,\n): ProgramManager<N> {\n let programManager;\n switch (network) {\n case Network.MAINNET:\n programManager = new MainnetProgramManager(\n host,\n functionKeyProvider,\n <MainnetRecordProvider | undefined>recordProvider,\n );\n break;\n case Network.TESTNET:\n programManager = new TestnetProgramManager(\n host,\n functionKeyProvider,\n <TestnetRecordProvider | undefined>recordProvider,\n );\n break;\n }\n return <ProgramManager<N>>programManager;\n}\n","import { Config } from '../createConfig';\n\nexport default function getLatestHeight(config: Config): Promise<number> {\n return config.state.programManager.networkClient.getLatestHeight();\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgram(config: Config, programName: string) {\n return config.state.programManager.networkClient.getProgram(programName);\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgramMappingValue(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n): Promise<string | null> {\n return config.state.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function getTransaction(config: Config, transactionId: string) {\n return config.state.programManager.networkClient.getTransaction(transactionId);\n}\n","import { Config } from '../createConfig';\nimport { Transaction } from '@provablehq/aleo-types/src/transaction';\n\nexport default async function getTransactions(\n config: Config,\n blockHeight: number,\n): Promise<Transaction[]> {\n return (await config.state.programManager.networkClient.getTransactions(blockHeight)).map(\n transaction =>\n <Transaction>{\n type: transaction.transaction.type,\n id: transaction.transaction.id,\n fee: transaction.transaction.fee,\n owner: transaction.transaction.owner,\n deployment: transaction.transaction.deployment,\n execution: transaction.transaction.execution,\n },\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function pollProgramMappingValueUpdate(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n): Promise<string | null> {\n const res = await config.state.pollProgramMappingValueUpdate(\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n );\n return res ?? null;\n}\n"],"mappings":"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","names":["Network","MainnetProgramManager","TestnetProgramManager"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/createConfig.ts","../src/types/network.ts","../src/types/programManager.ts","../src/actions/getLatestHeight.ts","../src/actions/getProgram.ts","../src/actions/getProgramMappingValue.ts","../src/actions/getTransaction.ts","../src/actions/getTransactions.ts","../src/actions/pollProgramMappingValueUpdate.ts"],"sourcesContent":["import { useQuery, QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport * as React from 'react';\nimport { State } from './createConfig';\nimport { Network } from './types';\nimport {\n getLatestHeight,\n getProgram,\n getProgramMappingValue,\n getTransaction,\n getTransactions,\n pollProgramMappingValueUpdate,\n} from './actions';\nexport * from './types';\n\nconst state = new State(Network.TESTNET);\n\nexport const queryClient = new QueryClient();\n\nexport function AleoHooksProvider({ children }: { children: React.ReactNode }) {\n return React.createElement(QueryClientProvider, { client: queryClient }, children);\n}\n\nexport function useLatestHeight(refetchInterval: number = 10_000) {\n let query;\n if (refetchInterval > 0) {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n refetchInterval,\n });\n } else {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n });\n }\n\n return {\n latestHeight: query.data,\n latestHeightIsLoading: query.isLoading,\n latestHeightIsError: query.isError,\n latestHeightError: query.error,\n refetchLatestHeight: query.refetch,\n };\n}\n\nexport function useTransactions(blockHeight: number) {\n let query = useQuery({\n queryKey: ['transactions', blockHeight],\n queryFn: () => getTransactions({ state }, blockHeight),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transactions: query.data,\n transactionsIsLoading: query.isLoading,\n transactionsIsError: query.isError,\n transactionsError: query.error,\n };\n}\n\nexport function useTransaction(transactionId: string) {\n let query = useQuery({\n queryKey: ['transaction', transactionId],\n queryFn: () => getTransaction({ state }, transactionId),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transaction: query.data,\n transactionIsLoading: query.isLoading,\n transactionIsError: query.isError,\n transactionError: query.error,\n };\n}\n\nexport function useProgram(programName: string) {\n let query = useQuery({\n queryKey: ['program', programName],\n queryFn: () => getProgram({ state }, programName),\n });\n\n return {\n program: query.data,\n programIsLoading: query.isLoading,\n programIsError: query.isError,\n programError: query.error,\n };\n}\n\nexport function useProgramMappingValue() {\n return {\n watchProgramMappingValue: (\n programName: string,\n mappingName: string,\n key: string,\n refetchInterval: number = 10_000,\n ) => {\n const query = useQuery({\n queryKey: ['programMappingValue', programName, mappingName, key],\n queryFn: () => getProgramMappingValue({ state }, programName, mappingName, key),\n refetchInterval,\n });\n return {\n programMappingValue: query.data,\n programMappingValueIsLoading: query.isLoading,\n programMappingValueIsError: query.isError,\n programMappingValueError: query.error,\n refetchProgramMappingValue: query.refetch,\n };\n },\n getProgramMappingValue: (programName: string, mappingName: string, key: string) =>\n getProgramMappingValue({ state }, programName, mappingName, key),\n pollProgramMappingValueUpdate: (\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ) =>\n pollProgramMappingValueUpdate(\n { state },\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n ),\n };\n}\n","import { EventEmitter } from '@provablehq/aleo-wallet-standard';\nimport { Network, newProgramManager, ProgramManager } from './types';\n\nexport type Config = {\n readonly state: State;\n};\n\nexport class State {\n emitter: EventEmitter = new EventEmitter();\n programManager: ProgramManager<Network.MAINNET | Network.TESTNET>;\n\n constructor(network: Network) {\n this.programManager = newProgramManager(network);\n }\n\n async pollProgramMappingValueUpdate(\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ): Promise<string | void> {\n while (retries > 0) {\n try {\n const value = await this.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n return callback(value);\n } catch (error) {\n retries--;\n if (retries === 0) {\n throw error;\n }\n await new Promise(resolve => setTimeout(resolve, interval));\n }\n }\n }\n}\n","export enum Network {\n TESTNET = 'testnet',\n MAINNET = 'mainnet',\n}\n","import {\n ProgramManager as TestnetProgramManager,\n // AleoNetworkClientOptions as TestnetClientOptions,\n FunctionKeyProvider as TestnetFunctionKeyProvider,\n RecordProvider as TestnetRecordProvider,\n} from '@provablehq/sdk/testnet.js';\n\nimport {\n ProgramManager as MainnetProgramManager,\n // AleoNetworkClientOptions as MainnetClientOptions,\n FunctionKeyProvider as MainnetFunctionKeyProvider,\n RecordProvider as MainnetRecordProvider,\n} from '@provablehq/sdk/mainnet.js';\n\nimport { Network } from './network';\n\n// export type AleoNetworkClientOptions<N extends Network> = N extends Network.MAINNET ? MainnetClientOptions : TestnetClientOptions\nexport type FunctionKeyProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetFunctionKeyProvider\n : TestnetFunctionKeyProvider;\nexport type RecordProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetRecordProvider\n : TestnetRecordProvider;\n\nexport type ProgramManager<N extends Network> = N extends Network.MAINNET\n ? MainnetProgramManager\n : TestnetProgramManager;\n\nexport function newProgramManager<N extends Network>(\n network: N,\n host?: string | undefined,\n functionKeyProvider?: FunctionKeyProvider<N> | undefined,\n recordProvider?: RecordProvider<N> | undefined,\n // networkClientOptions?: AleoNetworkClientOptions<N> | undefined,\n): ProgramManager<N> {\n let programManager;\n switch (network) {\n case Network.MAINNET:\n programManager = new MainnetProgramManager(\n host,\n functionKeyProvider,\n <MainnetRecordProvider | undefined>recordProvider,\n );\n break;\n case Network.TESTNET:\n programManager = new TestnetProgramManager(\n host,\n functionKeyProvider,\n <TestnetRecordProvider | undefined>recordProvider,\n );\n break;\n }\n return <ProgramManager<N>>programManager;\n}\n","import { Config } from '../createConfig';\n\nexport default function getLatestHeight(config: Config): Promise<number> {\n return config.state.programManager.networkClient.getLatestHeight();\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgram(config: Config, programName: string) {\n return config.state.programManager.networkClient.getProgram(programName);\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgramMappingValue(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n): Promise<string | null> {\n return config.state.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function getTransaction(config: Config, transactionId: string) {\n return config.state.programManager.networkClient.getTransaction(transactionId);\n}\n","import { Config } from '../createConfig';\nimport { Transaction } from '@provablehq/aleo-types/src/transaction';\n\nexport default async function getTransactions(\n config: Config,\n blockHeight: number,\n): Promise<Transaction[]> {\n return (await config.state.programManager.networkClient.getTransactions(blockHeight)).map(\n transaction =>\n <Transaction>{\n type: transaction.transaction.type,\n id: transaction.transaction.id,\n fee: transaction.transaction.fee,\n owner: transaction.transaction.owner,\n deployment: transaction.transaction.deployment,\n execution: transaction.transaction.execution,\n },\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function pollProgramMappingValueUpdate(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n): Promise<string | null> {\n const res = await config.state.pollProgramMappingValueUpdate(\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n );\n return res ?? null;\n}\n"],"mappings":"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","names":["Network","MainnetProgramManager","TestnetProgramManager"]}
|
package/dist/index.mjs
CHANGED
|
@@ -57,13 +57,10 @@ var State = class {
|
|
|
57
57
|
);
|
|
58
58
|
return callback(value);
|
|
59
59
|
} catch (error) {
|
|
60
|
+
retries--;
|
|
60
61
|
if (retries === 0) {
|
|
61
62
|
throw error;
|
|
62
63
|
}
|
|
63
|
-
console.error(error);
|
|
64
|
-
retries--;
|
|
65
|
-
console.log("Retrying...");
|
|
66
|
-
console.log(retries, "retries left");
|
|
67
64
|
await new Promise((resolve) => setTimeout(resolve, interval));
|
|
68
65
|
}
|
|
69
66
|
}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/createConfig.ts","../src/types/network.ts","../src/types/programManager.ts","../src/actions/getLatestHeight.ts","../src/actions/getProgram.ts","../src/actions/getProgramMappingValue.ts","../src/actions/getTransaction.ts","../src/actions/getTransactions.ts","../src/actions/pollProgramMappingValueUpdate.ts"],"sourcesContent":["import { useQuery, QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport * as React from 'react';\nimport { State } from './createConfig';\nimport { Network } from './types';\nimport {\n getLatestHeight,\n getProgram,\n getProgramMappingValue,\n getTransaction,\n getTransactions,\n pollProgramMappingValueUpdate,\n} from './actions';\nexport * from './types';\n\nconst state = new State(Network.TESTNET);\n\nexport const queryClient = new QueryClient();\n\nexport function AleoHooksProvider({ children }: { children: React.ReactNode }) {\n return React.createElement(QueryClientProvider, { client: queryClient }, children);\n}\n\nexport function useLatestHeight(refetchInterval: number = 10_000) {\n let query;\n if (refetchInterval > 0) {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n refetchInterval,\n });\n } else {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n });\n }\n\n return {\n latestHeight: query.data,\n latestHeightIsLoading: query.isLoading,\n latestHeightIsError: query.isError,\n latestHeightError: query.error,\n refetchLatestHeight: query.refetch,\n };\n}\n\nexport function useTransactions(blockHeight: number) {\n let query = useQuery({\n queryKey: ['transactions', blockHeight],\n queryFn: () => getTransactions({ state }, blockHeight),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transactions: query.data,\n transactionsIsLoading: query.isLoading,\n transactionsIsError: query.isError,\n transactionsError: query.error,\n };\n}\n\nexport function useTransaction(transactionId: string) {\n let query = useQuery({\n queryKey: ['transaction', transactionId],\n queryFn: () => getTransaction({ state }, transactionId),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transaction: query.data,\n transactionIsLoading: query.isLoading,\n transactionIsError: query.isError,\n transactionError: query.error,\n };\n}\n\nexport function useProgram(programName: string) {\n let query = useQuery({\n queryKey: ['program', programName],\n queryFn: () => getProgram({ state }, programName),\n });\n\n return {\n program: query.data,\n programIsLoading: query.isLoading,\n programIsError: query.isError,\n programError: query.error,\n };\n}\n\nexport function useProgramMappingValue() {\n return {\n watchProgramMappingValue: (\n programName: string,\n mappingName: string,\n key: string,\n refetchInterval: number = 10_000,\n ) => {\n const query = useQuery({\n queryKey: ['programMappingValue', programName, mappingName, key],\n queryFn: () => getProgramMappingValue({ state }, programName, mappingName, key),\n refetchInterval,\n });\n return {\n programMappingValue: query.data,\n programMappingValueIsLoading: query.isLoading,\n programMappingValueIsError: query.isError,\n programMappingValueError: query.error,\n refetchProgramMappingValue: query.refetch,\n };\n },\n getProgramMappingValue: (programName: string, mappingName: string, key: string) =>\n getProgramMappingValue({ state }, programName, mappingName, key),\n pollProgramMappingValueUpdate: (\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ) =>\n pollProgramMappingValueUpdate(\n { state },\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n ),\n };\n}\n","import { EventEmitter } from '@provablehq/aleo-wallet-standard';\nimport { Network, newProgramManager, ProgramManager } from './types';\n\nexport type Config = {\n readonly state: State;\n};\n\nexport class State {\n emitter: EventEmitter = new EventEmitter();\n programManager: ProgramManager<Network.MAINNET | Network.TESTNET>;\n\n constructor(network: Network) {\n this.programManager = newProgramManager(network);\n }\n\n async pollProgramMappingValueUpdate(\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ): Promise<string | void> {\n while (retries > 0) {\n try {\n const value = await this.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n return callback(value);\n } catch (error) {\n if (retries === 0) {\n throw error;\n }\n console.error(error);\n retries--;\n console.log('Retrying...');\n console.log(retries, 'retries left');\n await new Promise(resolve => setTimeout(resolve, interval));\n }\n }\n }\n}\n","export enum Network {\n TESTNET = 'testnet',\n MAINNET = 'mainnet',\n}\n","import {\n ProgramManager as TestnetProgramManager,\n // AleoNetworkClientOptions as TestnetClientOptions,\n FunctionKeyProvider as TestnetFunctionKeyProvider,\n RecordProvider as TestnetRecordProvider,\n} from '@provablehq/sdk/testnet.js';\n\nimport {\n ProgramManager as MainnetProgramManager,\n // AleoNetworkClientOptions as MainnetClientOptions,\n FunctionKeyProvider as MainnetFunctionKeyProvider,\n RecordProvider as MainnetRecordProvider,\n} from '@provablehq/sdk/mainnet.js';\n\nimport { Network } from './network';\n\n// export type AleoNetworkClientOptions<N extends Network> = N extends Network.MAINNET ? MainnetClientOptions : TestnetClientOptions\nexport type FunctionKeyProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetFunctionKeyProvider\n : TestnetFunctionKeyProvider;\nexport type RecordProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetRecordProvider\n : TestnetRecordProvider;\n\nexport type ProgramManager<N extends Network> = N extends Network.MAINNET\n ? MainnetProgramManager\n : TestnetProgramManager;\n\nexport function newProgramManager<N extends Network>(\n network: N,\n host?: string | undefined,\n functionKeyProvider?: FunctionKeyProvider<N> | undefined,\n recordProvider?: RecordProvider<N> | undefined,\n // networkClientOptions?: AleoNetworkClientOptions<N> | undefined,\n): ProgramManager<N> {\n let programManager;\n switch (network) {\n case Network.MAINNET:\n programManager = new MainnetProgramManager(\n host,\n functionKeyProvider,\n <MainnetRecordProvider | undefined>recordProvider,\n );\n break;\n case Network.TESTNET:\n programManager = new TestnetProgramManager(\n host,\n functionKeyProvider,\n <TestnetRecordProvider | undefined>recordProvider,\n );\n break;\n }\n return <ProgramManager<N>>programManager;\n}\n","import { Config } from '../createConfig';\n\nexport default function getLatestHeight(config: Config): Promise<number> {\n return config.state.programManager.networkClient.getLatestHeight();\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgram(config: Config, programName: string) {\n return config.state.programManager.networkClient.getProgram(programName);\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgramMappingValue(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n): Promise<string | null> {\n return config.state.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function getTransaction(config: Config, transactionId: string) {\n return config.state.programManager.networkClient.getTransaction(transactionId);\n}\n","import { Config } from '../createConfig';\nimport { Transaction } from '@provablehq/aleo-types/src/transaction';\n\nexport default async function getTransactions(\n config: Config,\n blockHeight: number,\n): Promise<Transaction[]> {\n return (await config.state.programManager.networkClient.getTransactions(blockHeight)).map(\n transaction =>\n <Transaction>{\n type: transaction.transaction.type,\n id: transaction.transaction.id,\n fee: transaction.transaction.fee,\n owner: transaction.transaction.owner,\n deployment: transaction.transaction.deployment,\n execution: transaction.transaction.execution,\n },\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function pollProgramMappingValueUpdate(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n): Promise<string | null> {\n const res = await config.state.pollProgramMappingValueUpdate(\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n );\n return res ?? null;\n}\n"],"mappings":"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","names":["Network"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/createConfig.ts","../src/types/network.ts","../src/types/programManager.ts","../src/actions/getLatestHeight.ts","../src/actions/getProgram.ts","../src/actions/getProgramMappingValue.ts","../src/actions/getTransaction.ts","../src/actions/getTransactions.ts","../src/actions/pollProgramMappingValueUpdate.ts"],"sourcesContent":["import { useQuery, QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport * as React from 'react';\nimport { State } from './createConfig';\nimport { Network } from './types';\nimport {\n getLatestHeight,\n getProgram,\n getProgramMappingValue,\n getTransaction,\n getTransactions,\n pollProgramMappingValueUpdate,\n} from './actions';\nexport * from './types';\n\nconst state = new State(Network.TESTNET);\n\nexport const queryClient = new QueryClient();\n\nexport function AleoHooksProvider({ children }: { children: React.ReactNode }) {\n return React.createElement(QueryClientProvider, { client: queryClient }, children);\n}\n\nexport function useLatestHeight(refetchInterval: number = 10_000) {\n let query;\n if (refetchInterval > 0) {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n refetchInterval,\n });\n } else {\n query = useQuery({\n queryKey: ['latestHeight'],\n queryFn: () => getLatestHeight({ state }),\n });\n }\n\n return {\n latestHeight: query.data,\n latestHeightIsLoading: query.isLoading,\n latestHeightIsError: query.isError,\n latestHeightError: query.error,\n refetchLatestHeight: query.refetch,\n };\n}\n\nexport function useTransactions(blockHeight: number) {\n let query = useQuery({\n queryKey: ['transactions', blockHeight],\n queryFn: () => getTransactions({ state }, blockHeight),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transactions: query.data,\n transactionsIsLoading: query.isLoading,\n transactionsIsError: query.isError,\n transactionsError: query.error,\n };\n}\n\nexport function useTransaction(transactionId: string) {\n let query = useQuery({\n queryKey: ['transaction', transactionId],\n queryFn: () => getTransaction({ state }, transactionId),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return {\n transaction: query.data,\n transactionIsLoading: query.isLoading,\n transactionIsError: query.isError,\n transactionError: query.error,\n };\n}\n\nexport function useProgram(programName: string) {\n let query = useQuery({\n queryKey: ['program', programName],\n queryFn: () => getProgram({ state }, programName),\n });\n\n return {\n program: query.data,\n programIsLoading: query.isLoading,\n programIsError: query.isError,\n programError: query.error,\n };\n}\n\nexport function useProgramMappingValue() {\n return {\n watchProgramMappingValue: (\n programName: string,\n mappingName: string,\n key: string,\n refetchInterval: number = 10_000,\n ) => {\n const query = useQuery({\n queryKey: ['programMappingValue', programName, mappingName, key],\n queryFn: () => getProgramMappingValue({ state }, programName, mappingName, key),\n refetchInterval,\n });\n return {\n programMappingValue: query.data,\n programMappingValueIsLoading: query.isLoading,\n programMappingValueIsError: query.isError,\n programMappingValueError: query.error,\n refetchProgramMappingValue: query.refetch,\n };\n },\n getProgramMappingValue: (programName: string, mappingName: string, key: string) =>\n getProgramMappingValue({ state }, programName, mappingName, key),\n pollProgramMappingValueUpdate: (\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ) =>\n pollProgramMappingValueUpdate(\n { state },\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n ),\n };\n}\n","import { EventEmitter } from '@provablehq/aleo-wallet-standard';\nimport { Network, newProgramManager, ProgramManager } from './types';\n\nexport type Config = {\n readonly state: State;\n};\n\nexport class State {\n emitter: EventEmitter = new EventEmitter();\n programManager: ProgramManager<Network.MAINNET | Network.TESTNET>;\n\n constructor(network: Network) {\n this.programManager = newProgramManager(network);\n }\n\n async pollProgramMappingValueUpdate(\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n ): Promise<string | void> {\n while (retries > 0) {\n try {\n const value = await this.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n return callback(value);\n } catch (error) {\n retries--;\n if (retries === 0) {\n throw error;\n }\n await new Promise(resolve => setTimeout(resolve, interval));\n }\n }\n }\n}\n","export enum Network {\n TESTNET = 'testnet',\n MAINNET = 'mainnet',\n}\n","import {\n ProgramManager as TestnetProgramManager,\n // AleoNetworkClientOptions as TestnetClientOptions,\n FunctionKeyProvider as TestnetFunctionKeyProvider,\n RecordProvider as TestnetRecordProvider,\n} from '@provablehq/sdk/testnet.js';\n\nimport {\n ProgramManager as MainnetProgramManager,\n // AleoNetworkClientOptions as MainnetClientOptions,\n FunctionKeyProvider as MainnetFunctionKeyProvider,\n RecordProvider as MainnetRecordProvider,\n} from '@provablehq/sdk/mainnet.js';\n\nimport { Network } from './network';\n\n// export type AleoNetworkClientOptions<N extends Network> = N extends Network.MAINNET ? MainnetClientOptions : TestnetClientOptions\nexport type FunctionKeyProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetFunctionKeyProvider\n : TestnetFunctionKeyProvider;\nexport type RecordProvider<N extends Network> = N extends Network.MAINNET\n ? MainnetRecordProvider\n : TestnetRecordProvider;\n\nexport type ProgramManager<N extends Network> = N extends Network.MAINNET\n ? MainnetProgramManager\n : TestnetProgramManager;\n\nexport function newProgramManager<N extends Network>(\n network: N,\n host?: string | undefined,\n functionKeyProvider?: FunctionKeyProvider<N> | undefined,\n recordProvider?: RecordProvider<N> | undefined,\n // networkClientOptions?: AleoNetworkClientOptions<N> | undefined,\n): ProgramManager<N> {\n let programManager;\n switch (network) {\n case Network.MAINNET:\n programManager = new MainnetProgramManager(\n host,\n functionKeyProvider,\n <MainnetRecordProvider | undefined>recordProvider,\n );\n break;\n case Network.TESTNET:\n programManager = new TestnetProgramManager(\n host,\n functionKeyProvider,\n <TestnetRecordProvider | undefined>recordProvider,\n );\n break;\n }\n return <ProgramManager<N>>programManager;\n}\n","import { Config } from '../createConfig';\n\nexport default function getLatestHeight(config: Config): Promise<number> {\n return config.state.programManager.networkClient.getLatestHeight();\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgram(config: Config, programName: string) {\n return config.state.programManager.networkClient.getProgram(programName);\n}\n","import { Config } from '../createConfig';\n\nexport default async function getProgramMappingValue(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n): Promise<string | null> {\n return config.state.programManager.networkClient.getProgramMappingValue(\n programName,\n mappingName,\n key,\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function getTransaction(config: Config, transactionId: string) {\n return config.state.programManager.networkClient.getTransaction(transactionId);\n}\n","import { Config } from '../createConfig';\nimport { Transaction } from '@provablehq/aleo-types/src/transaction';\n\nexport default async function getTransactions(\n config: Config,\n blockHeight: number,\n): Promise<Transaction[]> {\n return (await config.state.programManager.networkClient.getTransactions(blockHeight)).map(\n transaction =>\n <Transaction>{\n type: transaction.transaction.type,\n id: transaction.transaction.id,\n fee: transaction.transaction.fee,\n owner: transaction.transaction.owner,\n deployment: transaction.transaction.deployment,\n execution: transaction.transaction.execution,\n },\n );\n}\n","import { Config } from '../createConfig';\n\nexport default async function pollProgramMappingValueUpdate(\n config: Config,\n programName: string,\n mappingName: string,\n key: string,\n callback: (value: string) => string = value => value,\n retries: number = 10,\n interval: number = 1000,\n): Promise<string | null> {\n const res = await config.state.pollProgramMappingValueUpdate(\n programName,\n mappingName,\n key,\n callback,\n retries,\n interval,\n );\n return res ?? null;\n}\n"],"mappings":"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","names":["Network"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@provablehq/aleo-hooks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Hooks for Aleo blockchain",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"@provablehq/sdk": "^0.9.9",
|
|
22
22
|
"@tanstack/react-query": "^5.75.0",
|
|
23
23
|
"react": "^18.2.0",
|
|
24
|
-
"@provablehq/aleo-types": "0.
|
|
25
|
-
"@provablehq/aleo-wallet-standard": "0.
|
|
24
|
+
"@provablehq/aleo-types": "1.0.0",
|
|
25
|
+
"@provablehq/aleo-wallet-standard": "1.0.0"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
28
|
"build": "tsup",
|