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 @@