API ReferenceReact provider and hooksFunction
useModifyLOCCollateralWorkflow()
function useModifyLOCCollateralWorkflow(): UseModifyLOCCollateralWorkflowResult;Headless modify-collateral orchestration using the canonical workflow-hook envelope. Domain
validation and construction stay owned by sdk.loc.
An omitted oraclePriceUpdate is sent as 'auto', so the price update is resolved when the
transaction is built rather than left out.
Returns
UseModifyLOCCollateralWorkflowResult
The canonical preparation envelope. validate reports a verdict without building anything;
prepareWorkflow validates and then builds, resolving to prepared, invalid, failed, or
cancelled; workflow, issues, error, and isPreparing mirror the latest request; and reset
discards it. No wallet is prompted until workflow.execute().
Throws
Error when rendered outside <AnvilProvider>, by way of useAnvilSDK. Nothing else
throws: a rejected validation or build is reported as a failed result, not as an exception.
Example
export function LOCManagementButtons({ loc,}: { loc: OutstandingLetterOfCredit;}) { const modify = useModifyLOCCollateralWorkflow(); const extend = useExtendLOCWorkflow();
async function addCollateral() { const result = await modify.prepareWorkflow({ locId: loc.reference.id, byAmount: 1_000_000n, }); if (result.status === 'prepared') await result.workflow.execute(); }
async function extendByOneDay() { const tomorrow = loc.expirationTimestamp + 24n * 60n * 60n; const result = await extend.prepareWorkflow({ locID: loc.reference.id, newExpirationTimestampSeconds: tomorrow, }); if (result.status === 'prepared') await result.workflow.execute(); }
return ( <> <button onClick={addCollateral} disabled={modify.isPreparing}> Add collateral </button> <button onClick={extendByOneDay} disabled={extend.isPreparing}> Extend one day </button> {(modify.error ?? extend.error) && ( <p>{(modify.error ?? extend.error)?.message}</p> )} </> );}