You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ARCHITECTURE.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,6 +134,11 @@ In this project, BLoCs/Cubits are used for state management, but other solutions
134
134
- The **domain and presentation layer should use entities**, not models.
135
135
- Only the **data layer should use models**, and transform them to entities.
136
136
137
+
### Rules for AI:
138
+
- Always follow the architecture of the project when developing features.
139
+
- Always use colors from the theme; never use raw colors. When the user explains something using raw color language; find the closest color in the theme and based on the application use a color from the theme that would make sense in dark mode too but do not try to change the color theme file by yourself ever.
140
+
-
141
+
137
142
### Further reading
138
143
139
144
You can read more about Clean Architecture principles applied to Flutter in the following articles:
[](https://github.com/SatoshiPortal/bullbitcoin-mobile/actions/workflows/analyze_and_test.yml)
2
2
3
3
# About BULL Wallet
4
4
@@ -16,22 +16,13 @@ At launch, two wallets are generated: the Secure Bitcoin Wallet and the Instant
16
16
17
17
Both these wallets are able to send and receive Lightning Network payments via the swap provider.
- mempool.bullbitcoin.com / mempool.space for transaction and address explorer
32
-
- bullbitcoin.com API for fiat prices
33
-
- bullbitcoin.com and blockstream.info electrum servers for blockchain data
34
-
- boltz.exchange for swap services
25
+
### [Default service providers](https://github.com/SatoshiPortal/bullbitcoin-mobile/blob/develop/lib/core/utils/constants.dart#L60)
35
26
36
27
### General features
37
28
@@ -68,8 +59,7 @@ We try to always use a wallet that is the same network as the recipient: if reci
68
59
69
60
Automated selection of the wallet can be overridden by the user at any time. This will most likely trigger a warning that the user can choose to ignore.
70
61
71
-
### Wallet security
72
-
62
+
## Wallet security
73
63
- An optional PIN from 4 to 8 digits can be set for access to the app.
74
64
- The PIN is optional to prevent users from being accidentally locked out of a wallet without having first performed a backup.
75
65
- Private keys are stored in secure storage and only accessed via the application when signing transactions, viewing the wallet’s private keys for back-up (mnemonic or xpriv). This prevents malicious applications from accessing the private keys.
@@ -106,42 +96,20 @@ When installing the BULL Wallet app, a self-custodial wallet will be created, re
106
96
107
97
When spending or selling Bitcoin, the exchange will create a payment invoice (BIP21) that will automatically be opened by the same application. All the user has to do is to confirm or reject that transaction. The experience will be functionally the same as that of a custodial exchange, with the exception that the user will have to do a backup of the Bitcoin wallet.
108
98
109
-
## Current roadmap
110
-
111
-
Suggestion to this roadmap can be proposed as Github issues.
112
-
113
-
-[x] Bumping replace-by-fee transactions
114
-
-[ ] Re-implement smarter coin selection and labelling
115
-
-[x] One mnemonic: new wallets are always created as a BIP39 passphrase
116
-
-[x] Good UX/UI for creating PSBTs from watch-only wallets
117
-
-[x] Good UX/UI for decoding and broadcasting PSBTs
118
-
-[x] Better UX/UI for importing watch-only wallets
119
-
-[x] Integration of Coinkite's BBQR library to export public keys, export PSBTs and import PSBTs
-[ ] Integrate a client-side passphrase strength estimator
122
-
-[x] Encrypted cloud backups connected to a key server: RecoverBull
123
-
-[ ] Store persistent encrypted wallet backup on device
124
-
-[ ] Biometric authentication
125
-
-[ ] Show fiat value of transactions at the approximated time they were made
126
-
-[ ] Spanish and French translations
127
-
-[x] Payjoin integration
128
-
-[ ] Integrate Bull Bitcoin Fee multiple
129
-
-[x] Auto-consolidation mode for spend
130
-
-[ ] Small UTXO warning and consolidation suggestions
131
-
-[ ] Configurable mempool explorer URLs
132
-
-[ ] Configurable swap provider (similar to Electrum server)
99
+
## Roadmap
100
+
101
+
The roadmap is based on the Github issues. You can suggest your own ideas by creating a new issue. The issues are then prioritized by the maintainers according to their importance and feasibility.
133
102
134
103
## Acknowledgements
135
104
136
-
- The project is entirely financed by bullbitcoin.com
105
+
- The project is entirely financed by [bullbitcoin.com](https://bullbitcoin.com)
137
106
- Created by Francis Pouliot and Vishal Menon
138
-
- Main developers: Vishal, Morteza and Sai
107
+
- Maintainers: [i5hi](https://github.com/i5hi), [mocodesmo](https://github.com/mocodesmo), [ethicnology](https://github.com/ethicnology), [kumulynja](https://github.com/kumulynja), [basantagoswami](https://github.com/basantagoswami) and Q&A [kiranmetri](https://github.com/kiranmetri)
108
+
- Thanks to all [contributors](https://github.com/SatoshiPortal/bullbitcoin-mobile/graphs/contributors)
139
109
- Thanks to Raj for his work on Boltz-rust
140
110
- Thanks to the BDK team: BitcoinZavior and ThunderBiscuit
141
111
- Eternal gratitude to the Boltz team Michael and Killian
142
112
- Thanks to Riccardo and the LWK team
143
113
- Thanks to Blockstream for developing the Liquid Network
0 commit comments