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
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
Private verifyPrivate verifyPrivate verifyValidate the Rfq's payin/payout method against an Offering's allow payin/payout methods
The Rfq's selected payin/payout method being validated
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
Private Static digestGiven a salt and a value, compute a deterministic digest used in hashed fields in RfqData
salt
value
salted hash of the private data value
Private Static hashHash private RFQ data and set private fields in an RfqPrivateData object
unhashedRfqData
An object with fields data and privateData.
RfqData The value of data field.
RfqPrivateData The value of privateData field.
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
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
evaluates 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
Static createCreates an rfq with the given options
options to create an rfq
Static generateGenerates a unique id with the message kind's prefix
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)