diff --git a/app/src/main/java/chat/revolt/internals/CryptographicAgeVerification.kt b/app/src/main/java/chat/revolt/internals/CryptographicAgeVerification.kt deleted file mode 100644 index 7cee54ff..00000000 --- a/app/src/main/java/chat/revolt/internals/CryptographicAgeVerification.kt +++ /dev/null @@ -1,41 +0,0 @@ -package chat.revolt.internals - -import java.security.MessageDigest - -class CryptographicAgeVerification { - fun getProofHash( - seed: String, - userAge: Int, - minAllowedAge: Int - ): Pair { - var proof = MessageDigest.getInstance("SHA-256").digest(seed.toByteArray()) - - for (i in 1 until userAge - minAllowedAge) { - proof = MessageDigest.getInstance("SHA-256").digest(proof) - } - - var ageHash = - MessageDigest.getInstance("SHA-256").digest(seed.toByteArray()) - - for (i in 1 until userAge - 1) { - ageHash = MessageDigest.getInstance("SHA-256").digest(ageHash) - } - - return ageHash to proof - } - - fun proveAge( - minAllowedAge: Int, - proofHash: ByteArray, - ageHash: ByteArray, - ): Boolean { - var verifyHash = - MessageDigest.getInstance("SHA-256").digest(proofHash.toString().toByteArray()) - - for (i in 1 until minAllowedAge - 1) { - verifyHash = MessageDigest.getInstance("SHA-256").digest(verifyHash) - } - - return verifyHash.contentEquals(ageHash) - } -} \ No newline at end of file diff --git a/app/src/main/java/chat/revolt/screens/labs/LabsHomeScreen.kt b/app/src/main/java/chat/revolt/screens/labs/LabsHomeScreen.kt index eeefa702..414ed204 100644 --- a/app/src/main/java/chat/revolt/screens/labs/LabsHomeScreen.kt +++ b/app/src/main/java/chat/revolt/screens/labs/LabsHomeScreen.kt @@ -157,15 +157,6 @@ fun LabsHomeScreen(navController: NavController) { Column( modifier = Modifier.verticalScroll(rememberScrollState()) ) { - ListItem( - headlineContent = { - Text("Cryptographic Age Verification") - }, - modifier = Modifier.clickable { - navController.navigate("sandboxes/cryptoageverif") - } - ) - HorizontalDivider() ListItem( headlineContent = { Text("Settings DSL") diff --git a/app/src/main/java/chat/revolt/screens/labs/LabsRootScreen.kt b/app/src/main/java/chat/revolt/screens/labs/LabsRootScreen.kt index de11ca70..497fe782 100644 --- a/app/src/main/java/chat/revolt/screens/labs/LabsRootScreen.kt +++ b/app/src/main/java/chat/revolt/screens/labs/LabsRootScreen.kt @@ -14,7 +14,6 @@ import androidx.navigation.compose.rememberNavController import chat.revolt.api.settings.FeatureFlags import chat.revolt.screens.labs.ui.mockups.CallScreenMockup import chat.revolt.screens.labs.ui.mockups.NewLoginExperienceMockup -import chat.revolt.screens.labs.ui.sandbox.CryptographicAgeVerificationSandbox import chat.revolt.screens.labs.ui.sandbox.JBMSandbox import chat.revolt.screens.labs.ui.sandbox.SettingsDslSandbox @@ -70,9 +69,6 @@ fun LabsRootScreen(topNav: NavController) { NewLoginExperienceMockup(labsNav) } - composable("sandboxes/cryptoageverif") { - CryptographicAgeVerificationSandbox(labsNav) - } composable("sandboxes/settingsdsl") { SettingsDslSandbox(labsNav) } diff --git a/app/src/main/java/chat/revolt/screens/labs/ui/sandbox/CryptographicAgeVerificationSandbox.kt b/app/src/main/java/chat/revolt/screens/labs/ui/sandbox/CryptographicAgeVerificationSandbox.kt deleted file mode 100644 index 244c6394..00000000 --- a/app/src/main/java/chat/revolt/screens/labs/ui/sandbox/CryptographicAgeVerificationSandbox.kt +++ /dev/null @@ -1,78 +0,0 @@ -package chat.revolt.screens.labs.ui.sandbox - -import android.util.Log -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.ArrowBack -import androidx.compose.material3.Button -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.text.style.TextOverflow -import androidx.navigation.NavController -import chat.revolt.api.REVOLT_KJBOOK -import chat.revolt.internals.CryptographicAgeVerification - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun CryptographicAgeVerificationSandbox(navController: NavController) { - Scaffold( - topBar = { - TopAppBar( - title = { - Text( - "Crypto Age Verify Sandbox", - maxLines = 1, - overflow = TextOverflow.Ellipsis - ) - }, - navigationIcon = { - IconButton(onClick = { navController.popBackStack() }) { - Icon(Icons.AutoMirrored.Default.ArrowBack, "Back") - } - } - ) - } - ) { pv -> - Column( - Modifier - .padding(pv) - .fillMaxSize() - ) { - Button(onClick = { - val cav = CryptographicAgeVerification() - val (ageHash, verifyHash) = cav.getProofHash( - seed = REVOLT_KJBOOK, - userAge = 21, - minAllowedAge = 18 - ) - - Log.d( - "CryptographicAgeVerificationSandbox", - "ageHash: ${ageHash.contentToString()}" - ) - Log.d( - "CryptographicAgeVerificationSandbox", - "verifyHash: ${verifyHash.contentToString()}" - ) - - val verification = cav.proveAge( - minAllowedAge = 18, - proofHash = verifyHash, - ageHash = ageHash - ) - - Log.d("CryptographicAgeVerificationSandbox", "Verification result: $verification") - }) { - Text("Run Cryptographic Age Verification") - } - } - } -} \ No newline at end of file