Commit ca5a18b
Neo
feat: full Web3 capability surface + modular communications
Expands the platform from 30 blockchain services to 221 discrete Web3
capabilities, data-driven through a single catalog file. Adds 9
pluggable notification channels with a modular, re-runnable setup wizard.
The paymaster pattern (platform pays gas) is preserved bit-for-bit.
CAPABILITY FRAMEWORK
runtime/capabilities/
__init__.py — exposes CapabilityRegistry + catalog
catalog.py — single source of truth: 221 capability entries
across 21 categories (contracts, DeFi, DeFi
Advanced, NFT, NFT Finance, Identity, Governance,
Social, Creator, Payments, Bridging, Staking,
Privacy, Oracles, Storage, Compute, Real-world,
Markets, Security, Gaming, Infrastructure).
Every entry carries service/method/action mapping,
params schema, paymaster flag, min_tier, protocol.
Exposes install_action_map() which merges catalog
entries into the existing dispatcher dicts without
overwriting anything (refuses on conflict).
registry.py — CapabilityRegistry facade: list_capabilities,
list_by_category, describe(id), async invoke(id).
runtime/blockchain/services/service_dispatcher.py
Install hook merges catalog into ACTION_MAP,
_STATE_MODIFYING_ACTIONS, ACTION_TO_FEED_EVENT
at module import. Trinity's platform_action tool
now exposes all 221 capabilities automatically.
NEW SERVICES (14 stubs covering missing Web3 surface)
restaking/ EigenLayer, Symbiotic, Karak, Lido, Rocket Pool
mpc/ Threshold sigs, social recovery, session keys
tba/ ERC-6551 token-bound accounts
auctions/ Dutch/English/sealed-bid + orderbook DEX
nft_lending/ BendDAO, NFTfi, Arcade, breeding
compute/ Akash, Gensyn, Render, DePIN
storage/ Filecoin, Ceramic, OrbitDB
ccip/ CCIP, Hyperlane, Wormhole, Axelar, Stargate
creator_platforms/ Sound.xyz, Mirror, Paragraph
social_protocols/ Lens, Farcaster, Push Protocol, social/creator tokens
advanced_governance/ veToken, quadratic, RetroPGF, bribes
oracles_plus/ Pyth, RedStone, API3, Chainlink Keepers
kyc/ Sumsub, Persona, self-sovereign KYC credentials
payment_channels/ Raiden-style state channels
Each service follows the duck-typed pattern, returns
not_deployed_response() until real integrations land, and lazy-creates
a GasSponsor instance so transactions route through the existing
paymaster.
GATEWAY CAPABILITY ENDPOINTS
GET /api/v1/capabilities list + optional filters
GET /api/v1/capabilities/categories counts per category
GET /api/v1/capabilities/{id} descriptor
POST /api/v1/capabilities/{id}/invoke generic invoker
NOTIFICATIONS (9 pluggable channels)
runtime/notifications/
base.py Channel ABC (send, available, enabled)
dispatcher.py NotificationDispatcher: fan-out, legacy config
migration, test_channel() helper
telegram.py Bot messaging with Markdown
discord.py Webhook with color-coded embeds
slack.py Incoming webhook
email_smtp.py SMTP with STARTTLS/SSL
sms_twilio.py Twilio REST
whatsapp_twilio.py Twilio WhatsApp
web_chat.py Live SSE feed into built-in web UI
ios_push.py APNs for MTRX iOS
webhook.py Generic JSON POST
MODULAR SETUP WIZARD
setup/ Per-channel re-runnable configurators
_shared.py Shared helpers (ask, save, update_env, test)
telegram.py Auto-discovers chat_id by waiting for first msg
discord.py, slack.py, email.py, sms.py, whatsapp.py,
web_chat.py, ios_push.py, webhook.py
setup_communications.py Interactive menu + CLI:
`python setup_communications.py`
`python setup_communications.py telegram`
`python setup_communications.py --list`
setup_telegram.py Backwards-compat shim
setup.py configure_communications() now delegates to
setup/*.py per channel, supports all 9
CONFIG + VALIDATION
openmatrix.config.json.example
Full notifications block with 9 channels + 14
new service stubs. Removed legacy referrals/
metered_api blocks (moved to MTRX iOS).
runtime/config/validation.py
Added secret fields for all notification channels.
MTRX EXTENSIONS REGISTRY
extensions/registry.json
Regenerated from catalog (v2.0.0). 20 components,
221 capabilities exposed to the iOS app.
NET STATS
Capabilities: 30 services → 221 capabilities
Categories: 1 flat list → 21 categories
Services: 30 → 44 (14 new stubs)
ACTION_MAP: 150 → 280 entries (0 conflicts)
Channels: 4 → 9 (+ SMS, WhatsApp, Slack, Web chat, iOS push)
Setup wizard: monolithic → modular + re-runnable
Files compile: all 40 modified/new files pass py_compile
Paymaster: unchanged — zero edits to gas_sponsor.py1 parent 1634860 commit ca5a18b
63 files changed
Lines changed: 3910 additions & 1045 deletions
File tree
- extensions
- gateway
- runtime
- blockchain/services
- advanced_governance
- auctions
- ccip
- compute
- creator_platforms
- kyc
- mpc
- nft_lending
- oracles_plus
- payment_channels
- restaking
- social_protocols
- storage
- tba
- capabilities
- config
- notifications
- setup
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
371 | 377 | | |
372 | 378 | | |
373 | 379 | | |
374 | 380 | | |
375 | 381 | | |
376 | | - | |
| 382 | + | |
377 | 383 | | |
378 | 384 | | |
379 | 385 | | |
| |||
1870 | 1876 | | |
1871 | 1877 | | |
1872 | 1878 | | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
1873 | 1935 | | |
1874 | 1936 | | |
1875 | 1937 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| 94 | + | |
94 | 95 | | |
| 96 | + | |
95 | 97 | | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
96 | 148 | | |
97 | 149 | | |
98 | 150 | | |
| |||
284 | 336 | | |
285 | 337 | | |
286 | 338 | | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
296 | 354 | | |
297 | 355 | | |
298 | 356 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
Lines changed: 75 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments