@@ -9,39 +9,76 @@ Core Innovation: Providers pre-register their available capacity (intent), elimi
99
1010System Architecture
1111
12- ┌─────────────────────────────────────────────────────────┐
13- │ AccessManager │
14- │ • Admin role control │
15- │ • Pause/Unpause permissions │
16- │ • Blacklist management │
17- │ • Role-based access control (RBAC) │
18- └─────────────────────────────────────────────────────────┘
19- ↓
20- ┌─────────────────────────────────────────────────────────┐
21- │ TimelockAdmin │
22- │ • Upgrade scheduling (48h delay) │
23- │ • Proposal queuing │
24- │ • Execution after timelock │
25- │ • Cancel malicious upgrades │
26- └─────────────────────────────────────────────────────────┘
27- ↓
28- ┌─────────────────────────────────────────────────────────┐
29- │ PayNodeGatewaySettings │
30- │ • Configuration parameters │
31- │ • Token whitelist │
32- │ • Fee settings │
33- │ • Tier limits (SMALL/MEDIUM/LARGE) │
34- └─────────────────────────────────────────────────────────┘
35- ↓
36- ┌─────────────────────────────────────────────────────────┐
37- │ PayNodeGateway (Proxy) │
38- │ • Order creation & management │
39- │ • Provider intent registry │
40- │ • Settlement proposals (parallel) │
41- │ • Settlement execution │
42- │ • Refund handling │
43- │ • Reputation tracking │
44- └─────────────────────────────────────────────────────────┘
12+ <svg viewBox =" 0 0 1000 1200 " xmlns =" http://www.w3.org/2000/svg " >
13+ <!-- Define styles -->
14+ <defs >
15+ <style>
16+ .container { fill: #f8f9fa; stroke: #2563eb; stroke-width: 2; }
17+ .title { font-size: 18px; font-weight: bold; fill: #1e40af; }
18+ .subtitle { font-size: 14px; fill: #475569; }
19+ .arrow { stroke: #2563eb; stroke-width: 2; fill: none; marker-end: url(#arrowhead); }
20+ .label { font-size: 12px; fill: #64748b; }
21+ text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
22+ </style>
23+ <marker id="arrowhead" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto">
24+ <polygon points="0 0, 10 3, 0 6" fill="#2563eb" />
25+ </marker>
26+ </defs >
27+
28+ <!-- Layer 1: AccessManager -->
29+ <rect x =" 75 " y =" 50 " width =" 850 " height =" 140 " rx =" 8 " class =" container " />
30+ <text x =" 500 " y =" 85 " text-anchor =" middle " class =" title " >AccessManager</text >
31+ <text x =" 100 " y =" 115 " class =" subtitle " >• Admin role control</text >
32+ <text x =" 100 " y =" 140 " class =" subtitle " >• Pause/Unpause permissions</text >
33+ <text x =" 550 " y =" 115 " class =" subtitle " >• Blacklist management</text >
34+ <text x =" 550 " y =" 140 " class =" subtitle " >• Role-based access control (RBAC)</text >
35+
36+ <!-- Arrow 1 -->
37+ <path d =" M 500 190 L 500 240 " class =" arrow " />
38+
39+ <!-- Layer 2: TimelockAdmin -->
40+ <rect x =" 75 " y =" 240 " width =" 850 " height =" 140 " rx =" 8 " class =" container " />
41+ <text x =" 500 " y =" 275 " text-anchor =" middle " class =" title " >TimelockAdmin</text >
42+ <text x =" 100 " y =" 305 " class =" subtitle " >• Upgrade scheduling (48h delay)</text >
43+ <text x =" 100 " y =" 330 " class =" subtitle " >• Proposal queuing</text >
44+ <text x =" 550 " y =" 305 " class =" subtitle " >• Execution after timelock</text >
45+ <text x =" 550 " y =" 330 " class =" subtitle " >• Cancel malicious upgrades</text >
46+
47+ <!-- Arrow 2 -->
48+ <path d =" M 500 380 L 500 430 " class =" arrow " />
49+
50+ <!-- Layer 3: PayNodeGatewaySettings -->
51+ <rect x =" 75 " y =" 430 " width =" 850 " height =" 140 " rx =" 8 " class =" container " />
52+ <text x =" 500 " y =" 465 " text-anchor =" middle " class =" title " >PayNodeGatewaySettings</text >
53+ <text x =" 100 " y =" 495 " class =" subtitle " >• Configuration parameters</text >
54+ <text x =" 100 " y =" 520 " class =" subtitle " >• Token whitelist</text >
55+ <text x =" 550 " y =" 495 " class =" subtitle " >• Fee settings</text >
56+ <text x =" 550 " y =" 520 " class =" subtitle " >• Tier limits (SMALL/MEDIUM/LARGE)</text >
57+
58+ <!-- Arrow 3 -->
59+ <path d =" M 500 570 L 500 620 " class =" arrow " />
60+
61+ <!-- Layer 4: PayNodeGateway -->
62+ <rect x =" 75 " y =" 620 " width =" 850 " height =" 160 " rx =" 8 " class =" container " style =" fill : #eff6ff ;" />
63+ <text x =" 500 " y =" 660 " text-anchor =" middle " class =" title " >PayNodeGateway (Proxy)</text >
64+ <text x =" 100 " y =" 690 " class =" subtitle " >• Order creation & management</text >
65+ <text x =" 100 " y =" 715 " class =" subtitle " >• Provider intent registry</text >
66+ <text x =" 100 " y =" 740 " class =" subtitle " >• Settlement execution</text >
67+ <text x =" 550 " y =" 690 " class =" subtitle " >• Settlement proposals (parallel)</text >
68+ <text x =" 550 " y =" 715 " class =" subtitle " >• Refund handling</text >
69+ <text x =" 550 " y =" 740 " class =" subtitle " >• Reputation tracking</text >
70+
71+ <!-- Bottom label -->
72+ <text x =" 500 " y =" 830 " text-anchor =" middle " font-size =" 13 " fill =" #64748b " font-weight =" 500 " >Non-Custodial • Parallel Settlement • Role-Based Access • Timelocked Upgrades</text >
73+
74+ <!-- Side annotations -->
75+ <g opacity =" 0.7 " >
76+ <text x="950" y="120" font-size="11" fill="#94a3b8">Permissions</text>
77+ <text x="950" y="310" font-size="11" fill="#94a3b8">Governance</text>
78+ <text x="950" y="500" font-size="11" fill="#94a3b8">Configuration</text>
79+ <text x="950" y="700" font-size="11" fill="#94a3b8">Core Logic</text>
80+ </g >
81+ </svg >─┘
4582
4683## Features
4784- ** Role-Based Access Control (RBAC)** : Centralized permission management via ` PayNodeAccessManager ` with distinct roles for administrators, operators, and platform services.
0 commit comments