useSignAndExecuteTransactionBlock
The useSignAndExecuteTransactionBlock
hook can be used to prompt the user to sign and execute a
transaction block with their wallet
import {
ConnectButton,
useCurrentAccount,
useSignAndExecuteTransactionBlock,
} from '@mysten/dapp-kit';
import { useState } from 'react';
function MyComponent() {
const { mutate: signAndExecuteTransactionBlock } = useSignAndExecuteTransactionBlock();
const [digest, setDigest] = useState('');
const currentAccount = useCurrentAccount();
return (
<div style={{ padding: 20 }}>
<ConnectButton />
{currentAccount && (
<>
<div>
<button
onClick={() => {
signAndExecuteTransactionBlock(
{
transactionBlock: new TransactionBlock(),
chain: 'sui:devnet',
},
{
onSuccess: (result) => {
console.log('executed transaction block', result);
setDigest(result.digest);
},
},
);
}}
>
Sign and execute transaction block
</button>
</div>
<div>Digest: {digest}</div>
</>
)}
</div>
);
}
Example
Arguments
transactionBlock
: The transaction block to signchain
: The chain identifier to sign the transaction block should be signed forrequestType
:WaitForEffectsCert
orWaitForLocalExecution
. Determines when the RPC node should return the response. Default to beWaitForLocalExecution
options
:showBalanceChanges
: Whether to show balance_changes. Default to be FalseshowEffects
: Whether to show transaction effects. Default to be FalseshowEvents
: Whether to show transaction events. Default to be FalseshowInput
: Whether to show transaction input data. Default to be FalseshowObjectChanges
: Whether to show object_changes. Default to be FalseshowRawInput
: Whether to show bcs-encoded transaction input data