Skip to main content

tap_msg/message/
mod.rs

1//! Message types and processing for TAP messages.
2//!
3//! This module defines the message structures and types used in the
4//! Transaction Authorization Protocol (TAP).
5
6// Import all message modules
7pub mod agent;
8pub mod agent_management;
9pub mod authorize;
10pub mod basic_message;
11pub mod cancel;
12pub mod connection;
13pub mod context;
14pub mod did_presentation;
15pub mod error;
16pub mod invoice;
17pub mod lock;
18pub mod party;
19pub mod payment;
20pub mod policy;
21pub mod presentation;
22pub mod reject;
23pub mod relationship;
24pub mod revert;
25pub mod rfq;
26pub mod settle;
27pub mod tap_message_enum;
28pub mod tap_message_trait;
29pub mod transfer;
30pub mod trust_ping;
31pub mod update_party;
32pub mod update_policies;
33pub mod validation;
34
35// Re-export agent management types
36pub use agent_management::{AddAgents, RemoveAgent, ReplaceAgent};
37
38// Re-export attachment types
39pub use crate::didcomm::{Attachment, AttachmentData, SimpleAttachmentData};
40
41// Re-export authorization types
42pub use authorize::Authorize;
43
44// Re-export basic message types
45pub use basic_message::BasicMessage;
46
47// Re-export cancel type
48pub use cancel::Cancel;
49
50// Re-export connection types
51pub use connection::{
52    AuthorizationRequired, Connect, ConnectAgent, ConnectionConstraints, OutOfBand,
53    TransactionLimits,
54};
55
56// Re-export DIDComm presentation types
57pub use did_presentation::DIDCommPresentation;
58
59// Re-export error type
60pub use error::ErrorBody;
61
62// Re-export lock types (TAIP-17). `Escrow` is preserved as a backward-compatible
63// alias for `Lock` so downstream callers keep compiling.
64pub use lock::{Capture, Escrow, Lock};
65
66// Re-export RFQ types (TAIP-18). `Exchange` is preserved as a backward-compatible
67// alias for `Rfq` so downstream callers keep compiling.
68pub use rfq::{Exchange, Quote, Rfq};
69
70// Re-export invoice types
71pub use invoice::{
72    DocumentReference, Invoice, LineItem, OrderReference, TaxCategory, TaxSubtotal, TaxTotal,
73};
74
75// Re-export agent types
76pub use agent::Agent;
77
78// Re-export party types
79pub use party::Party;
80
81// Re-export payment types
82pub use payment::{AssetPricing, Payment, PaymentBuilder, SupportedAsset};
83
84// Re-export policy types
85pub use policy::{Policy, RequireAuthorization, RequirePresentation, RequireProofOfControl};
86
87// Re-export presentation types
88pub use presentation::{Presentation, RequestPresentation};
89
90// Re-export reject type
91pub use reject::Reject;
92
93// Re-export relationship type
94pub use relationship::ConfirmRelationship;
95
96// Re-export revert type
97pub use revert::Revert;
98
99// Re-export settle type
100pub use settle::Settle;
101
102// Re-export transfer types
103pub use transfer::{TransactionValue, Transfer};
104
105// Re-export trust ping types
106pub use trust_ping::{TrustPing, TrustPingResponse};
107
108// Re-export update party type
109pub use update_party::UpdateParty;
110
111// Re-export update policies type
112pub use update_policies::UpdatePolicies;
113
114// Re-export the TapMessage trait and related functionality
115pub use tap_message_trait::{
116    create_tap_message, typed_plain_message, Authorizable, Connectable,
117    TapMessage as TapMessageTrait, TapMessageBody, Transaction,
118};
119
120// Re-export the TapMessage enum
121pub use tap_message_enum::TapMessage;
122
123// Re-export context types
124pub use context::{
125    MessageContext, ParticipantExtractor, Priority, RoutingHints, TransactionContext,
126};