Merge branch 'update_architecture_doc' into 'development'

Architecture updates

See merge request GeneralProtocols/xo/stack!63
This commit is contained in:
Jim Hamill
2025-04-13 23:36:37 +00:00
+19 -3
View File
@@ -27,7 +27,6 @@ The XO Stack adopts an Object-Oriented design for several key reasons:
- Type safety when using TypeScript
- Clear inheritance hierarchies
- Intuitive method discovery through class interfaces
- Familiar paradigm for most developers
4. **Code Organization**
- Logical grouping of related functionality
@@ -97,16 +96,33 @@ graph LR
BaseStore --> StoreInMemory
BaseStore --> StoreIndexedDB
BaseStore --> StoreSQLite
BaseStore --> StoreHTTP
EventEmitter --> BaseWallet
BaseWallet --> WalletP2PKH
BaseWallet --> WalletHD
WalletHD --> WalletXO
BaseWallet --> WalletMultisig
EventEmitter --> BaseBlockchain
BaseBlockchain --> BlockchainInMemory
BaseBlockchain --> BlockchainElectrum
BaseBlockchain --> BlockchainChaingraph
BaseBlockchain --> BlockchainP2PNetwork
EventEmitter --> BaseP2PChannel
BaseP2PChannel --> P2PChannelLibP2P
EventEmitter --> BaseRates
BaseRates --> RatesComposite
BaseRates --> RatesCoinbase
BaseRates --> RatesOracle
EventEmitter --> BaseBCMR
BaseBCMR --> BCMRHTTP
BaseBCMR --> BCMRComposite
```
<!-- Clicking support if we ever want it
click EventEmitter "https://example.com/docs/EventEmitter" "Go to EventEmitter documentation"
click BaseStore "https://example.com/docs/BaseStore" "View BaseStore documentation"
click StoreInMemory "https://example.com/docs/StoreInMemory" "View StoreInMemory documentation"
@@ -119,4 +135,4 @@ graph LR
click BaseBlockchain "https://example.com/docs/BaseBlockchain" "View BaseBlockchain documentation"
click BlockchainInMemory "https://example.com/docs/BlockchainInMemory" "View BlockchainInMemory documentation"
click BlockchainElectrum "https://example.com/docs/BlockchainElectrum" "View BlockchainElectrum documentation"
```
-->