mirror of
https://github.com/selfxyz/self.git
synced 2026-04-05 03:00:53 -04:00
* 2.9 release * 2.9 release * Remove debug console logs from generateTEEInputsRegister function in registerInputs.ts * parse only the passport data during the dsc step * Add ReferralScreen and integrate referral functionality - Introduced ReferralScreen for sharing referral links via messages, WhatsApp, and clipboard. - Updated navigation to include ReferralScreen in the home stack. - Added new icons for sharing and messaging. - Enhanced points utility functions to check user identity document registration and points disclosure status. - Minor adjustments to existing components for better integration with the new referral feature. * fix types * fix font * fix vertical spacing * save current abstraction * clean up linking * clean up spurious ai slop comments * add dinot bold font * minify animations * update fonts and add placeholder animation * fix pipelines * fix order * Update dependencies and enhance Points component functionality - Added `@react-native-masked-view/masked-view` and `react-native-linear-gradient` to dependencies for improved UI components. - Refactored `PointHistoryList` to accept `ListHeaderComponent` and `onRefreshRef` props for better integration with parent components. - Enhanced `Points` component to manage notification and backup point events, including user feedback through modals. - Updated navigation to use `PointsNavBar` for a more cohesive user experience. - Introduced new utility functions for managing incoming points and point event records. * update lock * update lock and project settings * fix line height for android * save wip referral message fix and deeplink setup * Fix whatsapp link (#1352) * add 2 new lines * use path based param instead of query string * use staging url for now * SELF-1089: Fix black screen on Points (#1351) * Fix black screen on Points * Fix: black screen on Referral Page * fix: prevent BlurView from displaying when IdDetailsScreen loses focus * Fix Android message share (#1355) * Referral flow (#1354) * SELF-1139: update getUserAddress() (#1353) * update getUserAddress() * rename getUserAddress to getPointsAddress * [SELF-1098, SELF-1099] polish gratification screen post referrer update history (#1356) * fix: mark document as registered after restoring secret (#1350) * update lock * create useRegisterReferral hook and test * add referral message test * save wip register referral flow request * use register referral from the home screen * fix typing and sort screens * fix linting issues * register poitns and update tests * use package * fix tests * simplify HomeScreen with hooks * fix tests * address tests * abstract points logic, fix types and linting * add test referral flow hook * coderabbit feedback: fix refereral logic issues, remove sensitive logs * move test referral flow button to dev settings screen * close modal after referring and viewing gratification screen * fix tests, remove alert, format --------- Co-authored-by: Seshanth.S <35675963+seshanthS@users.noreply.github.com> * add gratification bg; use safe bottom padding hook on home screen * prep 2.7.4 as 2.9.0 * manually bump version for custom deploy * match version code * fix types * formatting * fix tests * SELF-1144 - use real points on home screen and improve points screen (#1361) * fix whitespace * move effects for fetching points and incoming points to hooks, add items to deps array so that they refresh when we expect points to change. * cleanup * Add events for new Points Flow (#1362) * remove deeplinkCallback from pointsSelfApp. (#1365) * fix pipelines * SELF-978: wire cloudbackup with points (#1360) * wire cloudbackup with points * wire cloudbackup with points * Remove redundant setSelfPoints() * add signature and simplify POST api requests (#1367) * add signature and simplify POST api requests * better gitleaks ignore * update toml * have gitguardian ignore gitleaks * add buffer lib * update api with 202 success code * update scope and contract-address (#1366) * fix navigation test * SELF-915: Setup and add turnkey utils (#1314) * Setup and add turnkey utils * update CloudBackupScreen * fix: turnkey * add yarn.lock * lint * add podfile.lock * fix deeplink * fix tests: mock turnkey * yarn nice * update .gitleaksignore * patch react-native-svg * fix patch-package * fix lineHeight * points.tsx: fix lineHeight * fix: recover with turnkey disabled state * fix turnkey flow * fix: address generation * minify animations (#1368) * fix pipelines * fix false positives * fix gitguardian --------- Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz> * enable turnkey only on success * use prod url * fix tests and update mocks * update version and fastlane readme * pointsSelfApp: update scope * bump android version to 117 * incremenet timestamp * abstract points css, hide explore button for now, add points guardrail * better logic * simplify point event list data acquisition (#1375) * simplify point event list data acquisition * explain * Remove BlurView in Points.tsx * Move Points and IncomingPoints to the Point Events Store (#1363) * add polling for event processing. atomically update store state * handle failed states and use real backend api * improve concurrency reliability of pointevents * move points to the store * refresh all points on pull * add points tracking events * fix imports * fix headers * fix import * fix misspelling * enable apps link * remove __DEV__ logging * remove additional referall dev mode features * Add turnkey env * don't allow users to refer themselves * prettier * trim both addresses * fix close webview button * fix tests and format * lint and format * Update point rewards in NavBar component: change earned points from 20 to 44 and from 100 to 32. * Refactor point rewards in NavBar component: replace hardcoded values with constants for backup and notification points, and update subscription state variable names for clarity. * Update POINT_VALUES in types.ts: adjust point rewards for disclosure, notification, and backup events to 8, 44, and 32 respectively. * App/fix backup points (#1381) * Enhance backup completion tracking in Points component: Introduce a ref to manage backup check flag, ensuring points are recorded only when explicitly set, preventing false triggers from other navigation flows. * Update API endpoint in getTotalPoints function: change URL from /distribution to /points for accurate points retrieval. * formatting * update points url * Clear referrer on modal dismiss in useEarnPointsFlow hook to prevent retry loop * use points private key to sign api requests * formatting * save working version of referral confirmation * fix circular dependency * don't fetch private key if unable to fetch points key * add url * add debug info * Refactor optimistic points calculation in usePointEventStore: update return value to only include incomingPoints.amount, marking the optimistic approach for future improvement. * save clean up * clean useReferralConfirmation logic * fix tests * tests pass * standardize android compile sdk version * fix package version * don't log errors * Update app/src/hooks/useReferralConfirmation.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * better test * add turnkey entitlements * fix linting * remove entitlements * prettier and fix lint * update gradle version * update lock file * fix tests * fix build failure * bump android version to 118 * update date * bump version for next build * address failing pipelines due to cache issues * Hide turnkey button (#1387) * prep for 2.9.0 release * fix mobile e2e test * fix tests * bump android version --------- Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz> Co-authored-by: Seshanth.S <35675963+seshanthS@users.noreply.github.com> Co-authored-by: Leszek Stachowski <leszek.stachowski@self.xyz> Co-authored-by: Aaron DeRuvo <aaron.deruvo@clabs.co> Co-authored-by: seshanthS <seshanth@protonmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
190 lines
5.5 KiB
Groovy
190 lines
5.5 KiB
Groovy
buildscript {
|
|
ext {
|
|
buildToolsVersion = "35.0.0"
|
|
minSdkVersion = 24
|
|
compileSdkVersion = 36
|
|
targetSdkVersion = 36
|
|
ndkVersion = "27.0.12077973"
|
|
kotlinVersion = "2.0.0"
|
|
}
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath('com.android.tools.build:gradle:8.11.2')
|
|
classpath("com.facebook.react:react-native-gradle-plugin")
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
maven { url 'https://jitpack.io' }
|
|
maven {
|
|
// When building from SDK: ../../../node_modules
|
|
// $rootDir is packages/mobile-sdk-alpha/android
|
|
url("$rootDir/../../../node_modules/react-native/android")
|
|
}
|
|
maven {
|
|
url("$rootDir/../../../node_modules/jsc-android/dist")
|
|
}
|
|
}
|
|
configurations.configureEach {
|
|
resolutionStrategy.dependencySubstitution {
|
|
substitute(platform(module('com.gemalto.jp2:jp2-android'))) using module('com.github.Tgo1014:JP2ForAndroid:1.0.4')
|
|
}
|
|
resolutionStrategy.force 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
|
|
}
|
|
}
|
|
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'kotlin-android'
|
|
|
|
android {
|
|
compileSdkVersion rootProject.ext.compileSdkVersion
|
|
buildToolsVersion rootProject.ext.buildToolsVersion
|
|
ndkVersion rootProject.ext.ndkVersion
|
|
|
|
namespace "com.selfxyz.selfSDK"
|
|
|
|
defaultConfig {
|
|
minSdkVersion rootProject.ext.minSdkVersion
|
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
|
versionCode 1
|
|
versionName "1.0"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
// Configure AAR generation for split AAB support
|
|
splits {
|
|
abi {
|
|
enable true
|
|
reset()
|
|
include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
|
universalApk false
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
// sourceCompatibility JavaVersion.VERSION_17
|
|
// targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = '17'
|
|
// jvmTarget = '1.8'
|
|
}
|
|
|
|
lintOptions {
|
|
abortOnError false
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java.srcDirs = ['src/main/java']
|
|
res.srcDirs = ['src/main/res']
|
|
assets.srcDirs = ['src/main/assets']
|
|
}
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
|
|
packagingOptions {
|
|
exclude 'META-INF/proguard/androidx-annotations.pro'
|
|
exclude 'META-INF/androidx.exifinterface_exifinterface.version'
|
|
pickFirst '**/libc++_shared.so'
|
|
pickFirst '**/libjsc.so'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
|
|
|
|
// React Native
|
|
implementation 'com.facebook.react:react-native:+'
|
|
|
|
// NFC and Passport Reading dependencies
|
|
// implementation 'org.jmrtd:jmrtd:1.7.4'
|
|
// implementation 'org.jmrtd:jmrtd:0.7.35'
|
|
implementation 'org.jmrtd:jmrtd:0.8.3'
|
|
|
|
implementation 'net.sf.scuba:scuba-sc-android:0.0.23'
|
|
|
|
// Bouncy Castle for cryptography
|
|
implementation 'org.bouncycastle:bcprov-jdk18on:1.82'
|
|
implementation 'org.bouncycastle:bcpkix-jdk18on:1.82'
|
|
implementation ('org.ejbca.cvc:cert-cvc:1.4.13'){
|
|
exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
|
|
}
|
|
|
|
// Commons IO for utilities
|
|
implementation 'commons-io:commons-io:2.11.0'
|
|
|
|
// OkHttp for network operations
|
|
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
|
|
|
|
// Gson for JSON handling
|
|
implementation 'com.google.code.gson:gson:2.10.1'
|
|
|
|
implementation 'com.google.android.gms:play-services-mlkit-text-recognition:18.0.2'
|
|
implementation "com.github.fotoapparat:fotoapparat:2.7.0"
|
|
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
|
|
|
// RxJava dependencies
|
|
implementation 'io.reactivex.rxjava2:rxjava:2.2.21'
|
|
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
|
|
|
// React Native dependencies
|
|
implementation 'com.facebook.react:react-android'
|
|
implementation 'com.facebook.react:react-native:+'
|
|
|
|
// MLKit dependencies
|
|
implementation 'com.google.android.gms:play-services-mlkit-text-recognition:18.0.2'
|
|
implementation 'com.google.mlkit:text-recognition:16.0.0'
|
|
|
|
// Camera dependencies
|
|
implementation "androidx.camera:camera-core:1.3.2"
|
|
implementation "androidx.camera:camera-camera2:1.3.2"
|
|
implementation "androidx.camera:camera-lifecycle:1.3.2"
|
|
implementation "androidx.camera:camera-view:1.3.2"
|
|
|
|
// Utility dependencies
|
|
implementation 'com.google.guava:guava:31.1-android'
|
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
implementation 'androidx.core:core-ktx:1.12.0'
|
|
implementation 'com.google.android.material:material:1.9.0'
|
|
|
|
implementation 'com.github.mhshams:jnbis:2.0.2'
|
|
}
|
|
|
|
|
|
// Task to copy AAR files to dist directory for prebuilt distribution
|
|
task copyAarToDist(type: Copy) {
|
|
from 'build/outputs/aar'
|
|
into '../dist/android'
|
|
include '*.aar'
|
|
}
|
|
|
|
// Ensure AAR is copied after assembleRelease
|
|
afterEvaluate {
|
|
tasks.named('assembleRelease').configure {
|
|
finalizedBy copyAarToDist
|
|
}
|
|
}
|