Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review #141

Merged
merged 46 commits into from
Aug 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
f54a819
update app config
KKA11010 Aug 19, 2023
9e721f8
Fixes #131
KKA11010 Aug 19, 2023
fd29dc0
Fixes #133
KKA11010 Aug 19, 2023
88b93e8
fix mint url clipboard submit
KKA11010 Aug 19, 2023
5f35ef8
update invoice screen
KKA11010 Aug 19, 2023
b7d504b
dont allow deleting a mint with remaining balance
KKA11010 Aug 19, 2023
9c0ba7f
add factory reset, update contacts onboarding text
KKA11010 Aug 19, 2023
c3ef45b
update readme
KKA11010 Aug 19, 2023
a1f3421
update nostr contacts screen. Fixes #132
KKA11010 Aug 19, 2023
eba3fe8
fix adding npub
KKA11010 Aug 19, 2023
5d7835f
Fixes #128
KKA11010 Aug 19, 2023
40cac7b
add missing translation in single contact screen
KKA11010 Aug 19, 2023
6422b32
Fixes #143
KKA11010 Aug 19, 2023
60f4eb1
add try catch for dropAll method
KKA11010 Aug 19, 2023
572dd20
fix
KKA11010 Aug 19, 2023
1b1e468
#Fixes #135
KKA11010 Aug 19, 2023
754c60c
update pin hint (add "no restore" warning)
KKA11010 Aug 19, 2023
6b4c9b5
remove vibration on closing scan screen #131
KKA11010 Aug 19, 2023
4a586ca
update and use mainColors
KKA11010 Aug 19, 2023
2ab35ff
maintain the CTA conventions, see #132
KKA11010 Aug 21, 2023
fc9854f
u SDK49 compatible deps, update truncate func
KKA11010 Aug 22, 2023
4aedb2f
clean up, add some JSDocs
KKA11010 Aug 22, 2023
5c98a2f
update truncated components
KKA11010 Aug 22, 2023
fec3dc1
update top-nav go-back btn in the left. Fixes #130
KKA11010 Aug 22, 2023
44aa03b
update padding of top nav back icon
KKA11010 Aug 23, 2023
91cb614
Fixes #126
KKA11010 Aug 23, 2023
67c5137
Fix send button txt in payment overview screen
KKA11010 Aug 23, 2023
a69c152
fix sending process
KKA11010 Aug 23, 2023
7064549
Add scrollable onboarding. Fixes #138
KKA11010 Aug 24, 2023
d4ac4e6
fix navigation screen name
KKA11010 Aug 24, 2023
dd4159e
add specific animations for auth and onboarding
KKA11010 Aug 24, 2023
e193ebc
adapt nostr onboarding screen
KKA11010 Aug 24, 2023
646ce00
update onboarding translations
KKA11010 Aug 24, 2023
5d4179b
show onboarding screen first
KKA11010 Aug 25, 2023
dd685fe
update initial screen animations to default
KKA11010 Aug 25, 2023
2fc9eab
add apple bundle identifier
KKA11010 Aug 26, 2023
b26e0c5
update dashboard
KKA11010 Aug 26, 2023
84c80de
Add recipient (nostr) to history entry
KKA11010 Aug 26, 2023
328f435
add nostr sender to history entry
KKA11010 Aug 26, 2023
493089c
Add multimint swap as history entry
KKA11010 Aug 26, 2023
cd3b843
add max 3 latest transaction to dashboard
KKA11010 Aug 26, 2023
007a228
add settings to hide latest transactions
KKA11010 Aug 26, 2023
9440260
update disclaimer screen
KKA11010 Aug 26, 2023
9b47291
update disclaimer txt
KKA11010 Aug 26, 2023
c787a4b
add missing translations
KKA11010 Aug 26, 2023
3fa5881
add production scripts
KKA11010 Aug 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,20 @@ The NUT documents (**N**otation, **U**sage and **T**erminology) each specify par
2. Navigate inside the repository and run `npm i`
3. Start the Expo dev server by running `npm run start`
4. Download the [Expo Go](https://expo.dev/client) app.
5. Scan the QR code provided by your terminal using the app (iOS users will have to use the Camera app).
6. A browser tab will be opened. Press the "Expo Go" button in the bottom of the page.
7. eNuts will be bundled up and will run on your device.
- **Android users**: Scan the QR code provided by your terminal using the Expo-go app
- **iOS users**: Press on the local dev server shown in the Expo-go app or scan the QR code using your camera app.
5. A browser tab will be opened. Press the "Expo Go" button in the bottom of the page.
6. eNuts will be bundled up and will run on your device.

**Tip**

- Perform a factory reset to start as a "new user" anytime under `Settings/Factory reset` (Dev mode only)

**Troubleshooting**

- If you see this build error: `[GraphQL] Entity not authorized` in you terminal, you can simply remove the following line from the `config/app.config.ts` file:

```javascript
```json
// Unauthorized error related to the project ID used in the expo organization for eNuts
// If you are not a member of the organization, you will encounter the build error.
{
Expand Down
Binary file added assets/cashu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/send_receive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 21 additions & 7 deletions assets/translations/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"createPin": "PIN erstellen",
"editPin": "PIN ändern",
"pinMismatch": "PIN inkorrekt!",
"pinSetup": "Sie können ein PIN erstellen um Ihre App zu schützen.",
"pinSetup": "Sie können eine PIN erstellen um Ihre App zu schützen. Wenn die PIN vergessen wird, ist derzeit keine Wiederherstellung möglich.",
"pleaseConfirm": "Bitte bestätigen Sie Ihre PIN.",
"pleaseConfirmNewPin": "Bitte bestätigen Sie Ihre neue PIN.",
"pleaseEnter": "Bitte geben Sie Ihre PIN ein.",
Expand Down Expand Up @@ -62,6 +62,7 @@
"contact_one": "1 Kontakt",
"contact_other": "{{count}} Kontakte",
"contactDel": "Kontakt konnte nicht gelöscht werden",
"mintDelErr": "Eine Mint mit verbleibendem Guthaben zu entfernen ist nicht möglich",
"contactNotSaved": "Kontakt konnte nicht gespeichert werden. Möglicher Duplikat.",
"continue": "Fortfahren",
"copied": "Kopiert",
Expand All @@ -80,9 +81,12 @@
"default": "Standard",
"delete": "Löschen",
"delHistory": "Transaktionsverlauf löschen",
"factoryReset": "Wallet zurücksetzen",
"delHistoryErr": "Verlauf konnte nicht gelöscht werden",
"delHistoryQ": "Sind Sie sicher, dass Sie den Verlauf löschen möchten?",
"resetQ": "Sind Sie sicher, dass Sie Ihre Wallet zurücksetzen möchten?",
"delHistoryTxt": "Die Daten können nachträglich nicht wiederhergestellt werden.",
"plsRestart": "Bitte starten Sie die App neu",
"disclaimer": "Haftungsausschluss",
"ecashPayment": "Ecash Zahlung",
"edit": "Bearbeiten",
Expand Down Expand Up @@ -143,13 +147,16 @@
"payWithLn": "Zahle mit deiner LN wallet",
"processingPayment": "Zahlung wird ausgeführt",
"readme": "Lies mich",
"sender": "Absender",
"recipient": "Empfänger",
"reqTimeout": "Timeout für Netzwerkanfragen",
"risks": "Verstehen Sie die derzeitige Risiken",
"save": "Speichern",
"scanAgain": "Hier tippen, um erneut zu scannen",
"scanTokenOrLn": "Cashu Token oder LN Rechnung scannen",
"scanLn": "Lightning Rechnung scannen",
"scan": "Scannen",
"enutsBeta": "eNuts ist beta Software.",
"seconds": "Sekunden",
"selectAmount": "Betrag auswählen",
"selected": "Ausgewählt",
Expand All @@ -172,13 +179,15 @@
"version": "Version",
"willDoLater": "Mache ich später",
"yes": "Ja",
"invalidPubKey": "Invalider öffentlicher Schlüssel!",
"whatsNostr": "Was ist NOSTR?",
"walletLocked": "Wallet gesperrt",
"explainer1": "eNuts ist eine treuhänderische Lightning-Wallet, die private und sofortige Transaktionen mit dem Cashu-Protokoll ermöglicht. Ihre Gelder werden von Mints verwaltet, mit denen Sie interagieren, und Ecash wird lokal auf Ihrem Gerät gespeichert.",
"explainer2": "Cashu ist ein neues Ecash-Protokoll für treuhänderische Bitcoin-Apps, bei denen Mints nur Lightning-Knoten sind, die Bitcoin-Transaktionen durchführen und Ihnen Ecash zur Verfügung stellen. Seien Sie versichert, die Mints bleiben unwissend über Ihre Ecash-Zahlungen.",
"explainer3": "Fügen Sie einfach eine Mint über die URL hinzu, zahlen Sie eine Lightning-Rechnung, um Ecash zu erhalten. eNuts führt Sie, ermöglicht Ihnen sofortiges Empfangen von jedem und fügt automatisch verbundene Mints hinzu – mit Ihrer Zustimmung. Tauschen Sie Guthaben zwischen Mints aus und senden Sie Ecash, sobald Sie ein Guthaben haben.",
"explainer3": "Fügen Sie einfach eine Mint über die URL hinzu und zahlen Sie eine Lightning-Rechnung, um Ecash zu erhalten. eNuts führt Sie, ermöglicht Ihnen sofortiges Empfangen von jedem und fügt automatisch verbundene Mints hinzu – mit Ihrer Zustimmung. Tauschen Sie Guthaben zwischen Mints aus und senden Sie Ecash, sobald Sie ein Guthaben haben.",
"send&receive": "Senden & Empfangen",
"contactsNostr": "Kontakte & NOSTR",
"nostrExplainer": "eNuts ermöglicht Ecash-Überweisungen über NOSTR-DMs und nahtlose Kontaktsynchronisierung mit NPUB. Keine Notwendigkeit, Ihren privaten Schlüssel einzugeben, da eNuts einen neuen für Sie generiert. Ihr NOSTR-Profil und Ihre Daten werden mit Ihrem öffentlichen Schlüssel angezeigt, während der neu generierte private Schlüssel eine reibungslose Interaktion mit NOSTR-DMs ermöglicht.",
"nostrExplainer": "Die NOSTR-Implementierung ermöglicht eine reibungslose Synchronisierung Ihrer Kontakte, ohne dass Sie Ihren privaten Schlüssel eingeben müssen, da wir einen neuen für Sie generieren. Ihre Daten werden mithilfe des öffentlichen Schlüssels angezeigt, während der neue private Schlüssel Ihre Nachrichten verschlüsselt/entschlüsselt.",
"send": "Senden",
"FoundNoLnurl": "Keine LNURL gefunden",
"invalidNpub": "invalider NPUB!",
Expand All @@ -195,7 +204,12 @@
"totalDmsReceived": "Sie haben {{totalDms}} Cashu token erhalten.",
"swapNow": "Jetzt tauschen",
"emptyMint": "Kein Guthaben vorhanden",
"zapSoon": "Zaps werden bald hinzugefügt..."
"zapSoon": "Zaps werden bald hinzugefügt...",
"enutsPub": "eNuts: ",
"seeFullHistory": "Gesamter Transaktionsverlauf",
"hideLatestTxs": "Aktuellste Transaktionen verbergen",
"hiddenTxs": "Transaktionen verborgen",
"next": "Weiter"
},
"error": {
"addAllMintIdsErr": "Fehler beim Abrufen der Schlüsselsatz-IDs von Mint",
Expand Down Expand Up @@ -315,15 +329,15 @@
"general": "Allgemein"
},
"wallet": {
"cashuContent": "Obwohl der Autor von Cashu kein Kryptograf ist und das Protokoll noch überprüft wird, bestehen Bedenken hinsichtlich möglicher schwerwiegender Mängel. Daher ist Cashu noch nicht für den produktiven Einsatz bereit.",
"cashuContent": "Der Autor von Cashu kein Kryptograf und das Protokoll wird noch überprüft. Es bestehen Bedenken hinsichtlich möglicher schwerwiegender Mängel. Daher ist Cashu noch nicht für den produktiven Einsatz bereit.",
"cashuExperiment": "Cashu ist immer noch experimentell.",
"claiming": "Überprüft...",
"createLnInvoice": "Lightning Rechnung erstellen",
"custodialRisk": "Verwahrrisiko, Mints halten die Schlüssel.",
"custodialRiskContent": "Mit eNuts haben Sie nicht die Kontrolle über die Bitcoin-Schlüssel; die Mint fungiert als Verwahrer. Wenn Sie einer Mint nicht vertrauen, ist es ratsam, nicht mit ihr zu interagieren.",
"disclaimer": "Bitte beachten Sie, dass es sich hierbei um eine Beta-Version in einem frühen Stadium handelt und diese noch vor der offiziellen Veröffentlichung getestet wird. Die Software und alle darauf enthaltenen Inhalte werden als „wie besehen“ und „wie verfügbar“ bereitgestellt. Wir geben keine Garantien, ob ausdrücklich oder stillschweigend, hinsichtlich der Eignung oder Verwendbarkeit der Software oder deren Inhalte.",
"enutsDisclaimer": "eNuts ist unvollendete Alpha-Software.",
"lossContent": "Cashu-Token sind Inhabertoken, was bedeutet, dass es keine Möglichkeit zur Wiederherstellung gibt, wenn Sie den Zugriff darauf verlieren. eNuts speichert Ihre Token auf Ihrem Gerät. Stellen Sie vor dem Löschen der App sicher, dass Sie Ihre Token gesichert haben.",
"enutsDisclaimer": "eNuts ist unvollendete Beta-Software.",
"lossContent": "Cashu-Token sind Inhabertoken, was bedeutet, dass es derzeit keine Möglichkeit zur Wiederherstellung gibt, wenn Sie den Zugriff darauf verlieren. eNuts speichert Ihre Token auf Ihrem Gerät. Stellen Sie vor dem Löschen der App sicher, dass Sie Ihre Token gesichert haben.",
"lossOfTokens": "Verlust von Geldern.",
"paidOut": "Ausbezahlt",
"pasteToken": "Ecash aus Zwischenablage",
Expand Down
30 changes: 22 additions & 8 deletions assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"createPin": "Create PIN",
"editPin": "Edit PIN",
"pinMismatch": "Incorrect PIN!",
"pinSetup": "You can setup a PIN to secure your app.",
"pinSetup": "You can setup a PIN to secure your app. If the PIN is forgotten, restoration is currently unavailable.",
"pleaseConfirm": "Please confirm your PIN.",
"pleaseConfirmNewPin": "Please confirm your new PIN.",
"pleaseEnter": "Please enter your PIN now.",
Expand Down Expand Up @@ -62,6 +62,7 @@
"contact_one": "1 Contact",
"contact_other": "{{count}} Contacts",
"contactDel": "Could not delete contact",
"mintDelErr": "Unable to remove a mint with remaining balance",
"contactNotSaved": "Contact could not be saved. Possible name or address duplication.",
"continue": "Continue",
"copied": "Copied",
Expand All @@ -80,9 +81,12 @@
"default": "Default",
"delete": "Delete",
"delHistory": "Delete transaction history",
"factoryReset": "Factory reset",
"delHistoryErr": "Could not delete the history.",
"delHistoryQ": "Are you sure that you want to delete the history?",
"resetQ": "Are you sure that you want to reset your wallet?",
"delHistoryTxt": "The data can not be retrieved afterwards.",
"plsRestart": "Please restart the app now",
"disclaimer": "Disclaimer",
"ecashPayment": "Ecash payment",
"edit": "Edit",
Expand Down Expand Up @@ -143,13 +147,16 @@
"payWithLn": "Pay with your LN wallet",
"processingPayment": "Processing payment",
"readme": "Read me",
"sender": "Sender",
"recipient": "Recipient",
"reqTimeout": "Network request timeout",
"risks": "Understand the current risks",
"save": "Save",
"scanAgain": "Tap to Scan Again",
"scanTokenOrLn": "Scan Cashu token or Lightning invoice",
"scanLn": "Scan Lightning invoice",
"scan": "Scan",
"enutsBeta": "eNuts is beta software.",
"seconds": "seconds",
"selectAmount": "Select amount",
"selected": "Selected",
Expand All @@ -172,13 +179,15 @@
"version": "Version",
"willDoLater": "Will do later",
"yes": "Yes",
"invalidPubKey": "Invalid public key!",
"whatsNostr": "What is NOSTR?",
"walletLocked": "Wallet locked",
"explainer1": "eNuts is a custodial Lightning wallet, allowing private and instant transactions using the Cashu protocol. Your funds are held by mints you interact with, and Ecash is stored locally on your device.",
"explainer2": "Cashu is a new Ecash protocol for custodial Bitcoin apps, where mints are Lightning nodes performing Bitcoin transactions and offer you Ecash. Rest assured, the mint remains unaware of your Ecash payments.",
"explainer3": "Simply add a mint via URL, pay a Lightning invoice to get Ecash. eNuts guides you, lets you receive from anyone instantly and with your permission, automatically adds related mints. Swap funds between mints and send Ecash once you have a balance.",
"explainer3": "Simply add a mint via URL and pay a Lightning invoice to get Ecash. eNuts guides you, lets you receive from anyone instantly and with your permission, automatically adds related mints. Swap funds between mints and send Ecash once you have a balance.",
"send&receive": "Send & receive",
"contactsNostr": "Contacts & NOSTR",
"nostrExplainer": "eNuts allows Ecash transfers via NOSTR DMs and seamless contact syncing using your NPUB. No need to enter your private key, as eNuts generates a new one for you. Your NOSTR profile and data are displayed using your public key, while the new generated private key enables smooth interaction with NOSTR DMs.",
"nostrExplainer": "The NOSTR implementation enables seamless synchronization of your contacts without the need for you to enter your private key, as we generate a new one for you. Your data is displayed using the public key, while the new private key encrypts/decrypts your messages.",
"send": "Send",
"FoundNoLnurl": "Found no LNURL",
"invalidNpub": "NPUB invalid!",
Expand All @@ -195,7 +204,12 @@
"totalDmsReceived": "You received {{totalDms}} Cashu token.",
"swapNow": "Swap now",
"emptyMint": "Mint has no funds",
"zapSoon": "Zaps will be added soon..."
"zapSoon": "Zaps will be added soon...",
"enutsPub": "eNuts public key: ",
"seeFullHistory": "See full transaction history",
"hideLatestTxs": "Hide your latest transactions",
"hiddenTxs": "Latest transactions hidden",
"next": "Next"
},
"error": {
"addAllMintIdsErr": "Error while getting keyset ids from mint",
Expand Down Expand Up @@ -315,15 +329,15 @@
"general": "General"
},
"wallet": {
"cashuContent": "Although the author of Cashu is not a cryptographer and the protocol is still under review, it raises concerns about the potential existence of fatal flaws. As a result, Cashu is not yet production-ready.",
"cashuContent": "The author of Cashu is not a cryptographer and the protocol is still under review. It raises concerns about the potential existence of fatal flaws. As a result, Cashu is not yet production-ready.",
"cashuExperiment": "Cashu is still experimental.",
"claiming": "Claiming...",
"createLnInvoice": "Create Lightning invoice",
"custodialRisk": "Custodial risk, mints hold the keys.",
"custodialRiskContent": "With eNuts, you don't hold the keys to the Bitcoin; the mint acts as the custodian. Therefore, if you lack trust in a mint, it's advisable to avoid interacting with it.",
"disclaimer": "Please note that this is an alpha version in its early stage and is still undergoing testing before its official release. The software and all content found on it are provided on an “as is” and “as available” basis. We do not give any warranties, whether express or implied, as to the suitability or usability of the software or any of its content.",
"enutsDisclaimer": "eNuts is unfinished alpha software.",
"lossContent": "Cashu tokens are bearer tokens, implying that if you lose access to them, there is no recovery option. eNuts stores your tokens in your device. Before deleting the app, ensure you back up your tokens.",
"disclaimer": "Please note that this is beta version in its early stage and is still undergoing testing before its official release. The software and all content found on it are provided on an “as is” and “as available” basis. We do not give any warranties, whether express or implied, as to the suitability or usability of the software or any of its content.",
"enutsDisclaimer": "eNuts is unfinished beta software.",
"lossContent": "Cashu tokens are bearer tokens, implying that if you lose access to them, there is no recovery option implemented yet. eNuts stores your tokens in your device. Before deleting the app, ensure you back up your tokens.",
"lossOfTokens": "Loss of funds.",
"paidOut": "Paid out",
"pasteToken": "Paste & redeem Ecash",
Expand Down
Loading