Skip to content

Commit 2702829

Browse files
committed
feat: use @keep in data classes to prevent obfuscation
Signed-off-by: Gaurav Goel <[email protected]>
1 parent 7beec94 commit 2702829

27 files changed

+204
-121
lines changed

app/src/main/java/com/web3auth/app/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ class MainActivity : AppCompatActivity(), AdapterView.OnItemClickListener {
187187
clientId = "d84f6xvbdV75VTGmHiMWfZLeSPk8M07C",
188188
)
189189
),
190-
buildEnv = BuildEnv.TESTING,
190+
buildEnv = BuildEnv.PRODUCTION,
191191
sessionTime = 86400,
192192
)
193193

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
4+
import java.io.Serializable
5+
6+
@Keep
37
data class ChainConfig(
4-
val chainNamespace: ChainNamespace = ChainNamespace.EIP155,
5-
val decimals: Int? = 18,
6-
val blockExplorerUrl: String? = null,
7-
val chainId: String,
8-
val displayName: String? = null,
9-
val logo: String? = null,
10-
val rpcTarget: String,
11-
val ticker: String? = null,
12-
val tickerName: String? = null,
13-
)
8+
@Keep val chainNamespace: ChainNamespace = ChainNamespace.EIP155,
9+
@Keep val decimals: Int? = 18,
10+
@Keep val blockExplorerUrl: String? = null,
11+
@Keep val chainId: String,
12+
@Keep val displayName: String? = null,
13+
@Keep val logo: String? = null,
14+
@Keep val rpcTarget: String,
15+
@Keep val ticker: String? = null,
16+
@Keep val tickerName: String? = null,
17+
) : Serializable

core/src/main/java/com/web3auth/core/types/ChainNamespace.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
34
import com.google.gson.annotations.SerializedName
45

