InterledgerPacket
DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
IMPORTS
UInt8,
VarBytes
FROM GenericTypes
InterledgerPrepare,
InterledgerFulfill,
InterledgerReject
FROM InterledgerProtocol
InterledgerProtocolPaymentData,
ForwardedPaymentData,
InterledgerProtocolErrorData,
InterledgerProtocolFulfillmentData,
InterledgerProtocolRejectionData
FROM LegacyInterledgerProtocol
QuoteLiquidityRequestData,
QuoteLiquidityResponseData,
QuoteBySourceAmountRequestData,
QuoteBySourceAmountResponseData,
QuoteByDestinationAmountRequestData,
QuoteByDestinationAmountResponseData
FROM InterledgerQuotingProtocol
;
PACKET ::= CLASS {
&typeId UInt8 UNIQUE,
&Type
} WITH SYNTAX {&typeId &Type}
PacketSet PACKET ::= {
{1 InterledgerProtocolPaymentData} |
{2 QuoteLiquidityRequestData} |
{3 QuoteLiquidityResponseData} |
{4 QuoteBySourceAmountRequestData} |
{5 QuoteBySourceAmountResponseData} |
{6 QuoteByDestinationAmountRequestData} |
{7 QuoteByDestinationAmountResponseData} |
{8 InterledgerProtocolErrorData} |
{9 InterledgerProtocolFulfillmentData} |
{10 ForwardedPaymentData} |
{11 InterledgerProtocolRejectionData} |
{12 InterledgerPrepare} |
{13 InterledgerFulfill} |
{14 InterledgerReject}
}
InterledgerPacket ::= SEQUENCE {
-- One byte type ID
type PACKET.&typeId ({PacketSet}),
-- Length-prefixed header
data PACKET.&Type ({PacketSet}{@type})
}
END