Configuration including initiate/submit functions and callbacks.
State and methods for managing multi-sig payment lifecycle.
import { useMultiSigPayment } from "@t402/react";
function MultiSigPayButton({ multiSigClient }) {
const { initiate, submit, status, isReady, threshold, collectedCount, error } =
useMultiSigPayment({
initiateFn: (params) => multiSigClient.initiatePayment(params),
submitFn: (requestId) => multiSigClient.submitRequest(requestId),
onSuccess: (receipt) => console.log("Confirmed:", receipt.txHash),
autoWait: true,
});
return (
<div>
{status === "idle" && (
<button onClick={() => initiate({ to: "0x...", amount: 1000000n })}>
Initiate Payment
</button>
)}
{status === "collecting" && (
<p>Collecting signatures: {collectedCount}/{threshold}</p>
)}
{isReady && <button onClick={submit}>Submit Transaction</button>}
{error && <p>Error: {error}</p>}
</div>
);
}
Hook for multi-sig Safe payments via WDK.