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

Gnosis Support #250

Merged
merged 57 commits into from
Nov 3, 2023
Merged
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
b690356
refactoring for gnosis, fix rpl collateral
manuelsc Oct 16, 2023
0dfeca5
fix tos and privacy links
manuelsc Oct 16, 2023
8a800df
code quality and new linter rules
manuelsc Oct 16, 2023
2c04ccd
fix token refresh on ios, update podfile.lock
Oct 18, 2023
ceff25d
support for different execution and consensus currencies via network …
manuelsc Oct 18, 2023
aed44e2
formatting
manuelsc Oct 18, 2023
94346f2
formatting
manuelsc Oct 18, 2023
832f6d8
fix android
manuelsc Oct 18, 2023
7d072f0
formatting
manuelsc Oct 18, 2023
0e99a4c
force native and notification info instead of warning
manuelsc Oct 19, 2023
f6d750c
merge iosfix
manuelsc Oct 19, 2023
7d58036
fix fiat switching, fix validatorutils
manuelsc Oct 19, 2023
5adde0a
update android widget for gnosis
manuelsc Oct 19, 2023
3179651
fixes for network switch
manuelsc Oct 19, 2023
7cd964a
refactored api service to always use capacitor native http
manuelsc Oct 19, 2023
d70dddc
ios fix
Oct 19, 2023
41a07e7
add holesky, sepolia, gnosis to ios reflect storage
Oct 19, 2023
37cee75
fix android
manuelsc Oct 19, 2023
ddc9fa9
preload blocks, fix client updates popin, fix multiple opens of notif…
manuelsc Oct 19, 2023
06ca7ba
gnosis theme and easy network switcher on fresh install
manuelsc Oct 19, 2023
2ed602b
fix case when switching between gnosis and testnet
Oct 19, 2023
13f5572
formatting
manuelsc Oct 19, 2023
2f73034
preload service, added mgno, further cachemodule hard storage optimiz…
manuelsc Oct 20, 2023
8368c81
wait for result before we ask for api cache to prevent double request…
manuelsc Oct 23, 2023
65438cf
remove artificial splashscreen remove delay
manuelsc Oct 23, 2023
ef87332
fix gno price convertion
manuelsc Oct 23, 2023
8770aaf
BIDS-2192: clear search when switching networks
manuelsc Oct 23, 2023
924e5e2
restore old browser list
Oct 23, 2023
8836665
updated readme, android version++
manuelsc Oct 23, 2023
130f838
no need for dashboard request on fresh install
manuelsc Oct 24, 2023
106e7a9
important naming fix
manuelsc Oct 24, 2023
4786a16
add el 1y and total
manuelsc Oct 24, 2023
128440d
address findings of code review
manuelsc Oct 24, 2023
cc4d1d8
Merge branch 'gnosis' into full-el-rewards
manuelsc Oct 24, 2023
3a2a93c
readd safety checks
manuelsc Oct 24, 2023
41a9c30
Merge branch 'gnosis' into full-el-rewards
manuelsc Oct 24, 2023
2f214cd
Implement minor improvements (no behavior change)
D13ce Oct 25, 2023
a7b38b4
added full el reward support
manuelsc Oct 25, 2023
38eafe9
search for validators via withdrawal credential or address
manuelsc Oct 25, 2023
78e9def
styling
manuelsc Oct 25, 2023
105d9fa
fix ios font size
manuelsc Oct 25, 2023
58269e6
typo
manuelsc Oct 25, 2023
bb74ca7
fix prices exchange rate 1 bug
manuelsc Oct 31, 2023
7e5d729
remove yearly rewards since these are not reliable
manuelsc Oct 31, 2023
f96f10b
fix wrong apr when using stake share
manuelsc Oct 31, 2023
beb6530
addressed awesome feedback provided
manuelsc Oct 31, 2023
2e28d0d
fix ios prices, fix ios segment button opacity
Oct 31, 2023
c806fdc
update cocoapods
Oct 31, 2023
9e512ff
ios++
Oct 31, 2023
38712cc
fix scroll ion-segment-button opacity
manuelsc Oct 31, 2023
da29d19
network switch currency bugfix(?)
manuelsc Oct 31, 2023
428fd5e
fix migration to 3.2
manuelsc Oct 31, 2023
8a8e9de
fix typo
manuelsc Oct 31, 2023
0ee5dd4
fix typo
manuelsc Oct 31, 2023
1f48b8d
replace hardcoded slots and epoch data with config
manuelsc Nov 3, 2023
47c9902
Remove deprecated comment
D13ce Nov 3, 2023
bf87e5a
Merge pull request #255 from gobitfly/full-el-rewards
manuelsc Nov 3, 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
5 changes: 4 additions & 1 deletion browserslist → .browserslistrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries

# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support

# You can see what browsers were selected by your queries by running:
# npx browserslist

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.
not IE 9-11 # For IE 9-11 support, remove 'not'.
19 changes: 18 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.json"
},
"plugins": [
"@typescript-eslint"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
]
],
"rules": {
"@typescript-eslint/await-thenable": "error",
"require-await": "off",
"@typescript-eslint/require-await": "error",
"@typescript-eslint/no-misused-promises": [
"error",
{
"checksVoidReturn": false
}
],
"no-shadow": "off",
"@typescript-eslint/no-shadow": "error"
// "@typescript-eslint/no-floating-promises": "error"
}
}
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# Beaconchain Dashboard App

Beaconchain Dashboard is an open source ethereum validator performance tracker app for Android and iOS. It utilizes the beaconcha.in API.
Beaconchain Dashboard is an open source ethereum and gnosis validator performance tracker app for Android and iOS. It utilizes the beaconcha.in API.


[![Get it on Google Play](https://beaconcha.in/img/android.png)](https://play.google.com/store/apps/details?id=in.beaconcha.mobile)
Expand All @@ -15,6 +15,7 @@ Beaconchain Dashboard is an Angular app written in Typescript, HTML & CSS. It ut

## Features

- Ethereum and Gnosis supported
- Keep track on your validators online status, balances, returns and more
- Various notification alerts for your validators
- Execution block rewards overview
Expand Down Expand Up @@ -70,7 +71,7 @@ Build the the app at least once before proceeding:

Make sure port 8100 is accessable on your computer and use the following command to run a livereload server

`ionic capacitor run android --livereload --external --host=192.168.0.124 --disableHostCheck`
`ionic cap run android --livereload --external --host=192.168.1.64 --disableHostCheck --configuration=development`

Adapt the --host param to match your computers IP.

Expand Down Expand Up @@ -98,7 +99,7 @@ Build the the app at least once before proceeding:

Make sure port 8100 is accessable on your mac and use the following command to run a livereload server

`ionic capacitor run ios --livereload --external --host=192.168.0.124 --disableHostCheck`
`ionic cap run ios --livereload --external --host=192.168.1.64 --disableHostCheck --configuration=development`

Adapt the --host param to match your macs IP.

Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ android {
namespace "in.beaconcha.mobile"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 101
versionName "4.3.2"
versionCode 103
versionName "4.4.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down
67 changes: 10 additions & 57 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,90 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version='1.0' encoding='utf-8'?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Permissions -->
<uses-permission android:name="android.permission.INTERNET" />

<!-- Network API -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.VIBRATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher_round"
android:label="${appLabel}"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:supportsPictureInPicture="false"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">

<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_app_id"/>

<activity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
android:name=".MainActivity"
android:label="${appLabel}"
android:exported="true"
android:theme="@style/AppTheme.NoActionBarLaunch"
android:launchMode="singleTask">

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher_round" android:label="${appLabel}" android:roundIcon="@mipmap/ic_launcher_round" android:supportsPictureInPicture="false" android:supportsRtl="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true">
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="@string/admob_app_id" />
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:exported="true" android:label="${appLabel}" android:launchMode="singleTask" android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBarLaunch">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="${loginCallbackScheme}" android:host="oauth"/>
<data android:host="oauth" android:scheme="${loginCallbackScheme}" />
</intent-filter>

</activity>

<receiver android:exported="false" android:name=".widget.WidgetProviderSquare">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widgetinfo_square" />
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetinfo_square" />
</receiver>

<receiver android:exported="false" android:name=".widget.WidgetProviderLarge">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widgetinfo_long" />
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetinfo_long" />
</receiver>

<receiver android:exported="false" android:name=".widget.WidgetProviderLargeRpl">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widgetinfo_long_rpl" />
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widgetinfo_long_rpl" />
</receiver>

<!-- <receiver android:name="in.beaconcha.mobile.utils.BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver> -->

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"></meta-data>
<provider android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
</provider>

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_notification" />
</application>


</manifest>
2 changes: 1 addition & 1 deletion android/app/src/main/java/in/beaconcha/mobile/widget
Submodule widget updated from 9a9476 to 63d729
5 changes: 5 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"allowedCommonJsDependencies": [
"highcharts",
"ethereum-blockies",
"magic-snowflakes"
],
"assets": [
{
"glob": "**/*",
Expand Down
Loading