@aptos-labs/react
Version:
React library for Aptos applications.
36 lines (30 loc) • 1.03 kB
text/typescript
// Copyright © Aptos
// SPDX-License-Identifier: Apache-2.0
import {
SignAndSubmitTransactionParameters,
SignAndSubmitTransactionResult,
} from "@aptos-labs/js-pro";
import { UseMutationOptions } from "../types/queries.js";
import { DefaultError, useMutation } from "@tanstack/react-query";
import { useAptosCore } from "../AptosJSCoreProvider.js";
export type UseSignAndSubmitTransactionMutationParameters = UseMutationOptions<
SignAndSubmitTransactionResult,
DefaultError,
SignAndSubmitTransactionParameters
>;
export function useSignAndSubmitTransaction({
...mutationOptions
}: UseSignAndSubmitTransactionMutationParameters = {}) {
const core = useAptosCore();
const mutation = useMutation({
mutationFn: (params: SignAndSubmitTransactionParameters) =>
core.client.signAndSubmitTransaction(params),
...mutationOptions,
});
return {
...mutation,
hash: mutation.data?.hash,
signAndSubmitTransaction: mutation.mutate,
signAndSubmitTransactionAsync: mutation.mutateAsync,
};
}