Skip to content

Commit

Permalink
Merge pull request #22 from jagerman/dart-modernization
Browse files Browse the repository at this point in the history
Dart modernization
  • Loading branch information
jagerman authored Apr 19, 2022
2 parents f211cfd + f38738f commit f405f90
Show file tree
Hide file tree
Showing 227 changed files with 3,190 additions and 7,890 deletions.
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ The Oxen Wallet is a Fork of the Cake Wallet.
flutter pub get
```

2. Run the build_runner
2. Run the build_runner to create generated dependency files:
```shell script
flutter pub run build_runner build
flutter pub run build_runner build --delete-conflicting-outputs
```

3. To download the latest build of the Oxen Dependencies run
3. To download the latest build of the Oxen Dependencies run:
```
./tool/download-android-deps.sh https://oxen.rocks/oxen-io/oxen-core/oxen-stable-android-deps-LATEST.tar.xz
./tool/download-ios-deps.sh https://oxen.rocks/oxen-io/oxen-core/oxen-stable-ios-deps-LATEST.tar.xz
Expand Down Expand Up @@ -42,6 +42,16 @@ The Oxen Wallet is a Fork of the Cake Wallet.
flutter run
```
or build APKs with:
```shell script
flutter build apk --split-per-abi
```

or build an .aab (for Google Play Store) with:
```shell script
flutter build appbundle
```

## Copyright
Copyright (c) 2020 Konstantin Ullrich.\
Copyright (c) 2020 Cake Technologies LLC.
89 changes: 45 additions & 44 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,47 +11,48 @@ analyzer:

linter:
rules:
- always_declare_return_types
- annotate_overrides
- avoid_empty_else
- avoid_init_to_null
- avoid_return_types_on_setters
- await_only_futures
- camel_case_types
- cancel_subscriptions
- close_sinks
- comment_references
- constant_identifier_names
- control_flow_in_finally
- empty_catches
- empty_constructor_bodies
- empty_statements
- hash_and_equals
- implementation_imports
- invariant_booleans
- iterable_contains_unrelated_type
- library_names
- library_prefixes
- list_remove_unrelated_type
- literal_only_boolean_expressions
- non_constant_identifier_names
- one_member_abstracts
- only_throw_errors
- overridden_fields
- package_api_docs
- package_names
- package_prefixed_library_names
- parameter_assignments
- prefer_final_fields
- prefer_final_locals
- prefer_is_not_empty
- slash_for_doc_comments
- sort_constructors_first
- sort_unnamed_constructors_first
- test_types_in_equals
- throw_in_finally
- type_init_formals
- unawaited_futures
- unnecessary_getters_setters
- unrelated_type_equality_checks
- valid_regexps
always_declare_return_types: true
annotate_overrides: true
avoid_empty_else: true
avoid_init_to_null: true
avoid_return_types_on_setters: true
await_only_futures: true
camel_case_types: true
cancel_subscriptions: true
close_sinks: true
comment_references: true
constant_identifier_names: true
control_flow_in_finally: true
curly_braces_in_flow_control_structures: false
empty_catches: true
empty_constructor_bodies: true
empty_statements: true
hash_and_equals: true
implementation_imports: true
invariant_booleans: true
iterable_contains_unrelated_type: true
library_names: true
library_prefixes: true
list_remove_unrelated_type: true
literal_only_boolean_expressions: true
non_constant_identifier_names: true
one_member_abstracts: true
only_throw_errors: true
overridden_fields: true
package_api_docs: true
package_names: true
package_prefixed_library_names: true
parameter_assignments: true
prefer_final_fields: true
prefer_final_locals: true
prefer_is_not_empty: true
slash_for_doc_comments: true
sort_constructors_first: true
sort_unnamed_constructors_first: true
test_types_in_equals: true
throw_in_finally: true
type_init_formals: true
unawaited_futures: true
unnecessary_getters_setters: true
unrelated_type_equality_checks: true
valid_regexps: true
25 changes: 18 additions & 7 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 29
compileSdkVersion 31

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
Expand All @@ -51,11 +51,25 @@ android {

externalNativeBuild {
cmake {
cppFlags "-std=c++11"
arguments '-DANDROID_STL=c++_shared', '-DBUILD_TESTING=OFF'
version "3.10.2"
cppFlags "-std=c++17"
arguments '-DANDROID_STL=c++_shared'
version "3.18.0+"
}
}

ndk {
abiFilters.clear()
// abiFilters 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
}

splits {
abi {
enable true //enables the ABIs split mechanism
reset() //reset the list of ABIs to be included to an empty string
include 'arm64-v8a', 'armeabi-v7a', 'x86_64'
universalApk true
}
}

signingConfigs {
Expand All @@ -73,9 +87,6 @@ android {
signingConfig signingConfigs.release

minifyEnabled true
useProguard true

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
buildscript {
ext.kotlin_version = '1.4.10'
ext.kotlin_version = '1.6.20'
repositories {
google()
jcenter()
}

dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath 'com.android.tools.build:gradle:7.1.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
Expand Down
3 changes: 2 additions & 1 deletion android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
android.native.buildOutput=verbose
android.bundle.enableUncompressedNativeLibs = false
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
26 changes: 13 additions & 13 deletions assets/faq/faq_de.json
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
[
{
"question" : "Was ist der Unterschied zwischen verfügbarem Guthaben und vollständigem Guthaben?",
"answer" : "Nachdem Sie eine Transaktion getätigt oder Oxen erhalten haben, muss die Transaktion noch bestätigt werden. In ungefähr 20 Minuten sollte Ihr \"verfügbares Guthaben\" aktualisiert werden!\nWenn Sie Oxen senden, verringert sich manchmal Ihr verfügbares Guthaben um mehr als den Betrag, den Sie gesendet haben. Dies ist normal und zum Schutz Ihrer Privatsphäre erforderlich. Ihr \"vollständiges Gleichgewicht\" sollte in 20 Minuten wieder normal sein.\n"
"answer" : "Nachdem Sie eine Transaktion getätigt oder Oxen erhalten haben, muss die Transaktion noch bestätigt werden. In ungefähr 20 Minuten sollte Ihr \"verfügbares Guthaben\" aktualisiert werden!\n\nWenn Sie Oxen senden, verringert sich manchmal Ihr verfügbares Guthaben um mehr als den Betrag, den Sie gesendet haben. Dies ist normal und zum Schutz Ihrer Privatsphäre erforderlich. Ihr \"vollständiges Gleichgewicht\" sollte in 20 Minuten wieder normal sein."
},
{
"question" : "Was bedeuten \"Seed\" und \"Schlüssel\"?",
"answer" : "Ihre Schlüssel verschlüsseln die privaten Informationen in Ihres Wallets und ermöglichen es Ihnen, Coins auszugeben und eingehende Transaktionen anzuzeigen.\nIhr Seed ist nur eine Version Ihres privaten Schlüssels, die so geschrieben wurde, dass Sie sie leichter notieren können. Ihr Seed und Schlüssel sind tatsächlich dasselbe, nur in verschiedenen Formen!\nGeben Sie niemals Ihren Seed oder Schlüssel an jemanden weiter. Ihr Geld wird gestohlen, wenn Sie Ihren Seed oder Schlüssel herausgeben. Bitte notieren Sie sich jedoch Ihren Seed und bewahren Sie ihn an einem sicheren Ort auf (so können Sie Ihr Wallet wiederherstellen, wenn Sie Ihr Telefon verlieren.)\n"
"answer" : "Ihre Schlüssel verschlüsseln die privaten Informationen in Ihres Wallets und ermöglichen es Ihnen, Coins auszugeben und eingehende Transaktionen anzuzeigen.\n\nIhr Seed ist nur eine Version Ihres privaten Schlüssels, die so geschrieben wurde, dass Sie sie leichter notieren können. Ihr Seed und Schlüssel sind tatsächlich dasselbe, nur in verschiedenen Formen!\n\nGeben Sie niemals Ihren Seed oder Schlüssel an jemanden weiter. Ihr Geld wird gestohlen, wenn Sie Ihren Seed oder Schlüssel herausgeben. Bitte notieren Sie sich jedoch Ihren Seed und bewahren Sie ihn an einem sicheren Ort auf (so können Sie Ihr Wallet wiederherstellen, wenn Sie Ihr Telefon verlieren.)"
},
{
"question" : "Wie viele Wallets kann ich erstellen?",
"answer" : "Es gibt keine Grenzen! Sie können so viele Wallets erstellen, wie Sie möchten.\n"
"answer" : "Es gibt keine Grenzen! Sie können so viele Wallets erstellen, wie Sie möchten."
},
{
"question" : "Wie kann ich mein Wallet wiederherstellen?",
"answer" : "Tippen Sie auf das Profil Icon auf ihrem Dashboard (oben rechts), wählen Sie „Wallets“ und dann „Wallet wiederherstellen“. Geben Sie dann Ihren Seed (oder Ihre Schlüssel) und optional ein Datum vor der ersten Transaktion in Ihrer Brieftasche ein (dies beschleunigt den Synchronisierungsvorgang) .) Möglicherweise müssen Sie die App 15 bis 30 Minuten geöffnet lassen, um Ihr Wallet vollständig wiederherzustellen.\n"
"answer" : "Tippen Sie auf das Profil Icon auf ihrem Dashboard (oben rechts), wählen Sie „Wallets“ und dann „Wallet wiederherstellen“. Geben Sie dann Ihren Seed (oder Ihre Schlüssel) und optional ein Datum vor der ersten Transaktion in Ihrer Brieftasche ein (dies beschleunigt den Synchronisierungsvorgang) .) Möglicherweise müssen Sie die App 15 bis 30 Minuten geöffnet lassen, um Ihr Wallet vollständig wiederherzustellen."
},
{
"question" : "Was kann ich tun, wenn ich meinen Seed verliere?",
"answer" : "Wenn Sie Ihren Seed vergessen haben, haben Sie ihn wahrscheinlich irgendwo aufgeschrieben. Bitte überprüfen Sie Ihre Notizen und schauen Sie sich auf Ihrem Computer um. Wenn Sie es nirgendwo finden, haben Sie möglicherweise Oxen Wallet gesichert (in diesem Fall können Sie es aus diesem Backup wiederherstellen.) Wenn keines von beidem der Fall ist, können wir leider nichts tun.\n"
"answer" : "Wenn Sie Ihren Seed vergessen haben, haben Sie ihn wahrscheinlich irgendwo aufgeschrieben. Bitte überprüfen Sie Ihre Notizen und schauen Sie sich auf Ihrem Computer um. Wenn Sie es nirgendwo finden, haben Sie möglicherweise Oxen Wallet gesichert (in diesem Fall können Sie es aus diesem Backup wiederherstellen.) Wenn keines von beidem der Fall ist, können wir leider nichts tun."
},
{
"question" : "Sammeln Sie Informationen zu mir oder meinem Wallet?",
"answer" : "Oxen Wallet sammelt oder zeichnet keine Informationen über Sie oder Ihr Wallet auf. Ihre Privatsphäre ist uns wichtig.\nIhre Privatsphäre kann aber duch die Verbindung zu einem bösarigem Knoten kompromitiert werden. Deshalb empfehlen wir, die Standart Knoten oder ihren eigenen zu verwenden. "
"answer" : "Oxen Wallet sammelt oder zeichnet keine Informationen über Sie oder Ihr Wallet auf. Ihre Privatsphäre ist uns wichtig.\n\nIhre Privatsphäre kann aber duch die Verbindung zu einem bösarigem Knoten kompromitiert werden. Deshalb empfehlen wir, die Standart Knoten oder ihren eigenen zu verwenden. "
},
{
"question" : "Woher die Fiat-Daten?",
"answer" : "Die Fiat-Daten werden durch ein Gateway von CoinGecko geladen.\nDer code des Gateways ist open-source und sammelt oder zeichnet keine Informationen auf, durch das Anfragen der Daten durch das Gateway enthüllen sie Ihre IP und Fiat-Währung.\nDie Fiat Umrechnung ist standartmäßig deaktiviert."
"answer" : "Die Fiat-Daten werden durch ein Gateway von CoinGecko geladen.\n\nDer code des Gateways ist open-source und sammelt oder zeichnet keine Informationen auf, durch das Anfragen der Daten durch das Gateway enthüllen sie Ihre IP und Fiat-Währung.\n\nDie Fiat Umrechnung ist standartmäßig deaktiviert."
},
{
"question" : "Kann ich eine Transaktion stornieren?",
"answer" : "Sobald eine Transaktion an die Blockchain gesendet wurde, kann sie leider nicht mehr rückgängig gemacht werden. Sie können die Transaktion jederzeit abbrechen, bevor sie gesendet wird. Überprüfen Sie die Adresse daher immer, bevor Sie eine Transaktion senden.\n"
"answer" : "Sobald eine Transaktion an die Blockchain gesendet wurde, kann sie leider nicht mehr rückgängig gemacht werden. Sie können die Transaktion jederzeit abbrechen, bevor sie gesendet wird. Überprüfen Sie die Adresse daher immer, bevor Sie eine Transaktion senden."
},
{
"question" : "Was sind Subadressen und wie verwende ich sie?",
"answer" : "Eine Unteradresse ist im Grunde eine eindeutige Adresse, die Sie jederzeit generieren können. An sie gesendete Coins landen weiterhin in Ihrem Wallet, aber die Person, die die Coins sendet, kann Ihre Hauptadresse nicht ermitteln.\nSie können eine neue Unteradresse im Empfangsbildschirm erstellen, indem Sie auf das „+“ neben der Schaltfläche Unteradressen tippen. Geben Sie einen Namen für die Unteradresse ein und tippen Sie auf \"Hinzufügen\". Dann tippen Sie einfach auf den Namen der Subadresse, wenn Sie ihn verwenden möchten!\nWenn Sie paranoid sind, sollten Sie wahrscheinlich jedes Mal, wenn Sie Oxen erhalten, eine neue Unteradresse erstellen.\n"
"answer" : "Eine Unteradresse ist im Grunde eine eindeutige Adresse, die Sie jederzeit generieren können. An sie gesendete Coins landen weiterhin in Ihrem Wallet, aber die Person, die die Coins sendet, kann Ihre Hauptadresse nicht ermitteln.\n\nSie können eine neue Unteradresse im Empfangsbildschirm erstellen, indem Sie auf das „+“ neben der Schaltfläche Unteradressen tippen. Geben Sie einen Namen für die Unteradresse ein und tippen Sie auf \"Hinzufügen\". Dann tippen Sie einfach auf den Namen der Subadresse, wenn Sie ihn verwenden möchten!\n\nWenn Sie paranoid sind, sollten Sie wahrscheinlich jedes Mal, wenn Sie Oxen erhalten, eine neue Unteradresse erstellen."
},
{
"question" : "Ich habe meine OXEN nicht erhalten! Was kann ich tun?",
"answer" : "Wenn Sie Ihr Oxen nicht erhalten haben, möchten Sie möglicherweise auf das Synchonisations Icon auf auf ihrem Dashboard (oben links) tippen und auf Reconnect (Neu verbinden) klicken. Wenn dies nicht funktioniert, gehen Sie in das Einstellungsmenü, tippen Sie auf das Feld \"Aktueller Knoten\" und wählen Sie einen Knoten mit einem grünen Punkt daneben aus.\n"
"answer" : "Wenn Sie Ihr Oxen nicht erhalten haben, möchten Sie möglicherweise auf das Synchonisations Icon auf auf ihrem Dashboard (oben links) tippen und auf Reconnect (Neu verbinden) klicken. Wenn dies nicht funktioniert, gehen Sie in das Einstellungsmenü, tippen Sie auf das Feld \"Aktueller Knoten\" und wählen Sie einen Knoten mit einem grünen Punkt daneben aus."
},
{
"question" : "Wie kontaktiere ich den Oxen Wallet-Support?",
"answer" : "Senden Sie eine E-Mail an [email protected], schließen Sie sich dem Telegram unter @LokiCommunity an oder twittern Sie @Oxen_io!\n"
"answer" : "Senden Sie eine E-Mail an [email protected], schließen Sie sich dem Telegram unter @LokiCommunity an oder twittern Sie @Oxen_io!"
},
{
"question" : "Macht mich der Besitz von Oxen zu einem Investor?",
"answer" : "Nein, macht es nicht. Es macht sie zu einer coolen Person mit Oxen.\n"
"answer" : "Nein, macht es nicht. Es macht sie zu einer coolen Person mit Oxen."
}
]
]
Loading

0 comments on commit f405f90

Please sign in to comment.