Withdraw hooks
Withdraw request lifecycle — initiate, cancel, finalize, plus reads for the pending queue.
Import
import {
// Reads
useLastWithdrawRequestId,
usePendingWithdrawRequests,
useWithdrawRequest,
useWithdrawableTime,
// Writes
useInitiateWithdraw,
useSimulateInitiateWithdraw,
useRequestCancelWithdraw,
useSimulateRequestCancelWithdraw,
useFinalizeWithdrawRequest,
useSimulateFinalizeWithdrawRequest,
} from "@symmio/trading-react";Lifecycle overview
- Initiate —
useInitiateWithdrawsubmits a withdraw request. Enters the delayed queue. - Wait —
useWithdrawableTimetells the UI when the request becomes claimable. - Finalize —
useFinalizeWithdrawRequestclaims the funds after the delay. - Cancel (optional) —
useRequestCancelWithdrawcancels a pending request.
Each write has a paired useSimulate* — see Simulate then write.
Reads
useLastWithdrawRequestId
Id of the most recent request for an account.
const lastId = useLastWithdrawRequestId({ account });usePendingWithdrawRequests
Every queued (not yet claimable) request for an account.
const pending = usePendingWithdrawRequests({ account });useWithdrawRequest
Details for one specific request.
const request = useWithdrawRequest({ account, requestId });useWithdrawableTime
Timestamp when a queued request becomes claimable. Bind to a countdown / claim button.
const { withdrawableAt, isReady } = useWithdrawableTime({ requestId });Writes
useInitiateWithdraw / useSimulateInitiateWithdraw
Submit a withdraw request.
const simulation = useSimulateInitiateWithdraw({ account, amount });
const mutation = useInitiateWithdraw();useRequestCancelWithdraw / useSimulateRequestCancelWithdraw
Cancel a pending request.
const mutation = useRequestCancelWithdraw();
mutation.mutate({ account, requestId });useFinalizeWithdrawRequest / useSimulateFinalizeWithdrawRequest
Claim funds after the delay expires.
const mutation = useFinalizeWithdrawRequest();
mutation.mutate({ account, requestId });Related
- SYMMIO Contract — the underlying
createClassicWithdrawPartprimitive. - InstantLayer — the delegated instant-withdraw variant.
- Errors — reverts surface as
SymmioRequestErrorkind: "revert".
Last updated on