Skip to content

Commit 33f9195

Browse files
added a diagram
1 parent 618b988 commit 33f9195

File tree

1 file changed

+70
-33
lines changed

1 file changed

+70
-33
lines changed

README.md

Lines changed: 70 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,76 @@ Core Innovation: Providers pre-register their available capacity (intent), elimi
99

1010
System 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

Comments
 (0)