How goplasmatic/swiftmtmessage works
SwiftMTMessage is a Rust library for parsing, validating, and building SWIFT MT financial messages. The main workflow accepts a raw message through SwiftParser, extracts headers and fields, parses a selected message type into typed structures, and exposes the result for validation or serialization. Its domain coverage includes 30+ MT types and multi-sequence messages; separate capabilities include sample generation and dataflow plugin operations. The map follows documented architecture and sampled code; unsampled plugin and validation wiring is kept at subsystem level.
Main entry points: swift_parser.rs SwiftParser · plugin/mod.rs Plugin Registration · messages/mod.rs MT Message Types · sample.rs Sample Generator
Components 23
Parsing
- SwiftParser
src/parser/swift_parser.rs - Field Extraction
src/parser/field_extractor.rs - Tag Parsing
src/parser/generated.rs - Sequence Parsing
src/parser/sequence_parser.rs
Message Domain
- FIN Headers
src/headers/mod.rs - MT Message Types
src/messages/mod.rs - Typed Fields
src/fields/mod.rs - SwiftMessage
src/swift_message.rs - Parsed Message Enum
src/parsed_message.rs
Validation
- Network Validation
src/validation_result.rs - SWIFT Error Codes
src/swift_error_codes.rs - Parse and Validation Errors
src/errors.rs
Generation
- Sample Generator
src/sample.rs - Scenario Configuration
src/scenario_config.rs
Dataflow Plugin
- Plugin Registration
src/plugin/mod.rs - Parse Handler
src/plugin/parse.rs - Validate Handler
src/plugin/validate.rs - Generate Handler
src/plugin/generate.rs - Publish Handler
src/plugin/publish.rs
Other components
- Library Caller
- Raw MT Message
- Dataflow Engine
- Typed MT Result
Connections 26
- Library Caller → Raw MT Message: provides
- Library Caller → SwiftParser: calls
- SwiftParser → FIN Headers: parses headers
- SwiftParser → Field Extraction: extracts fields
- Field Extraction → Tag Parsing: normalizes tags
- SwiftParser → Sequence Parsing: splits sequences
- SwiftParser → MT Message Types: parses as type
- MT Message Types → Typed Fields: uses typed fields
- MT Message Types → Network Validation: validates rules
- Network Validation → SWIFT Error Codes: reports codes
- SwiftParser → Parse and Validation Errors: returns failures
- MT Message Types → SwiftMessage: forms message
- SwiftParser → Parsed Message Enum: auto-detects type
- SwiftParser → Typed MT Result: returns parsed data
- Library Caller → Sample Generator: requests samples
- Sample Generator → Scenario Configuration: uses configuration
- Sample Generator → Typed MT Result: generates samples
- Plugin Registration → Parse Handler: registers
- Plugin Registration → Validate Handler: registers
- Plugin Registration → Generate Handler: registers
- Plugin Registration → Publish Handler: registers
- Dataflow Engine → Plugin Registration: registers functions
- Dataflow Engine → Parse Handler: dispatches
- Dataflow Engine → Validate Handler: dispatches
- Dataflow Engine → Generate Handler: dispatches
- Dataflow Engine → Publish Handler: dispatches