getStatus method

MultisigStorageStatus getStatus({
  1. required int threshold,
  2. String? signerAddress,
})

Create storage status summary

Useful for displaying transaction status to users.

Parameters:

  • threshold: The multisig threshold
  • signerAddress: Optional address to check their status

Example:

final status = storage.getStatus(
  threshold: signatories.threshold,
  signerAddress: bob.address,
);

print('Approvals: ${status.approvalCount}/${status.threshold}');
print('Can approve: ${status.canApprove}');
print('Is final: ${status.isFinal}');

Implementation

MultisigStorageStatus getStatus({required final int threshold, final String? signerAddress}) {
  return MultisigStorageStatus(
    threshold: threshold,
    isComplete: isComplete(threshold),
    isWaitingForFinalApproval: isFinalApproval(threshold),
    depositor: depositor,
    approvals: approvals,
    deposit: deposit,
    when: when,
    hasApproved: signerAddress != null ? hasApproved(signerAddress) : null,
    canApprove: signerAddress != null
        ? !hasApproved(signerAddress) && !isComplete(threshold)
        : null,
    canCancel: signerAddress != null ? isDepositor(signerAddress) : null,
  );
}