diff --git a/.run/Verifier.run.xml b/.run/Verifier.run.xml index 9f2da2945..3fefd8587 100644 --- a/.run/Verifier.run.xml +++ b/.run/Verifier.run.xml @@ -1,14 +1,14 @@ - - - + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index c9977ea4d..19929cec4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,7 +21,7 @@ plugins { kotlin("plugin.serialization") version kotlinVersion apply false - id("love.forte.plugin.suspend-transform") version "2.1.0-0.10.1" apply false + id("love.forte.plugin.suspend-transform") version "2.1.0-0.11.0" apply false id("com.android.library") version "8.7.3" apply false id("com.android.application") version "8.7.3" apply false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b8..cea7a793a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index f5feea6d6..f3b75f3b0 100755 --- a/gradlew +++ b/gradlew @@ -86,8 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/waltid-applications/waltid-android/build.gradle.kts b/waltid-applications/waltid-android/build.gradle.kts index 6a21e75d4..39ee5b6f8 100644 --- a/waltid-applications/waltid-android/build.gradle.kts +++ b/waltid-applications/waltid-android/build.gradle.kts @@ -3,6 +3,7 @@ plugins { kotlin("android") kotlin("plugin.serialization") kotlin("plugin.compose") + id("com.github.ben-manes.versions") } android { @@ -57,7 +58,7 @@ dependencies { api(project(":waltid-libraries:sdjwt:waltid-sdjwt")) // JSON - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0") // -- Android -- implementation("androidx.biometric:biometric:1.2.0-alpha05") @@ -65,7 +66,7 @@ dependencies { implementation("androidx.navigation:navigation-compose:2.7.7") implementation("androidx.core:core-ktx:1.13.1") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.3") - implementation("androidx.activity:activity-compose:1.9.0") + implementation("androidx.activity:activity-compose:1.10.1") // Compose implementation(platform("androidx.compose:compose-bom:2024.02.01")) @@ -77,7 +78,7 @@ dependencies { // Testing testImplementation(kotlin("test")) - testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0") + testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1") testImplementation("junit:junit:4.13.2") testImplementation("androidx.test.ext:junit:1.2.1") testImplementation("androidx.test.espresso:espresso-core:3.6.1") diff --git a/waltid-applications/waltid-cli/build.gradle.kts b/waltid-applications/waltid-cli/build.gradle.kts index 693f9aed6..e9e6ff62f 100644 --- a/waltid-applications/waltid-cli/build.gradle.kts +++ b/waltid-applications/waltid-cli/build.gradle.kts @@ -1,7 +1,7 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget object Versions { - const val KTOR_VERSION = "2.3.12" + const val KTOR_VERSION = "3.1.0" } plugins { @@ -9,7 +9,7 @@ plugins { kotlin("plugin.serialization") id("maven-publish") id("com.github.ben-manes.versions") - id("io.ktor.plugin") version "2.3.12" // Versions.KTOR_VERSION + id("io.ktor.plugin") version "3.1.0" // Versions.KTOR_VERSION // Apply the application plugin to add support for building a CLI application in Java. application } @@ -65,25 +65,27 @@ kotlin { api(project(":waltid-libraries:sdjwt:waltid-sdjwt")) api(project(":waltid-libraries:protocols:waltid-openid4vc")) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3") - implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1") - implementation("com.google.code.gson:gson:2.11.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0") + implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.2") + implementation("com.google.code.gson:gson:2.12.1") // CLI - implementation("com.github.ajalt.mordant:mordant:2.7.1") - implementation("com.github.ajalt.clikt:clikt:4.4.0") + implementation("com.github.ajalt.clikt:clikt:5.0.3") + implementation("com.github.ajalt.clikt:clikt-markdown:5.0.3") + implementation("com.github.ajalt.mordant:mordant:3.0.2") + implementation("com.github.ajalt.mordant:mordant-markdown:3.0.2") // Coroutines - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1") // Logging - implementation("io.github.oshai:kotlin-logging:7.0.0") + implementation("io.github.oshai:kotlin-logging:7.0.4") } } val commonTest by getting { dependencies { implementation(kotlin("test")) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1") } } val jvmMain by getting { @@ -92,18 +94,18 @@ kotlin { implementation("org.slf4j:slf4j-simple:2.0.16") // JOSE - implementation("com.nimbusds:nimbus-jose-jwt:9.41.1") + implementation("com.nimbusds:nimbus-jose-jwt:10.0.1") // BouncyCastle for PEM import - implementation("org.bouncycastle:bcpkix-lts8on:2.73.6") + implementation("org.bouncycastle:bcpkix-lts8on:2.73.7") } } val jvmTest by getting { dependencies { - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3") - implementation("com.wolpl.clikt-testkit:clikt-testkit:2.0.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0") + implementation("com.wolpl.clikt-testkit:clikt-testkit:3.0.0") - implementation("org.junit.jupiter:junit-jupiter-params:5.11.0") + implementation("org.junit.jupiter:junit-jupiter-params:5.11.4") // Ktor server implementation("io.ktor:ktor-server-core-jvm:${Versions.KTOR_VERSION}") diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/WaltIdCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/WaltIdCmd.kt index 6e8782c5f..3e226c4fc 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/WaltIdCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/WaltIdCmd.kt @@ -1,15 +1,16 @@ package id.walt.cli -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.context -import com.github.ajalt.clikt.core.subcommands +import com.github.ajalt.clikt.core.* import com.github.ajalt.clikt.parameters.groups.provideDelegate import id.walt.cli.commands.* import id.walt.cli.util.WaltIdCmdHelpOptionMessage class WaltIdCmd : CliktCommand( - name = "waltid", - help = """walt.id CLI + name = "waltid" +) { + + override fun help(context: Context) = """ + walt.id CLI The walt.id CLI is a command line tool that allows you to onboard and use a SSI (Self-Sovereign-Identity) ecosystem. You can manage @@ -103,9 +104,15 @@ class WaltIdCmd : CliktCommand( -vppa=max=2 \ -vpp minimum-credentials \ -vppa=min=1 - """, - printHelpOnEmptyArgs = true -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } + + + override val printHelpOnEmptyArgs = true + init { subcommands(KeyCmd(), DidCmd(), VCCmd(), VPCmd()) diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/Did.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/Did.kt index 24c5cbf53..33960a1db 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/Did.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/Did.kt @@ -2,13 +2,16 @@ package id.walt.cli.commands import com.github.ajalt.clikt.completion.CompletionCandidates import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.types.enum import id.walt.did.dids.DidService import kotlinx.coroutines.runBlocking -class Did : CliktCommand(help = "Run commands on DIDs") { +class Did : CliktCommand() { + + override fun help(context: Context) = "Run commands on DIDs" //private val config by findOrSetObject { mutableMapOf() } diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCmd.kt index cb818b64f..3f538747c 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCmd.kt @@ -1,16 +1,18 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.core.context import com.github.ajalt.clikt.core.subcommands import id.walt.cli.util.WaltIdCmdHelpOptionMessage class DidCmd : CliktCommand( - name = "did", - help = "DID management features.", - printHelpOnEmptyArgs = true + name = "did" ) { + override fun help(context: Context) = "DID management features." + override val printHelpOnEmptyArgs = true + init { subcommands(DidCreateCmd(), DidResolveCmd()) @@ -21,5 +23,3 @@ class DidCmd : CliktCommand( override fun run(): Unit {} } - -fun main(args: Array) = DidCmd().main(args) diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCreateCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCreateCmd.kt index 1f7a8f88e..f274b114a 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCreateCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidCreateCmd.kt @@ -1,8 +1,6 @@ package id.walt.cli.commands -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.context -import com.github.ajalt.clikt.core.terminal +import com.github.ajalt.clikt.core.* import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.flag import com.github.ajalt.clikt.parameters.options.help @@ -15,7 +13,6 @@ import id.walt.cli.util.* import id.walt.did.dids.registrar.dids.DidKeyCreateOptions import id.walt.did.dids.registrar.dids.DidWebCreateOptions import kotlinx.coroutines.runBlocking -import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import java.net.URLEncoder import kotlin.io.path.Path @@ -24,8 +21,9 @@ import kotlin.io.path.exists import kotlin.io.path.writeText class DidCreateCmd : CliktCommand( - name = "create", - help = """Create a Decentralized Identifier (DID). + name = "create" +) { + override fun help(context: Context) = """Create a Decentralized Identifier (DID). Example usage: -------------- @@ -34,8 +32,11 @@ class DidCreateCmd : CliktCommand( waltid did create -m jwk waltid did create -m web -wd example.com waltid did create -m web -wd example.com -wp /alice/bob - """ -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } init { context { diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidResolveCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidResolveCmd.kt index 8aac26f2a..de5f6e497 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidResolveCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/DidResolveCmd.kt @@ -1,7 +1,9 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.core.context +import com.github.ajalt.clikt.core.installMordantMarkdown import com.github.ajalt.clikt.parameters.options.help import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.options.required @@ -14,15 +16,20 @@ import id.walt.cli.util.WaltIdCmdHelpOptionMessage import kotlinx.coroutines.runBlocking class DidResolveCmd : CliktCommand( - name = "resolve", - help = """Resolve the document associated with the input Decentralized Identifier (DID). + name = "resolve" +) { + override fun help(context: Context) = """Resolve the document associated with the input Decentralized Identifier (DID). Example usage: -------------- waltid did resolve -d did:key:z6Mkp7AVwvWxnsNDuSSbf19sgKzrx223WY95AqZyAGifFVyV - """, - printHelpOnEmptyArgs = true -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } + + override val printHelpOnEmptyArgs = true init { context { @@ -30,7 +37,7 @@ class DidResolveCmd : CliktCommand( } } - val print : PrettyPrinter = PrettyPrinter(this) + val print: PrettyPrinter = PrettyPrinter(this) private val did by option("-d", "-did") .help("The DID to be resolved.") .required() @@ -46,4 +53,4 @@ class DidResolveCmd : CliktCommand( print.box(prettyJsonString) } } -} \ No newline at end of file +} diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyCmd.kt index 30551d88e..31901abe3 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyCmd.kt @@ -1,17 +1,19 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.core.context import com.github.ajalt.clikt.core.subcommands import com.github.ajalt.clikt.parameters.groups.provideDelegate import id.walt.cli.util.WaltIdCmdHelpOptionMessage class KeyCmd : CliktCommand( - name = "key", - help = "Key management features.", - printHelpOnEmptyArgs = true + name = "key" ) { + override fun help(context: Context) = "Key management features." + override val printHelpOnEmptyArgs = true + init { subcommands(KeyGenerateCmd(), KeyConvertCmd()) @@ -24,5 +26,3 @@ class KeyCmd : CliktCommand( override fun run() = Unit } - -fun main(args: Array) = KeyCmd().main(args) diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyConvertCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyConvertCmd.kt index 9c6791bc7..2b69c25c5 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyConvertCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyConvertCmd.kt @@ -8,6 +8,7 @@ import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.options.required import com.github.ajalt.clikt.parameters.types.file import com.github.ajalt.mordant.terminal.YesNoPrompt +import com.github.ajalt.mordant.terminal.prompt import id.walt.cli.util.PrettyPrinter import id.walt.cli.util.WaltIdCmdHelpOptionMessage import id.walt.cli.util.getNormalizedPath @@ -39,17 +40,23 @@ enum class KeyFileFormat { } class KeyConvertCmd : CliktCommand( - name = "convert", - printHelpOnEmptyArgs = true, - help = """Convert key files between PEM and JWK formats. + name = "convert" +) { + + override fun help(context: Context) = """Convert key files between PEM and JWK formats. Example usage: --------------- waltid key convert -i myRsaKey.pem waltid key convert -i myEncryptedRsaKey.pem -p 123123 -o myRsaKey.jwk - """, + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } + + override val printHelpOnEmptyArgs = true -) { init { context { diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyGenerateCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyGenerateCmd.kt index 71c581e64..af781e7b3 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyGenerateCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/KeyGenerateCmd.kt @@ -1,8 +1,6 @@ package id.walt.cli.commands -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.context -import com.github.ajalt.clikt.core.terminal +import com.github.ajalt.clikt.core.* import com.github.ajalt.clikt.parameters.groups.provideDelegate import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.help @@ -22,8 +20,10 @@ import kotlin.io.path.exists import kotlin.io.path.writeText class KeyGenerateCmd : CliktCommand( - name = "generate", - help = """Generates a new cryptographic key. + name = "generate" +) { + + override fun help(context: Context) = """Generates a new cryptographic key. Example usage: --------------- @@ -31,8 +31,11 @@ class KeyGenerateCmd : CliktCommand( waltid key generate -t secp256k1 waltid key generate -t RSA waltid key generate -t RSA -o myRsaKey.json - """ -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } init { context { diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCCmd.kt index b29d710e1..187ecd9ca 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCCmd.kt @@ -1,16 +1,18 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.core.context import com.github.ajalt.clikt.core.subcommands import id.walt.cli.util.WaltIdCmdHelpOptionMessage class VCCmd : CliktCommand( name = "vc", - help = """Sign and apply a wide range verification policies on W3C Verifiable Credentials (VCs).""", - printHelpOnEmptyArgs = true, ) { + override fun help(context: Context) = """Sign and apply a wide range verification policies on W3C Verifiable Credentials (VCs).""" + override val printHelpOnEmptyArgs = true + init { subcommands(VCSignCmd(), VCVerifyCmd()) @@ -21,5 +23,3 @@ class VCCmd : CliktCommand( override fun run(): Unit {} } - -fun main(args: Array) = VCCmd().main(args) diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCSignCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCSignCmd.kt index 252acec0b..36ec28ad6 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCSignCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCSignCmd.kt @@ -1,9 +1,6 @@ package id.walt.cli.commands -import com.github.ajalt.clikt.core.BadParameterValue -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.context -import com.github.ajalt.clikt.core.terminal +import com.github.ajalt.clikt.core.* import com.github.ajalt.clikt.parameters.arguments.argument import com.github.ajalt.clikt.parameters.options.flag import com.github.ajalt.clikt.parameters.options.help @@ -19,8 +16,10 @@ import kotlin.io.path.Path import kotlin.io.path.absolutePathString class VCSignCmd : CliktCommand( - name = "sign", - help = """Sign a W3C Verifiable Credential (VC). + name = "sign" +) { + + override fun help(context: Context) = """Sign a W3C Verifiable Credential (VC). Example usage: -------------- @@ -29,9 +28,13 @@ class VCSignCmd : CliktCommand( -s did:key:z6Mkjm2gaGsodGchfG4k8P6KwCHZsVEPZho5VuEbY94qiBB9 \ -i did:key:z6Mkp7AVwvWxnsNDuSSbf19sgKzrx223WY95AqZyAGifFVyV \ ./myVC.json - """, - printHelpOnEmptyArgs = true, -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } + + override val printHelpOnEmptyArgs = true init { context { diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCVerifyCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCVerifyCmd.kt index 1b6463367..2a26202d2 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCVerifyCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VCVerifyCmd.kt @@ -1,9 +1,6 @@ package id.walt.cli.commands -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.FileNotFound -import com.github.ajalt.clikt.core.MissingOption -import com.github.ajalt.clikt.core.context +import com.github.ajalt.clikt.core.* import com.github.ajalt.clikt.parameters.arguments.argument import com.github.ajalt.clikt.parameters.options.associate import com.github.ajalt.clikt.parameters.options.help @@ -14,19 +11,19 @@ import com.github.ajalt.clikt.parameters.types.file import id.walt.cli.util.PrettyPrinter import id.walt.cli.util.VCUtil import id.walt.cli.util.WaltIdCmdHelpOptionMessage +import id.walt.crypto.utils.JsonUtils.toJsonElement import id.walt.policies.ExpirationDatePolicyException -import id.walt.policies.JsonSchemaVerificationException import id.walt.policies.NotBeforePolicyException import id.walt.policies.models.PolicyResult -import id.walt.crypto.utils.JsonUtils.toJsonElement import kotlinx.coroutines.runBlocking import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonElement import java.io.File class VCVerifyCmd : CliktCommand( - name = "verify", - help = """Apply a wide range of verification policies on a W3C Verifiable Credential (VC). + name = "verify" +) { + override fun help(context: Context) = """Apply a wide range of verification policies on a W3C Verifiable Credential (VC). Example usage: ---------------- @@ -34,9 +31,13 @@ class VCVerifyCmd : CliktCommand( waltid vc verify -p signature ./myVC.signed.json waltid vc verify -p schema --arg=schema=mySchema.json ./myVC.signed.json waltid vc verify -p signature -p schema --arg=schema=mySchema.json ./myVC.signed.json - """, - printHelpOnEmptyArgs = true, -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } + + override val printHelpOnEmptyArgs = true init { context { diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCmd.kt index 875a5ccfc..1c4f9f338 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCmd.kt @@ -1,16 +1,18 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.core.context import com.github.ajalt.clikt.core.subcommands import id.walt.cli.util.WaltIdCmdHelpOptionMessage class VPCmd : CliktCommand( - name = "vp", - help = "Create and apply a wide range of verification policies on W3C Verifiable Presentations (VPs).", - printHelpOnEmptyArgs = true + name = "vp" ) { + override fun help(context: Context) = "Create and apply a wide range of verification policies on W3C Verifiable Presentations (VPs)." + override val printHelpOnEmptyArgs = true + init { subcommands(VPCreateCmd(), VPVerifyCmd()) @@ -21,5 +23,3 @@ class VPCmd : CliktCommand( override fun run(): Unit {} } - -fun main(args: Array) = VPCmd().main(args) \ No newline at end of file diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCreateCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCreateCmd.kt index 4bd665773..af18a6703 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCreateCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPCreateCmd.kt @@ -1,8 +1,6 @@ package id.walt.cli.commands -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.context -import com.github.ajalt.clikt.core.terminal +import com.github.ajalt.clikt.core.* import com.github.ajalt.clikt.parameters.options.* import com.github.ajalt.clikt.parameters.types.file import com.github.ajalt.clikt.parameters.types.path @@ -32,8 +30,9 @@ import kotlin.io.path.readText import kotlin.io.path.writeText class VPCreateCmd : CliktCommand( - name = "create", - help = """Create a W3C Verifiable Presentation (VP). + name = "create" +) { + override fun help(context: Context) = """Create a W3C Verifiable Presentation (VP). Example usage: ---------------- @@ -61,9 +60,13 @@ class VPCreateCmd : CliktCommand( -pd ./presDef.json \ -vp ./outputVp.jwt \ -ps ./outputPresSub.json - """, - printHelpOnEmptyArgs = true, -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } + + override val printHelpOnEmptyArgs = true init { context { diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPVerifyCmd.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPVerifyCmd.kt index b3fb56069..213608af4 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPVerifyCmd.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/commands/VPVerifyCmd.kt @@ -1,17 +1,12 @@ package id.walt.cli.commands -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.MissingOption -import com.github.ajalt.clikt.core.context +import com.github.ajalt.clikt.core.* import com.github.ajalt.clikt.parameters.options.* import com.github.ajalt.clikt.parameters.types.choice import com.github.ajalt.clikt.parameters.types.path import id.walt.cli.util.JsonUtils.toJsonPrimitive import id.walt.cli.util.PrettyPrinter import id.walt.cli.util.WaltIdCmdHelpOptionMessage -import id.walt.policies.models.PolicyRequest -import id.walt.policies.models.PolicyResult -import id.walt.policies.models.PresentationVerificationResponse import id.walt.crypto.utils.JsonUtils.toJsonElement import id.walt.did.dids.DidService import id.walt.oid4vc.data.dif.PresentationDefinition @@ -20,6 +15,9 @@ import id.walt.policies.ExpirationDatePolicyException import id.walt.policies.NotBeforePolicyException import id.walt.policies.PolicyManager import id.walt.policies.Verifier +import id.walt.policies.models.PolicyRequest +import id.walt.policies.models.PolicyResult +import id.walt.policies.models.PresentationVerificationResponse import kotlinx.coroutines.runBlocking import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject @@ -27,8 +25,9 @@ import kotlin.io.path.readText import kotlin.time.Duration class VPVerifyCmd : CliktCommand( - name = "verify", - help = """Apply a wide range of verification policies on a W3C Verifiable Presentation (VP). + name = "verify" +) { + override fun help(context: Context) = """Apply a wide range of verification policies on a W3C Verifiable Presentation (VP). Example usage: ---------------- @@ -54,9 +53,13 @@ class VPVerifyCmd : CliktCommand( -vppa=min=1 \ -vcp allowed-issuer \ -vcpa=issuer=did:key:z6Mkp7AVwvWxnsNDuSSbf19sgKzrx223WY95AqZyAGifFVyV - """, - printHelpOnEmptyArgs = true, -) { + """.replace("\n", " \n") + + init { + installMordantMarkdown() + } + + override val printHelpOnEmptyArgs = true init { context { @@ -266,7 +269,8 @@ class VPVerifyCmd : CliktCommand( private fun verify(params: VpVerifyParameters): PresentationVerificationResponse { try { return runBlocking { - val presentationFormat = params.presentationSubmission.descriptorMap.firstOrNull()?.format ?: throw IllegalArgumentException("No presentation submission or presentation format found.") + val presentationFormat = params.presentationSubmission.descriptorMap.firstOrNull()?.format + ?: throw IllegalArgumentException("No presentation submission or presentation format found.") Verifier.verifyPresentation( presentationFormat, vpToken = params.vp, diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/presexch/PresentationSubmissionBuilder.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/presexch/PresentationSubmissionBuilder.kt index bd99a7473..e00bd6a68 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/presexch/PresentationSubmissionBuilder.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/presexch/PresentationSubmissionBuilder.kt @@ -3,7 +3,10 @@ package id.walt.cli.presexch import id.walt.cli.models.Credential import id.walt.credentials.utils.VCFormat import id.walt.crypto.utils.JwsUtils.decodeJws -import id.walt.oid4vc.data.dif.* +import id.walt.oid4vc.data.dif.DescriptorMapping +import id.walt.oid4vc.data.dif.PresentationDefinition +import id.walt.oid4vc.data.dif.PresentationSubmission +import id.walt.oid4vc.data.dif.PresentationSubmissionSerializer import kotlinx.serialization.json.* class PresentationSubmissionBuilder( diff --git a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/util/VCUtil.kt b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/util/VCUtil.kt index 496531cbf..4cc85f2c9 100644 --- a/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/util/VCUtil.kt +++ b/waltid-applications/waltid-cli/src/commonMain/kotlin/id/walt/cli/util/VCUtil.kt @@ -2,12 +2,12 @@ package id.walt.cli.util import id.walt.credentials.issuance.Issuer.mergingJwtIssue import id.walt.credentials.vc.vcs.W3CVC +import id.walt.crypto.keys.jwk.JWKKey +import id.walt.did.dids.DidService import id.walt.policies.PolicyManager import id.walt.policies.Verifier import id.walt.policies.models.PolicyRequest import id.walt.policies.models.PolicyResult -import id.walt.crypto.keys.jwk.JWKKey -import id.walt.did.dids.DidService import kotlinx.coroutines.runBlocking import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonElement diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdCmdTest.kt index b4daa585f..71a06cdc8 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdCmdTest.kt @@ -1,6 +1,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import id.walt.cli.WaltIdCmd import kotlinx.coroutines.test.runTest @@ -44,4 +45,4 @@ class WaltIdCmdTest { val result = WaltIdCmd().test(listOf("--help")) assertContains(result.stdout, "Commands:(\n+.*)+vc".toRegex(RegexOption.MULTILINE)) } -} \ No newline at end of file +} diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCmdTest.kt index 4f64e9abb..7640ed94f 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCmdTest.kt @@ -1,6 +1,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import kotlinx.coroutines.test.runTest import kotlin.test.Test @@ -44,4 +45,4 @@ class WaltIdDidCmdTest { val result = command.test() assertContains(result.stdout, "resolve") } -} \ No newline at end of file +} diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCreateCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCreateCmdTest.kt index c128fe646..27430e114 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCreateCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidCreateCmdTest.kt @@ -2,6 +2,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.InvalidFileFormat import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import id.walt.cli.util.getResourcePath import id.walt.did.utils.randomUUID diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidResolveCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidResolveCmdTest.kt index 46ebc2423..d7e009560 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidResolveCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdDidResolveCmdTest.kt @@ -1,5 +1,6 @@ package id.walt.cli.commands +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import id.walt.cli.util.getResourcePath import id.walt.did.utils.randomUUID @@ -172,4 +173,4 @@ class WaltIdDidResolveCmdTest { } } } -} \ No newline at end of file +} diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyCmdTest.kt index edefba032..ec9bd1fb1 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyCmdTest.kt @@ -1,6 +1,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import kotlinx.coroutines.test.runTest import kotlin.test.Test diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyConvertCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyConvertCmdTest.kt index cf3bd8702..c395a089c 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyConvertCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyConvertCmdTest.kt @@ -49,12 +49,9 @@ class WaltIdKeyConvertCmdTest { fun `should fail if --input is provided with no value`() { val command = KeyConvertCmd() - val failure = assertFailsWith { + assertFails { command.parse(listOf("-i")) } - - assertTrue(failure.errors.any { it is IncorrectOptionValueCount }) - assertTrue(failure.errors.any { it is MissingOption }) } @Test @@ -232,16 +229,20 @@ class WaltIdKeyConvertCmdTest { val inputFilePath = getResourcePath(this, inputFileName) class PassphraseTerminal : TerminalInterface { - override val info: TerminalInfo - get() = TerminalInfo( - width = 0, - height = 0, + override fun info( + ansiLevel: AnsiLevel?, + hyperlinks: Boolean?, + outputInteractive: Boolean?, + inputInteractive: Boolean? + ): TerminalInfo { + return TerminalInfo( ansiLevel = AnsiLevel.NONE, ansiHyperLinks = false, outputInteractive = false, inputInteractive = false, - crClearsLine = false + supportsAnsiCursor = false ) + } override fun completePrintRequest(request: PrintRequest) { StringWriter().write(request.text) diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyGenerateCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyGenerateCmdTest.kt index 1a61f4121..ff39bde8c 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyGenerateCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdKeyGenerateCmdTest.kt @@ -3,6 +3,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.BadParameterValue import com.github.ajalt.clikt.core.IncorrectOptionValueCount import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.CliktCommandTestResult import com.github.ajalt.clikt.testing.test import id.walt.crypto.keys.KeyType @@ -211,4 +212,4 @@ class WaltIdKeyGenerateCmdTest { assertContains(result.stdout, it.toRegex()) } } -} \ No newline at end of file +} diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCCmdTest.kt index 7b5695eaa..6613a6b77 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCCmdTest.kt @@ -1,6 +1,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import kotlinx.coroutines.test.runTest import kotlin.test.Test @@ -18,11 +19,11 @@ class WaltIdVCCmdTest { command.parse(emptyList()) } - val helpMsg = """Sign and apply a wide range verification policies on W3C Verifiable Credentials (VCs).""" + val helpMsg = """Sign and apply a wide range verification policies on W3C Verifiable""" result1.message?.let { assertTrue(it.contains(helpMsg)) } val result2 = command.test(width = 800, height = 800) - assertTrue(result2.output.contains(helpMsg, ignoreCase = true)) + assertContains(result2.output, helpMsg) } @Test @@ -43,4 +44,4 @@ class WaltIdVCCmdTest { val result = command.test() assertContains(result.stdout, "verify") } -} \ No newline at end of file +} diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCSignCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCSignCmdTest.kt index 644e2547b..84ee57681 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCSignCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCSignCmdTest.kt @@ -3,6 +3,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.MissingArgument import com.github.ajalt.clikt.core.MissingOption import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import org.junit.jupiter.api.assertDoesNotThrow import kotlin.test.* @@ -56,7 +57,7 @@ class WaltIdVCSignCmdTest { fun `should accept one positional argument after --options`() { val result = command.test(listOf("--help"), width = 800, height = 800) - assertContains(result.stdout, "The file path to the Verifiable Credential that will be signed (required).") + assertContains(result.output, "The file path to the Verifiable Credential that will") } @Test diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCVerifyCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCVerifyCmdTest.kt index 0a8d08293..0e1e36438 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCVerifyCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVCVerifyCmdTest.kt @@ -2,11 +2,11 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.MissingOption import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import id.walt.cli.util.KeyUtil import id.walt.cli.util.VCUtil import io.ktor.http.* -import io.ktor.server.application.* import io.ktor.server.engine.* import io.ktor.server.netty.* import io.ktor.server.response.* @@ -56,7 +56,7 @@ class WaltIdVCVerifyCmdTest { val schemaFilePath = "${resourcesPath}/schema/OpenBadgeV3_schema.json" - private val webhookTestServer: NettyApplicationEngine + private val webhookTestServer: EmbeddedServer private val webhookTestServerURL: String private val webhookTestServerSuccessURL: String private val webhookTestServerFailURL: String @@ -78,8 +78,8 @@ class WaltIdVCVerifyCmdTest { } }.start(false) runBlocking { - url = "http://" + webhookTestServer.resolvedConnectors() - .first().host + ":${webhookTestServer.resolvedConnectors().first().port}" + url = "http://" + webhookTestServer.engine.resolvedConnectors() + .first().host + ":${webhookTestServer.engine.resolvedConnectors().first().port}" } webhookTestServerURL = url webhookTestServerSuccessURL = "$webhookTestServerURL/success" diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVPCreateCmdTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVPCreateCmdTest.kt index c3f35808d..3588dcbbb 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVPCreateCmdTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/commands/WaltIdVPCreateCmdTest.kt @@ -1,6 +1,7 @@ package id.walt.cli.commands import com.github.ajalt.clikt.core.PrintHelpMessage +import com.github.ajalt.clikt.core.parse import com.github.ajalt.clikt.testing.test import id.walt.cli.util.getResourcePath import id.walt.did.utils.randomUUID @@ -234,4 +235,4 @@ class WaltIdVPCreateCmdTest { val outputPresSub = Json.decodeFromString(File(outputPresSubPath).readText()) assertEquals(expectedPresSub.descriptorMap, outputPresSub.descriptorMap, "Presentation submissions descriptor maps do not match") } -} \ No newline at end of file +} diff --git a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/verifiers/ExpirationDatePolicyTest.kt b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/verifiers/ExpirationDatePolicyTest.kt index 0331308d0..071a964b3 100644 --- a/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/verifiers/ExpirationDatePolicyTest.kt +++ b/waltid-applications/waltid-cli/src/jvmTest/kotlin/id/walt/cli/verifiers/ExpirationDatePolicyTest.kt @@ -1,11 +1,11 @@ package id.walt.cli.verifiers +import id.walt.crypto.utils.JwsUtils.decodeJws import id.walt.policies.ExpirationDatePolicyException import id.walt.policies.PolicyManager import id.walt.policies.Verifier import id.walt.policies.models.PolicyRequest import id.walt.policies.policies.ExpirationDatePolicy -import id.walt.crypto.utils.JwsUtils.decodeJws import kotlinx.coroutines.runBlocking import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject diff --git a/waltid-applications/waltid-openid4vc-ios-testApp/shared/build.gradle.kts b/waltid-applications/waltid-openid4vc-ios-testApp/shared/build.gradle.kts index 74d95af4d..6fba93497 100644 --- a/waltid-applications/waltid-openid4vc-ios-testApp/shared/build.gradle.kts +++ b/waltid-applications/waltid-openid4vc-ios-testApp/shared/build.gradle.kts @@ -24,7 +24,7 @@ kotlin { } sourceSets { - val ktor_version = "2.3.12" + val ktor_version = "3.1.0" commonMain.dependencies { implementation(project(":waltid-libraries:sdjwt:waltid-sdjwt")) @@ -53,7 +53,7 @@ kotlin { iosSimulatorArm64Main.dependsOn(this) dependencies { implementation(project(":waltid-libraries:crypto:waltid-crypto-ios")) - implementation("io.ktor:ktor-client-darwin:2.3.12") + implementation("io.ktor:ktor-client-darwin:3.1.0") } } } diff --git a/waltid-applications/waltid-web-portal/components/sections/IssueSection.tsx b/waltid-applications/waltid-web-portal/components/sections/IssueSection.tsx index 5827a7284..0f7f734a8 100644 --- a/waltid-applications/waltid-web-portal/components/sections/IssueSection.tsx +++ b/waltid-applications/waltid-web-portal/components/sections/IssueSection.tsx @@ -1,21 +1,17 @@ -import RowCredential from '@/components/walt/credential/RowCredential'; -import Dropdown from '@/components/walt/forms/Dropdown'; -import { - AuthenticationMethods, - AvailableCredential, - VpProfiles, -} from '@/types/credentials'; -import Checkbox from '@/components/walt/forms/Checkbox'; -import InputField from '@/components/walt/forms/Input'; -import Button from '@/components/walt/button/Button'; -import WaltIcon from '@/components/walt/logo/WaltIcon'; -import { CredentialsContext, EnvContext } from '@/pages/_app'; -import React, { useState } from 'react'; -import { useRouter } from 'next/router'; -import { getOfferUrl } from '@/utils/getOfferUrl'; -import { sendToWebWallet } from '@/utils/sendToWebWallet'; -import nextConfig from '@/next.config'; -import { LockClosedIcon } from '@heroicons/react/24/outline'; +import RowCredential from "@/components/walt/credential/RowCredential"; +import Dropdown from "@/components/walt/forms/Dropdown"; +import { AuthenticationMethods, AvailableCredential, VpProfiles } from "@/types/credentials"; +import Checkbox from "@/components/walt/forms/Checkbox"; +import InputField from "@/components/walt/forms/Input"; +import Button from "@/components/walt/button/Button"; +import WaltIcon from "@/components/walt/logo/WaltIcon"; +import { CredentialsContext, EnvContext } from "@/pages/_app"; +import React, { useState } from "react"; +import { useRouter } from "next/router"; +import { getOfferUrl } from "@/utils/getOfferUrl"; +import { sendToWebWallet } from "@/utils/sendToWebWallet"; +import nextConfig from "@/next.config"; +import { LockClosedIcon } from "@heroicons/react/24/outline"; export default function IssueSection() { const env = React.useContext(EnvContext); diff --git a/waltid-applications/waltid-web-portal/components/sections/VerificationSection.tsx b/waltid-applications/waltid-web-portal/components/sections/VerificationSection.tsx index c5b5cb77b..80d671474 100644 --- a/waltid-applications/waltid-web-portal/components/sections/VerificationSection.tsx +++ b/waltid-applications/waltid-web-portal/components/sections/VerificationSection.tsx @@ -1,12 +1,12 @@ -import RowCredential from '@/components/walt/credential/RowCredential'; -import PolicyListItem from '@/components/walt/policy/PolicyListItem'; -import { AvailableCredential } from '@/types/credentials'; -import WaltIcon from '@/components/walt/logo/WaltIcon'; -import InputField from '@/components/walt/forms/Input'; -import Button from '@/components/walt/button/Button'; -import React, { useContext, useState } from 'react'; -import { CredentialsContext } from '@/pages/_app'; -import { useRouter } from 'next/router'; +import RowCredential from "@/components/walt/credential/RowCredential"; +import PolicyListItem from "@/components/walt/policy/PolicyListItem"; +import { AvailableCredential } from "@/types/credentials"; +import WaltIcon from "@/components/walt/logo/WaltIcon"; +import InputField from "@/components/walt/forms/Input"; +import Button from "@/components/walt/button/Button"; +import React, { useContext, useState } from "react"; +import { CredentialsContext } from "@/pages/_app"; +import { useRouter } from "next/router"; export default function VerificationSection() { const router = useRouter(); diff --git a/waltid-applications/waltid-web-portal/components/walt/button/BackButton.tsx b/waltid-applications/waltid-web-portal/components/walt/button/BackButton.tsx index 46a3d2379..f3d93aedf 100644 --- a/waltid-applications/waltid-web-portal/components/walt/button/BackButton.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/button/BackButton.tsx @@ -1,4 +1,4 @@ -import { useRouter } from 'next/router'; +import { useRouter } from "next/router"; export default function BackButton() { const router = useRouter(); diff --git a/waltid-applications/waltid-web-portal/components/walt/button/Button.tsx b/waltid-applications/waltid-web-portal/components/walt/button/Button.tsx index 78dd2eaec..4ab091414 100644 --- a/waltid-applications/waltid-web-portal/components/walt/button/Button.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/button/Button.tsx @@ -1,5 +1,5 @@ -import { ReactNode } from 'react'; -import { AiOutlineLoading3Quarters } from 'react-icons/ai'; +import { ReactNode } from "react"; +import { AiOutlineLoading3Quarters } from "react-icons/ai"; type ButtonSize = 'sm' | 'md' | 'lg' | 'xl'; diff --git a/waltid-applications/waltid-web-portal/components/walt/credential/Credential.tsx b/waltid-applications/waltid-web-portal/components/walt/credential/Credential.tsx index e986a10f6..a66275638 100644 --- a/waltid-applications/waltid-web-portal/components/walt/credential/Credential.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/credential/Credential.tsx @@ -1,6 +1,6 @@ 'use client'; -import WaltIcon from '@/components/walt/logo/WaltIcon'; +import WaltIcon from "@/components/walt/logo/WaltIcon"; type Props = { id: string; diff --git a/waltid-applications/waltid-web-portal/components/walt/credential/RowCredential.tsx b/waltid-applications/waltid-web-portal/components/walt/credential/RowCredential.tsx index 412fa768f..47db298cc 100644 --- a/waltid-applications/waltid-web-portal/components/walt/credential/RowCredential.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/credential/RowCredential.tsx @@ -1,12 +1,8 @@ -import { - AvailableCredential, - CredentialFormats, - DIDMethods, -} from '@/types/credentials'; -import EditCredentialModal from '../modal/EditCredentialModal'; -import { PencilSquareIcon } from '@heroicons/react/24/outline'; -import Dropdown from '@/components/walt/forms/Dropdown'; -import React from 'react'; +import { AvailableCredential, CredentialFormats, DIDMethods } from "@/types/credentials"; +import EditCredentialModal from "../modal/EditCredentialModal"; +import { PencilSquareIcon } from "@heroicons/react/24/outline"; +import Dropdown from "@/components/walt/forms/Dropdown"; +import React from "react"; type Props = { credentialToEdit: AvailableCredential; diff --git a/waltid-applications/waltid-web-portal/components/walt/forms/Checkbox.tsx b/waltid-applications/waltid-web-portal/components/walt/forms/Checkbox.tsx index cdbc52100..17b0021bd 100644 --- a/waltid-applications/waltid-web-portal/components/walt/forms/Checkbox.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/forms/Checkbox.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import { ReactNode } from "react"; type Props = { value: boolean; diff --git a/waltid-applications/waltid-web-portal/components/walt/forms/Dropdown.tsx b/waltid-applications/waltid-web-portal/components/walt/forms/Dropdown.tsx index 2b866aa22..8b9ee32fa 100644 --- a/waltid-applications/waltid-web-portal/components/walt/forms/Dropdown.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/forms/Dropdown.tsx @@ -1,6 +1,6 @@ -import { Fragment } from 'react'; -import { Listbox, Transition } from '@headlessui/react'; -import { CheckIcon, ChevronUpDownIcon } from '@heroicons/react/20/solid'; +import { Fragment } from "react"; +import { Listbox, Transition } from "@headlessui/react"; +import { CheckIcon, ChevronUpDownIcon } from "@heroicons/react/20/solid"; type Props = { values: String[]; diff --git a/waltid-applications/waltid-web-portal/components/walt/forms/SelectButton.tsx b/waltid-applications/waltid-web-portal/components/walt/forms/SelectButton.tsx index 47e9bd079..9d8b79dd7 100644 --- a/waltid-applications/waltid-web-portal/components/walt/forms/SelectButton.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/forms/SelectButton.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import { ReactNode } from "react"; type Props = { children: ReactNode; diff --git a/waltid-applications/waltid-web-portal/components/walt/logo/Icon.tsx b/waltid-applications/waltid-web-portal/components/walt/logo/Icon.tsx index 8ec085d0a..188cb2d3a 100644 --- a/waltid-applications/waltid-web-portal/components/walt/logo/Icon.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/logo/Icon.tsx @@ -1,4 +1,4 @@ -import Image from 'next/image'; +import Image from "next/image"; type Props = { height: number; diff --git a/waltid-applications/waltid-web-portal/components/walt/modal/BaseModal.tsx b/waltid-applications/waltid-web-portal/components/walt/modal/BaseModal.tsx index d103a2c4c..511bf8436 100644 --- a/waltid-applications/waltid-web-portal/components/walt/modal/BaseModal.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/modal/BaseModal.tsx @@ -1,8 +1,8 @@ -import { Fragment, ReactNode } from 'react'; -import { Dialog, Transition } from '@headlessui/react'; -import { ChevronLeftIcon, XMarkIcon } from '@heroicons/react/24/outline'; -import HSpacer from '@/components/walt/spacer/HSpacer'; -import WaltIcon from '@/components/walt/logo/WaltIcon'; +import { Fragment, ReactNode } from "react"; +import { Dialog, Transition } from "@headlessui/react"; +import { ChevronLeftIcon, XMarkIcon } from "@heroicons/react/24/outline"; +import HSpacer from "@/components/walt/spacer/HSpacer"; +import WaltIcon from "@/components/walt/logo/WaltIcon"; type ModalProps = { show: boolean; diff --git a/waltid-applications/waltid-web-portal/components/walt/modal/CustomCredentialModal.tsx b/waltid-applications/waltid-web-portal/components/walt/modal/CustomCredentialModal.tsx index adbe3d626..74043e63b 100644 --- a/waltid-applications/waltid-web-portal/components/walt/modal/CustomCredentialModal.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/modal/CustomCredentialModal.tsx @@ -1,7 +1,7 @@ -import BaseModal from '@/components/walt/modal/BaseModal'; -import { CredentialsContext } from '@/pages/_app'; -import Button from '../button/Button'; -import React, { useState } from 'react'; +import BaseModal from "@/components/walt/modal/BaseModal"; +import { CredentialsContext } from "@/pages/_app"; +import Button from "../button/Button"; +import React, { useState } from "react"; type Props = { show: boolean; diff --git a/waltid-applications/waltid-web-portal/components/walt/modal/EditCredentialModal.tsx b/waltid-applications/waltid-web-portal/components/walt/modal/EditCredentialModal.tsx index b96d7c68a..8ae11b089 100644 --- a/waltid-applications/waltid-web-portal/components/walt/modal/EditCredentialModal.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/modal/EditCredentialModal.tsx @@ -1,6 +1,6 @@ -import React from 'react'; -import Button from '@/components/walt/button/Button'; -import BaseModal from '@/components/walt/modal/BaseModal'; +import React from "react"; +import Button from "@/components/walt/button/Button"; +import BaseModal from "@/components/walt/modal/BaseModal"; type Props = { show: boolean; diff --git a/waltid-applications/waltid-web-portal/components/walt/policy/PolicyListItem.tsx b/waltid-applications/waltid-web-portal/components/walt/policy/PolicyListItem.tsx index 8b2fe8eff..559b6aa67 100644 --- a/waltid-applications/waltid-web-portal/components/walt/policy/PolicyListItem.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/policy/PolicyListItem.tsx @@ -1,4 +1,4 @@ -import Checkbox from '@/components/walt/forms/Checkbox'; +import Checkbox from "@/components/walt/forms/Checkbox"; type Props = { name: string; diff --git a/waltid-applications/waltid-web-portal/components/walt/spacer/HSpacer.tsx b/waltid-applications/waltid-web-portal/components/walt/spacer/HSpacer.tsx index 8e4417ae2..6785a1630 100644 --- a/waltid-applications/waltid-web-portal/components/walt/spacer/HSpacer.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/spacer/HSpacer.tsx @@ -1,4 +1,4 @@ -import Spacer, { SpacerProps } from '@/components/walt/spacer/Spacer'; +import Spacer, { SpacerProps } from "@/components/walt/spacer/Spacer"; type Props = Pick; diff --git a/waltid-applications/waltid-web-portal/components/walt/spacer/VSpacer.tsx b/waltid-applications/waltid-web-portal/components/walt/spacer/VSpacer.tsx index 95f419046..79374499d 100644 --- a/waltid-applications/waltid-web-portal/components/walt/spacer/VSpacer.tsx +++ b/waltid-applications/waltid-web-portal/components/walt/spacer/VSpacer.tsx @@ -1,4 +1,4 @@ -import Spacer, { SpacerProps } from '@/components/walt/spacer/Spacer'; +import Spacer, { SpacerProps } from "@/components/walt/spacer/Spacer"; type Props = Pick; diff --git a/waltid-applications/waltid-web-portal/pages/_app.tsx b/waltid-applications/waltid-web-portal/pages/_app.tsx index dd21be6d8..659bc1bbb 100644 --- a/waltid-applications/waltid-web-portal/pages/_app.tsx +++ b/waltid-applications/waltid-web-portal/pages/_app.tsx @@ -1,8 +1,8 @@ -import React from 'react'; -import axios from 'axios'; -import '@/styles/globals.css'; -import type { AppProps } from 'next/app'; -import { AvailableCredential } from '@/types/credentials'; +import React from "react"; +import axios from "axios"; +import "@/styles/globals.css"; +import type { AppProps } from "next/app"; +import { AvailableCredential } from "@/types/credentials"; export const EnvContext = React.createContext({} as { [key: string]: string }); export const CredentialsContext = React.createContext([ diff --git a/waltid-applications/waltid-web-portal/pages/_document.tsx b/waltid-applications/waltid-web-portal/pages/_document.tsx index 91d6a40d7..25ce8aeac 100644 --- a/waltid-applications/waltid-web-portal/pages/_document.tsx +++ b/waltid-applications/waltid-web-portal/pages/_document.tsx @@ -1,5 +1,5 @@ -import { Head, Html, Main, NextScript } from 'next/document'; -import Footer from '@/components/sections/Footer'; +import { Head, Html, Main, NextScript } from "next/document"; +import Footer from "@/components/sections/Footer"; export default function Document() { return ( diff --git a/waltid-applications/waltid-web-portal/pages/api/env.ts b/waltid-applications/waltid-web-portal/pages/api/env.ts index f8a8e7772..bcf91a6ef 100644 --- a/waltid-applications/waltid-web-portal/pages/api/env.ts +++ b/waltid-applications/waltid-web-portal/pages/api/env.ts @@ -1,4 +1,4 @@ -import type { NextApiRequest, NextApiResponse } from 'next'; +import type { NextApiRequest, NextApiResponse } from "next"; type ResponseData = {}; diff --git a/waltid-applications/waltid-web-portal/pages/credentials.tsx b/waltid-applications/waltid-web-portal/pages/credentials.tsx index b5106a277..01cba8373 100644 --- a/waltid-applications/waltid-web-portal/pages/credentials.tsx +++ b/waltid-applications/waltid-web-portal/pages/credentials.tsx @@ -1,12 +1,12 @@ -import { useRouter } from 'next/router'; -import { ViewfinderCircleIcon } from '@heroicons/react/24/outline'; -import WaltIcon from '@/components/walt/logo/WaltIcon'; -import { useEffect, useState } from 'react'; -import SelectButton from '@/components/walt/forms/SelectButton'; -import { TbRubberStamp } from 'react-icons/tb'; -import IssueSection from '@/components/sections/IssueSection'; -import VerificationSection from '@/components/sections/VerificationSection'; -import { addQueryParamToCurrentURL } from '@/lib/helper/addQueryParamToCurrentURL'; +import { useRouter } from "next/router"; +import { ViewfinderCircleIcon } from "@heroicons/react/24/outline"; +import WaltIcon from "@/components/walt/logo/WaltIcon"; +import { useEffect, useState } from "react"; +import SelectButton from "@/components/walt/forms/SelectButton"; +import { TbRubberStamp } from "react-icons/tb"; +import IssueSection from "@/components/sections/IssueSection"; +import VerificationSection from "@/components/sections/VerificationSection"; +import { addQueryParamToCurrentURL } from "@/lib/helper/addQueryParamToCurrentURL"; const ISSUE_MODE = 'issuance'; const VERIFY_MODE = 'verification'; diff --git a/waltid-applications/waltid-web-portal/pages/failed.jsx b/waltid-applications/waltid-web-portal/pages/failed.jsx index daa8117b0..be5141f55 100644 --- a/waltid-applications/waltid-web-portal/pages/failed.jsx +++ b/waltid-applications/waltid-web-portal/pages/failed.jsx @@ -1,6 +1,6 @@ -import WaltIcon from '@/components/walt/logo/WaltIcon'; -import { XCircleIcon } from '@heroicons/react/24/outline'; -import { useState } from 'react'; +import WaltIcon from "@/components/walt/logo/WaltIcon"; +import { XCircleIcon } from "@heroicons/react/24/outline"; +import { useState } from "react"; export default function Failed() { const [verificationPolicies, setVerificationPolicies] = useState([ diff --git a/waltid-applications/waltid-web-portal/pages/index.tsx b/waltid-applications/waltid-web-portal/pages/index.tsx index 9e0d21bff..1c78c8115 100644 --- a/waltid-applications/waltid-web-portal/pages/index.tsx +++ b/waltid-applications/waltid-web-portal/pages/index.tsx @@ -1,12 +1,12 @@ -import CustomCredentialModal from '@/components/walt/modal/CustomCredentialModal'; -import { MagnifyingGlassIcon } from '@heroicons/react/24/outline'; -import Credential from '@/components/walt/credential/Credential'; -import { AvailableCredential } from '@/types/credentials'; -import Button from '@/components/walt/button/Button'; -import { CredentialsContext } from '@/pages/_app'; -import { Inter } from 'next/font/google'; -import React, { useState } from 'react'; -import { useRouter } from 'next/router'; +import CustomCredentialModal from "@/components/walt/modal/CustomCredentialModal"; +import { MagnifyingGlassIcon } from "@heroicons/react/24/outline"; +import Credential from "@/components/walt/credential/Credential"; +import { AvailableCredential } from "@/types/credentials"; +import Button from "@/components/walt/button/Button"; +import { CredentialsContext } from "@/pages/_app"; +import { Inter } from "next/font/google"; +import React, { useState } from "react"; +import { useRouter } from "next/router"; const inter = Inter({ subsets: ['latin'] }); diff --git a/waltid-applications/waltid-web-portal/pages/offer/index.tsx b/waltid-applications/waltid-web-portal/pages/offer/index.tsx index b9c7a14b0..69fb3e3f4 100644 --- a/waltid-applications/waltid-web-portal/pages/offer/index.tsx +++ b/waltid-applications/waltid-web-portal/pages/offer/index.tsx @@ -1,14 +1,14 @@ -import QRCode from 'react-qr-code'; -import Button from '@/components/walt/button/Button'; -import Icon from '@/components/walt/logo/Icon'; -import WaltIcon from '@/components/walt/logo/WaltIcon'; -import { useContext, useEffect, useState } from 'react'; -import { useRouter } from 'next/router'; -import { CredentialsContext, EnvContext } from '@/pages/_app'; -import { sendToWebWallet } from '@/utils/sendToWebWallet'; -import { getOfferUrl } from '@/utils/getOfferUrl'; -import nextConfig from '@/next.config'; -import BackButton from '@/components/walt/button/BackButton'; +import QRCode from "react-qr-code"; +import Button from "@/components/walt/button/Button"; +import Icon from "@/components/walt/logo/Icon"; +import WaltIcon from "@/components/walt/logo/WaltIcon"; +import { useContext, useEffect, useState } from "react"; +import { useRouter } from "next/router"; +import { CredentialsContext, EnvContext } from "@/pages/_app"; +import { sendToWebWallet } from "@/utils/sendToWebWallet"; +import { getOfferUrl } from "@/utils/getOfferUrl"; +import nextConfig from "@/next.config"; +import BackButton from "@/components/walt/button/BackButton"; const BUTTON_COPY_TEXT_DEFAULT = 'Copy offer URL'; const BUTTON_COPY_TEXT_COPIED = 'Copied'; diff --git a/waltid-applications/waltid-web-portal/pages/success/[sessionId].tsx b/waltid-applications/waltid-web-portal/pages/success/[sessionId].tsx index 638999199..008d55a13 100644 --- a/waltid-applications/waltid-web-portal/pages/success/[sessionId].tsx +++ b/waltid-applications/waltid-web-portal/pages/success/[sessionId].tsx @@ -1,11 +1,11 @@ -import WaltIcon from '@/components/walt/logo/WaltIcon'; -import { CheckCircleIcon } from '@heroicons/react/24/outline'; -import { useContext, useEffect, useState } from 'react'; -import { useRouter } from 'next/router'; -import axios from 'axios'; -import nextConfig from '@/next.config'; -import Modal from '@/components/walt/modal/BaseModal'; -import { EnvContext } from '@/pages/_app'; +import WaltIcon from "@/components/walt/logo/WaltIcon"; +import { CheckCircleIcon } from "@heroicons/react/24/outline"; +import { useContext, useEffect, useState } from "react"; +import { useRouter } from "next/router"; +import axios from "axios"; +import nextConfig from "@/next.config"; +import Modal from "@/components/walt/modal/BaseModal"; +import { EnvContext } from "@/pages/_app"; export default function Success() { const env = useContext(EnvContext); diff --git a/waltid-applications/waltid-web-portal/pages/verify/index.tsx b/waltid-applications/waltid-web-portal/pages/verify/index.tsx index 7d32951a7..cd333b280 100644 --- a/waltid-applications/waltid-web-portal/pages/verify/index.tsx +++ b/waltid-applications/waltid-web-portal/pages/verify/index.tsx @@ -1,15 +1,15 @@ -import { useContext, useEffect, useState } from 'react'; -import WaltIcon from '@/components/walt/logo/WaltIcon'; -import Button from '@/components/walt/button/Button'; -import { CredentialsContext, EnvContext } from '@/pages/_app'; -import Icon from '@/components/walt/logo/Icon'; -import { useRouter } from 'next/router'; -import QRCode from 'react-qr-code'; -import axios from 'axios'; -import { sendToWebWallet } from '@/utils/sendToWebWallet'; -import nextConfig from '@/next.config'; -import BackButton from '@/components/walt/button/BackButton'; -import { CredentialFormats, mapFormat } from '@/types/credentials'; +import { useContext, useEffect, useState } from "react"; +import WaltIcon from "@/components/walt/logo/WaltIcon"; +import Button from "@/components/walt/button/Button"; +import { CredentialsContext, EnvContext } from "@/pages/_app"; +import Icon from "@/components/walt/logo/Icon"; +import { useRouter } from "next/router"; +import QRCode from "react-qr-code"; +import axios from "axios"; +import { sendToWebWallet } from "@/utils/sendToWebWallet"; +import nextConfig from "@/next.config"; +import BackButton from "@/components/walt/button/BackButton"; +import { CredentialFormats, mapFormat } from "@/types/credentials"; const BUTTON_COPY_TEXT_DEFAULT = 'Copy offer URL'; const BUTTON_COPY_TEXT_COPIED = 'Copied'; diff --git a/waltid-applications/waltid-web-portal/tailwind.config.ts b/waltid-applications/waltid-web-portal/tailwind.config.ts index c2cd5850c..3355e7b53 100644 --- a/waltid-applications/waltid-web-portal/tailwind.config.ts +++ b/waltid-applications/waltid-web-portal/tailwind.config.ts @@ -1,4 +1,4 @@ -import type { Config } from 'tailwindcss'; +import type { Config } from "tailwindcss"; const config: Config = { content: [ diff --git a/waltid-applications/waltid-web-portal/utils/getOfferUrl.tsx b/waltid-applications/waltid-web-portal/utils/getOfferUrl.tsx index f87a95622..b4d6a3f0e 100644 --- a/waltid-applications/waltid-web-portal/utils/getOfferUrl.tsx +++ b/waltid-applications/waltid-web-portal/utils/getOfferUrl.tsx @@ -1,11 +1,6 @@ -import axios from 'axios'; -import { v4 as uuidv4 } from 'uuid'; -import { - AvailableCredential, - CredentialFormats, - DIDMethods, - DIDMethodsConfig, -} from '@/types/credentials'; +import axios from "axios"; +import { v4 as uuidv4 } from "uuid"; +import { AvailableCredential, CredentialFormats, DIDMethods, DIDMethodsConfig } from "@/types/credentials"; const getOfferUrl = async ( credentials: Array, diff --git a/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/components/scan/QrCodeScanner.vue b/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/components/scan/QrCodeScanner.vue index 2f9cef758..8475fe18c 100644 --- a/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/components/scan/QrCodeScanner.vue +++ b/waltid-applications/waltid-web-wallet/apps/waltid-demo-wallet/src/components/scan/QrCodeScanner.vue @@ -31,8 +31,7 @@ diff --git a/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/signup.vue b/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/signup.vue index 4cea89bc2..f9fda9eb1 100644 --- a/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/signup.vue +++ b/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/signup.vue @@ -184,12 +184,7 @@ - \ No newline at end of file + diff --git a/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/wallet/[wallet]/settings/tokens/index.vue b/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/wallet/[wallet]/settings/tokens/index.vue index c00412df7..f69a5221e 100644 --- a/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/wallet/[wallet]/settings/tokens/index.vue +++ b/waltid-applications/waltid-web-wallet/apps/waltid-dev-wallet/src/pages/wallet/[wallet]/settings/tokens/index.vue @@ -207,24 +207,14 @@ \ No newline at end of file + diff --git a/waltid-applications/waltid-web-wallet/libs/components/wallets/WalletListing.vue b/waltid-applications/waltid-web-wallet/libs/components/wallets/WalletListing.vue index 5b1080252..597689dbf 100644 --- a/waltid-applications/waltid-web-wallet/libs/components/wallets/WalletListing.vue +++ b/waltid-applications/waltid-web-wallet/libs/components/wallets/WalletListing.vue @@ -42,7 +42,7 @@