Skip to content

API ReferenceLOC lifecycleFunction

deriveLetterOfCreditDirectCapabilities()

function deriveLetterOfCreditDirectCapabilities(
letterOfCredit,
status,
risk,
caller
): LetterOfCreditDirectCapabilities;

Describes V3 lifecycle and direct-caller gates for the msg.sender the LOC contract will actually see. Signed authorization and beneficiary-contract roles remain operation-specific inputs.

Parameters

ParameterTypeDescription
letterOfCreditLetterOfCreditCanonical LOC to evaluate.
statusLetterOfCreditStatusStatus derived from this LOC at the desired clock.
risk| LetterOfCreditRiskAssessment | nullOptional assessment of this same LOC at that clock; absent risk never enables conversion.
caller`0x${string}` | nullDirect caller address, or null when no caller has been selected.

Returns

LetterOfCreditDirectCapabilities

State-level capabilities; arbitrary amounts, balances, allowances and liquidator inputs still require validation.

Throws

InvalidArgumentError if the status contradicts this LOC or risk belongs to another identity or clock.

Example

const capabilities = deriveLetterOfCreditDirectCapabilities(letterOfCredit, status, risk, caller);
if (capabilities.canModifyCollateral) { /* prepare and validate a modification */ }