6+
@Keep
57
enum class ChainNamespace {
68
@SerializedName("eip155")
79
EIP155,

core/src/main/java/com/web3auth/core/types/Curve.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
34
import com.google.gson.annotations.SerializedName
45

6+
@Keep
57
enum class Curve {
68
@SerializedName("secp256k1")
79
SECP256K1,

core/src/main/java/com/web3auth/core/types/Display.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
4+
5+
@Keep
36
enum class Display(private val label: String) {
47
PAGE("page"), POPUP("popup"), TOUCH("touch"), WAP("wap");
58

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
4+
import java.io.Serializable
5+
6+
@Keep
37
data class ExtraLoginOptions(
4-
private var additionalParams : HashMap<String, String>? = null,
5-
private var domain : String? = null,
6-
private var client_id : String? = null,
7-
private var leeway : String? = null,
8-
private var verifierIdField : String? =null,
9-
private var isVerifierIdCaseSensitive : Boolean? = null,
10-
private var display : Display? = null,
11-
private var prompt : Prompt? = null,
12-
private var max_age : String? = null,
13-
private var ui_locales : String? = null,
14-
private var id_token : String? = null,
15-
private var id_token_hint : String? = null,
16-
var login_hint : String? = null,
17-
private var acr_values : String? = null,
18-
private var scope : String? = null,
19-
private var audience : String? = null,
20-
private var connection : String? = null,
21-
private var state : String? = null,
22-
private var response_type : String? = null,
23-
private var nonce : String? = null,
24-
private var redirect_uri : String? = null
25-
)
8+
@Keep private var additionalParams: HashMap<String, String>? = null,
9+
@Keep private var domain: String? = null,
10+
@Keep private var client_id: String? = null,
11+
@Keep private var leeway: String? = null,
12+
@Keep private var verifierIdField: String? = null,
13+
@Keep private var isVerifierIdCaseSensitive: Boolean? = null,
14+
@Keep private var display: Display? = null,
15+
@Keep private var prompt: Prompt? = null,
16+
@Keep private var max_age: String? = null,
17+
@Keep private var ui_locales: String? = null,
18+
@Keep private var id_token: String? = null,
19+
@Keep private var id_token_hint: String? = null,
20+
@Keep var login_hint: String? = null,
21+
@Keep private var acr_values: String? = null,
22+
@Keep private var scope: String? = null,
23+
@Keep private var audience: String? = null,
24+
@Keep private var connection: String? = null,
25+
@Keep private var state: String? = null,
26+
@Keep private var response_type: String? = null,
27+
@Keep private var nonce: String? = null,
28+
@Keep private var redirect_uri: String? = null
29+
) : Serializable
Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
4+
5+
@Keep
36
data class InitOptions(
4-
val clientId: String,
5-
val network: String,
6-
var redirectUrl: String? = null,
7-
val whiteLabel: String? = null,
8-
val loginConfig: String? = null,
9-
val buildEnv: String? = null,
10-
val mfaSettings: String? = null,
11-
val sessionTime: Int? = null,
12-
val originData: String? = null,
13-
val dashboardUrl: String? = null,
7+
@Keep val clientId: String,
8+
@Keep val network: String,
9+
@Keep var redirectUrl: String? = null,
10+
@Keep val whiteLabel: String? = null,
11+
@Keep val loginConfig: String? = null,
12+
@Keep val buildEnv: String? = null,
13+
@Keep val mfaSettings: String? = null,
14+
@Keep val sessionTime: Int? = null,
15+
@Keep val originData: String? = null,
16+
@Keep val dashboardUrl: String? = null,
1417
)
Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
4+
5+
@Keep
36
data class InitParams(
4-
val loginProvider: String? = null,
5-
val extraLoginOptions: String? = null,
6-
val redirectUrl: String,
7-
val mfaLevel: String? = null,
8-
val curve: String? = null,
9-
val dappShare: String? = null,
10-
val appState: String? = null,
11-
val dappUrl: String? = null,
7+
@Keep val loginProvider: String? = null,
8+
@Keep val extraLoginOptions: String? = null,
9+
@Keep val redirectUrl: String,
10+
@Keep val mfaLevel: String? = null,
11+
@Keep val curve: String? = null,
12+
@Keep val dappShare: String? = null,
13+
@Keep val appState: String? = null,
14+
@Keep val dappUrl: String? = null,
1215
)

core/src/main/java/com/web3auth/core/types/Language.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
34
import com.google.gson.annotations.SerializedName
45

6+
@Keep
57
enum class Language {
68
@SerializedName("en") //English
79
EN,
Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
package com.web3auth.core.types
22

3+
import androidx.annotation.Keep
4+
5+
@Keep
36
data class LoginConfigItem(
4-
var verifier: String,
5-
var typeOfLogin: TypeOfLogin,
6-
var name: String? = null,
7-
var description: String? = null,
8-
var clientId: String,
9-
var verifierSubIdentifier: String? = null,
10-
var logoHover: String? = null,
11-
var logoLight: String? = null,
12-
var logoDark: String? = null,
13-
var mainOption: Boolean? = false,
14-
var showOnModal: Boolean? = true,
15-
var showOnDesktop: Boolean? = true,
16-
var showOnMobile: Boolean? = true,
7+
@Keep var verifier: String,
8+
@Keep var typeOfLogin: TypeOfLogin,
9+
@Keep var name: String? = null,
10+
@Keep var description: String? = null,
11+
@Keep var clientId: String,
12+
@Keep var verifierSubIdentifier: String? = null,
13+
@Keep var logoHover: String? = null,
14+
@Keep var logoLight: String? = null,
15+
@Keep var logoDark: String? = null,
16+
@Keep var mainOption: Boolean? = false,
17+
@Keep var showOnModal: Boolean? = true,
18+
@Keep var showOnDesktop: Boolean? = true,
19+
@Keep var showOnMobile: Boolean? = true,
1720
)

0 commit comments

Comments
 (0)