runClose is a pure, dependency-injected runner. It fetches each round, verifies every transaction before signing, signs, and submits only once the signing weight is enough, repeating until the close is done. The LumenWipe web app drives its own closes the same way.
Dependencies
verify is where the security of your integration lives. runClose guarantees it runs before every signature, but only your implementation decides what it accepts. See Verification.
Multisig and partial signing
Ifsign returns a weight below requiredWeight, runClose throws InsufficientSignatureWeightError. Its pending property holds everything needed to continue with a different signer on the same envelope. Pass it back as the second argument to resume without re-fetching, which would discard collected signatures:
maxRounds, runClose throws a plain error.