48 lines
13 KiB
XML
48 lines
13 KiB
XML
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="586px" preserveAspectRatio="none" style="width:1089px;height:586px;" version="1.1" viewBox="0 0 1089 586" width="1089px" zoomAndPan="magnify"><defs><filter height="300%" id="f1fk3fcjhssuz0" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f1fk3fcjhssuz0)" height="46.2656" style="stroke:#000000;stroke-width:2.0;" width="397" x="392" y="250.9609"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="23" x2="23" y1="88.2969" y2="502.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="194.5" x2="194.5" y1="88.2969" y2="502.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="360" x2="360" y1="88.2969" y2="502.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="438" x2="438" y1="88.2969" y2="502.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="591.5" x2="591.5" y1="88.2969" y2="502.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="849" x2="849" y1="88.2969" y2="502.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="986" x2="986" y1="88.2969" y2="502.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="5" y="84.9951">User</text><ellipse cx="23.5" cy="15" fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M23.5,23 L23.5,50 M10.5,31 L36.5,31 M23.5,50 L10.5,65 M23.5,50 L36.5,65 " fill="none" filter="url(#f1fk3fcjhssuz0)" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="5" y="514.0186">User</text><ellipse cx="23.5" cy="527.3203" fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M23.5,535.3203 L23.5,562.3203 M10.5,543.3203 L36.5,543.3203 M23.5,562.3203 L10.5,577.3203 M23.5,562.3203 L36.5,577.3203 " fill="none" filter="url(#f1fk3fcjhssuz0)" style="stroke:#A80036;stroke-width:2.0;"/><rect fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="78" x="153.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="160.5" y="72.9951">baseApp</text><rect fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="78" x="153.5" y="501.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="160.5" y="521.0186">baseApp</text><rect fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="59" x="329" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="336" y="72.9951">router</text><rect fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="59" x="329" y="501.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="336" y="521.0186">router</text><rect fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="68" x="402" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="409" y="72.9951">handler</text><rect fill="#FEFECE" filter="url(#f1fk3fcjhssuz0)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" wid
|
||
|
@startuml
|
||
|
'https://plantuml.com/sequence-diagram
|
||
|
|
||
|
actor User
|
||
|
User -> baseApp : Transaction Type<Tx>
|
||
|
baseApp -> router : Route(ctx, msgRoute)
|
||
|
router - -> baseApp : handler
|
||
|
baseApp -> handler: Msg<Tx>(Context, Msg(...))
|
||
|
handler -> msgServer : <Tx>(Context, Msg)
|
||
|
alt addresses invalid, denominations wrong, etc.
|
||
|
msgServer - -> handler : error
|
||
|
end
|
||
|
msgServer -> keeper : perform action, update context
|
||
|
keeper - -> msgServer : results, error code
|
||
|
msgServer -> Context.EventManager : Emit relevant events
|
||
|
msgServer -> msgServer : maybe wrap results in more structure
|
||
|
msgServer - -> handler : result, error code
|
||
|
baseApp <- - handler : results, error code
|
||
|
@enduml
|
||
|
|
||
|
@startuml
|
||
|
|
||
|
actor User
|
||
|
User -> baseApp : Transaction Type<Tx>
|
||
|
baseApp -> router : Route(ctx, msgRoute)
|
||
|
router - -> baseApp : handler
|
||
|
baseApp -> handler: Msg<Tx>(Context, Msg(...))
|
||
|
handler -> msgServer : <Tx>(Context, Msg)
|
||
|
alt addresses invalid, denominations wrong, etc.
|
||
|
msgServer - -> handler : error
|
||
|
end
|
||
|
msgServer -> keeper : perform action, update context
|
||
|
keeper - -> msgServer : results, error code
|
||
|
msgServer -> Context.EventManager : Emit relevant events
|
||
|
msgServer -> msgServer : maybe wrap results in more structure
|
||
|
msgServer - -> handler : result, error code
|
||
|
baseApp <- - handler : results, error code
|
||
|
@enduml
|
||
|
|
||
|
PlantUML version 1.2021.5beta3(Unknown compile time)
|
||
|
(GPL source distribution)
|
||
|
Java Runtime: Java(TM) SE Runtime Environment
|
||
|
JVM: Java HotSpot(TM) 64-Bit Server VM
|
||
|
Default Encoding: UTF-8
|
||
|
Language: en
|
||
|
Country: US
|
||
|
--></g></svg>
|