Skip to Content

🚧 These packages are still in development and may change rapidly as they are developed.

ReactuseSignAndSubmitTransaction

useSignAndSubmitTransaction

Hook for signing and submitting a transaction. The hook will use the default signer from the AptosJSProClient.

Usage

import { useSignAndSubmitTransaction } from "@aptos-labs/react"; import { Account } from "@aptos-labs/ts-sdk"; export default function App() { const recipient = Account.generate(); const { mutate: signAndSubmitTransaction, data: transactionResult, isPending, isSuccess, error, } = useSignAndSubmitTransaction(); const handleSignAndSubmit = async () => { // Example using `data` parameter. signAndSubmitTransaction({ data: { function: "0x1::aptos_account::transfer", functionArguments: [recipient.accountAddress, 100], }, }); }; return ( <div> <button onClick={handleSignAndSubmit} disabled={isPending}> Sign and Submit Transaction </button> {isPending && <p>Submitting transaction...</p>} {isSuccess && ( <p>Transaction submitted with hash: {transactionResult?.hash}</p> )} {error && <p>Error: {error.message}</p>} </div> ); }

With Pre-built Transaction

import { useSignAndSubmitTransaction, useClients } from "@aptos-labs/react"; import { Account } from "@aptos-labs/ts-sdk"; export default function App() { const { client } = useClients(); const recipient = Account.generate(); const { mutate: signAndSubmitTransaction, data: transactionResult, isPending, isSuccess, } = useSignAndSubmitTransaction(); const handleSignAndSubmit = async () => { // Example using `transaction` parameter. const transaction = await client.buildTransaction({ data: { function: "0x1::aptos_account::transfer", functionArguments: [recipient.accountAddress, 100], }, }); signAndSubmitTransaction({ transaction }); }; return ( <div> <button onClick={handleSignAndSubmit} disabled={isPending}> Sign and Submit Pre-built Transaction </button> {isPending && <p>Submitting transaction...</p>} {isSuccess && ( <p>Transaction submitted with hash: {transactionResult?.hash}</p> )} </div> ); }

Parameters

NameTypeDefault
throwOnErrorboolean | ((error: Error) => boolean)
mutationKeyreadonly unknown[]
onMutate(variables: SignAndSubmitTransactionParameters) => unknown
onSuccess(data: TransactionResponse, variables: SignAndSubmitTransactionParameters, context: unknown) => unknown
onError(error: Error, variables: SignAndSubmitTransactionParameters, context: unknown) => unknown
onSettled(data: TransactionResponse | undefined, error: Error | null, variables: SignAndSubmitTransactionParameters, context: unknown) => unknown
retryRetryValue<Error>
retryDelayRetryDelayValue<Error>
networkModeNetworkMode
gcTimenumber
metaRecord<string, unknown>
scopeMutationScope

Return Type

NameTypeDefault
hashstring | undefined
signAndSubmitTransactionUseMutateFunction<TransactionResponse, Error, SignAndSubmitTransactionParameters, unknown>
signAndSubmitTransactionAsyncUseMutateAsyncFunction<TransactionResponse, Error, SignAndSubmitTransactionParameters, unknown>
dataTransactionResponse | undefined
variablesSignAndSubmitTransactionParameters | undefined
errorError | null
isErrorboolean
isIdleboolean
isPendingboolean
isSuccessboolean
status"idle" | "pending" | "error" | "success"
mutateUseMutateFunction<TransactionResponse, Error, SignAndSubmitTransactionParameters, unknown>
reset(() => void) | (() => void) | (() => void) | (() => void)
contextunknown
failureCountnumber
failureReasonError | null
isPausedboolean
submittedAtnumber
mutateAsyncUseMutateAsyncFunction<TransactionResponse, Error, SignAndSubmitTransactionParameters, unknown>
Last updated on