Разница между различными функциями verifySignatures в тестировании блока Corda

В чем разница между этими тремя методами в тестировании блока Corda?

ptx.verify(servicehub) ptx.verifyRequiredSignatures() ptx.verifySignaturesExcept(vararg allowedToBeMissed) 

Потому что теперь я не могу использовать ptx.verifySignatures() как и раньше, и у меня есть три варианта! благодаря

проверить

fun verify(services: ServiceHub, checkSufficientSignatures: Boolean = true) проверяет, что транзакция действительна в соответствии с контрактами ее состояний.

Если checkSufficientSignatures == true , эта функция также проверит наличие и достоверность всех необходимых подписей.

verifyRequiredSignatures

fun verifyRequiredSignatures() проверяет наличие и достоверность всех необходимых подписей, но не проверяет, действительна ли транзакция в соответствии с контрактами ее состояний.

verifySignaturesExcept

fun verifySignaturesExcept(vararg allowedToBeMissing: PublicKey) проверяет, что все необходимые подписи присутствуют и действительны, за исключением тех, которые указаны как allowedToBeMissing . Он не проверяет, действительна ли транзакция в соответствии с контрактами ее государств.

Эта функция полезна, вы знаете, что еще одна или несколько требуемых подписей еще не добавлены (например, если вы являетесь обязательным подписывающим лицом, но хотите проверить существующие подписи перед добавлением своих собственных).