Beta
Optional
signature: stringOptional
privateData: RfqPrivateDataProtected
_signaturesignature that verifies that authenticity and integrity of a message
Readonly
dataRfq's data containing information to initiate an exchange between Alice and a PFI
Readonly
kindThe message kind (rfq)
Readonly
metadataMetadata such as sender, recipient, date created, and ID
Readonly
privateRfq's unhashed private information to initiate an exchange between Alice and a PFI
Readonly
valida set of valid Message kinds that can come after an rfq
Message creation time. Expressed as ISO8601
ID for an "exchange" of messages between Alice - PFI. Uses the id of the RFQ that initiated the exchange
the external ID
The sender's DID
the message id
the protocol version
the message's cryptographic signature
the recipient's DID
Computes a digest of the payload by:
The SHA-256 hash of the canonicalized payload, represented as a byte array.
OrderInstructions type guard
OrderStatus type guard
Converts this rfq message to a json object
Validates the message structure and verifies the cryptographic signature
Signer's DID
if the message signature is invalid
if the message structure is invalid
see Crypto.verify
Private
verifyVerify the presence and integrity of all possible properties in Rfq.privateData.
if there are properties missing in Rfq.privateData or which do not match the corresponding hashed property in Rfq.data
checks the claims provided in this rfq against an offering's requirements
the offering to check against
if rfq's claims do not fulfill the offering's requirements
Private
verifyevaluates this rfq against the provided offering
the offering to evaluate this rfq against
if Rfq.data.offeringId doesn't match the provided offering's id
RfqData#offeringId
if payinAmount in Rfq.data exceeds the provided offering's max units allowed or is below the offering's min units allowed
if payinMethod in Rfq.data property kind
cannot be validated against the provided offering's payinMethod kinds
if payinMethod in Rfq.data property paymentDetails
cannot be validated against the provided offering's payinMethod requiredPaymentDetails
if payoutMethod in Rfq.data property kind
cannot be validated against the provided offering's payoutMethod kinds
if payoutMethod in Rfq.data property paymentDetails
cannot be validated against the provided offering's payoutMethod requiredPaymentDetails
Private
verifyPrivate
verifyValidate the Rfq's payin/payout method against an Offering's allow payin/payout methods
The Offering's allowed payin/payout methods
Either 'payin' or 'payout', used to provide more detailed error messages.
if rfqPaymentMethod property kind
cannot be validated against the provided offering's paymentMethod's kinds
if Rfq.privateData property paymentDetails
is missing but is necessary to validate against the provided offering's paymentMethod's kinds
if rfqPaymentMethod property paymentDetails
cannot be validated against the provided offering's paymentMethod's requiredPaymentDetails
Private
verifyPrivate
verifyVerify the integrity properties that are present in Rfq.privateData.
if there are properties present in Rfq.privateData which do not match the corresponding hashed property in Rfq.data
Static
createCreates an rfq with the given options
options to create an rfq
Private
Static
digestStatic
generateGenerates a unique id with the message kind's prefix
Private
Static
hashHash private RFQ data and set private fields in an RfqPrivateData object
An object with fields data and privateData.
Static
parseParses a json message into an Rfq
the rfq to parse
Optional
opts: ParseRfqOptionsThe parsed Rfq
if the rfq could not be parsed or is not a valid Rfq
Message sent by Alice to PFI to request a quote (RFQ)