Base class for verification methods.
Once a verifier object is created, the verification can be started by calling the verify() method, which will return a promise that will resolve when the verification is completed, or reject if it could not complete.
Subclasses must have a NAME class property.
the verification channel to send verification messages over. TODO: Channel types
base matrix api interface
the user ID that is being verified
the device ID that is being verified
the m.key.verification.start event that initiated this verification, if any
the key verification request object related to this verification, if any
Private
_doneReadonly
basebase matrix api interface
Private
cancelledReadonly
channelthe verification channel to send verification messages over. TODO: Channel types
Readonly
devicethe device ID that is being verified
Protected
Optional
doProtected
Optional
expectedPrivate
promisePrivate
Optional
rejectPrivate
Optional
rejectReadonly
requestthe key verification request object related to this verification, if any
Private
Optional
resolvePrivate
Optional
resolvethe m.key.verification.start event that initiated this verification, if any
Private
Optional
startedPrivate
transactionReadonly
userthe user ID that is being verified
Returns true if the verification has been cancelled, either by us or the other side.
Alias for TypedEventEmitter#on.
Cancel a verification.
We will send an m.key.verification.cancel
if the verification is still in flight. The verification promise
will reject, and a Crypto.VerifierEvent#Cancel will be emitted.
the reason for the cancellation.
Synchronously calls each of the listeners registered for the event named
event
, in the order they were registered, passing the supplied arguments
to each.
The name of the event to emit
Rest
...args: Parameters<VerifierEventHandlerMap[T]>Arguments to pass to the listener
true
if the event had listeners, false
otherwise.
Rest
...args: Parameters<VerifierEventHandlerMap[T]>Similar to emit
but calls all listeners within a Promise.all
and returns the promise chain
The name of the event to emit
Rest
...args: Parameters<VerifierEventHandlerMap[T]>Arguments to pass to the listener
true
if the event had listeners, false
otherwise.
Rest
...args: Parameters<VerifierEventHandlerMap[T]>Private
endGet the details for reciprocating QR code verification, if one is in progress
Returns null
, unless this verifier is for reciprocating a QR-code-based verification (ie, the other user has
already scanned our QR code), and we are waiting for the user to confirm.
Get the details for an SAS verification, if one is in progress
Returns null
, unless this verifier is for a SAS-based verification and we are waiting for the user to confirm
the SAS matches.
Returns the number of listeners listening to the event named event
.
The name of the event being listened for
Returns a copy of the array of listeners for the event named event
.
Alias for TypedEventEmitter#removeListener
Adds the listener
function to the end of the listeners array for the
event named event
.
No checks are made to see if the listener
has already been added. Multiple calls
passing the same combination of event
and listener
will result in the listener
being added, and called, multiple times.
By default, event listeners are invoked in the order they are added. The TypedEventEmitter#prependListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Adds a one-time listener
function for the event named event
. The
next time event
is triggered, this listener is removed and then invoked.
Returns a reference to the EventEmitter
, so that calls can be chained.
By default, event listeners are invoked in the order they are added. The TypedEventEmitter#prependOnceListener method can be used as an alternative to add the event listener to the beginning of the listeners array.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Adds the listener
function to the beginning of the listeners array for the
event named event
.
No checks are made to see if the listener
has already been added. Multiple calls
passing the same combination of event
and listener
will result in the listener
being added, and called, multiple times.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Adds a one-timelistener
function for the event named event
to the beginning of the listeners array.
The next time event
is triggered, this listener is removed, and then invoked.
The name of the event.
The callback function
a reference to the EventEmitter
, so that calls can be chained.
Returns a copy of the array of listeners for the event named eventName
,
including any wrappers (such as those created by .once()
).
Removes all listeners, or those of the specified event
.
It is bad practice to remove listeners added elsewhere in the code,
particularly when the EventEmitter
instance was created by some other
component or module (e.g. sockets or file streams).
Optional
event: EventEmitterEvents | VerifierEventThe name of the event. If undefined, all listeners everywhere are removed.
a reference to the EventEmitter
, so that calls can be chained.
Removes the specified listener
from the listener array for the event named event
.
a reference to the EventEmitter
, so that calls can be chained.
Private
resetProtected
sendProtected
verifyProtected
waitGenerated using TypeDoc
Deprecated
Avoid referencing this class directly; instead use Crypto.Verifier.