content: [package]
  name = "wallet"
  version.workspace = true
  edition.workspace = true
  rust-version.workspace = true
  
  [lints]
  workspace = true
  
  [lib]
  doctest = false
  
  [features]
  # Allow the disclosure return URL and its prefix to use http://
  allow_insecure_url = ["openid4vc/allow_insecure_url"]
  # Use fake Apple attested keys for use in the iOS simulator
  fake_attestation = [
      "dep:apple_app_attest",
      "platform_support/persistent_mock_attested_key",
      "platform_support/xcode_env",
  ]
  # Adds serializability for snapshot tests
  snapshot_test = []
  # Various test related functionality of Wallet types and dependencies
  test = ["openid4vc/mock", "platform_support/mock_hw_keystore", "dep:mockall"]
  
  [dependencies]
  thiserror.workspace = true
  base64.workspace = true
  chrono = { workspace = true, features = ["std", "clock"] }
  cfg-if.workspace = true
  ciborium.workspace = true
  derive_more = { workspace = true, features = ["constructor", "debug"] }
  futures = { workspace = true, features = ["std", "async-await"] }
  http.workspace = true
  indexmap.workspace = true
  itertools.workspace = true
  # This feature is necessary on the transitive dependency sqlx.sqlite so it doesn't rely on a local dynamic library
  libsqlite3-sys = { workspace = true, features = ["bundled-sqlcipher-vendored-openssl"] }
  josekit.workspace = true
  mime.workspace = true
  nutype.workspace = true
  p256 = { workspace = true, features = ["ecdsa", "std"] }
  parking_lot.workspace = true
  regex.workspace = true
  reqwest = { workspace = true, features = ["json", "rustls-tls-webpki-roots"] }
  ring = { workspace = true, features = ["std"] }
  rusqlite = { workspace = true }
  rustls-pki-types.workspace = true
  sanitize-filename.workspace = true
  sea-orm = { workspace = true, features = ["sqlx-sqlite", "runtime-tokio-rustls", "with-uuid"] }
  sea-query.workspace = true
  serde = { workspace = true, features = ["derive"] }
  serde_json.workspace = true
  serde_urlencoded.workspace = true
  serde_with = { workspace = true, features = ["base64", "json"] }
  strum = { workspace = true, features = ["derive"] }
  tempfile.workspace = true
  tokio = { workspace = true, features = ["sync", "fs"] }
  tracing.workspace = true
  trait-variant.workspace = true
  url.workspace = true
  uuid = { workspace = true, features = ["v4", "v7"] }
  
  mockall = { workspace = true, optional = true }
  
  attestation_data.path = "../lib/attestation_data"
  attestation_types.path = "../lib/attestation_types"
  crypto.path = "../lib/crypto"
  dcql.path = "../lib/dcql"
  entity.path = "entity"
  error_category = { path = "../lib/error_category", features = ["sentry"] }
  http_utils.path = "../lib/http_utils"
  jwt.path = "../lib/jwt"
  mdoc.path = "../lib/mdoc"
  openid4vc.path = "../lib/openid4vc"
  platform_support.path = "platform_support"
  sd_jwt.path = "../lib/sd_jwt"
  sd_jwt_vc_metadata.path = "../lib/sd_jwt_vc_metadata"
  update_policy_model.path = "../update_policy/model"
  wallet_account = { path = "../wallet_provider/wallet_account", features = ["client"] }
  utils.path = "../lib/utils"
  wallet_configuration.path = "configuration"
  wallet_migrations.path = "migrations"
  wscd.path = "../lib/wscd"
  
  apple_app_attest = { path = "../lib/apple_app_attest", optional = true }
  
  [dev-dependencies]
  aes-gcm = { workspace = true, features = ["std"] }
  assert_matches.workspace = true
  mockall.workspace = true
  rand_core.workspace = true
  rstest.workspace = true
  serial_test.workspace = true
  ssri.workspace = true
  tokio = { workspace = true, features = ["rt", "macros", "test-util", "parking_lot"] }
  wiremock.workspace = true
  
  apple_app_attest = { path = "../lib/apple_app_attest", features = ["mock"] }
  attestation_data = { path = "../lib/attestation_data", features = ["example_credential_payloads", "generate", "mock"] }
  crypto = { path = "../lib/crypto", features = ["mock_secure_keys"] }
  dcql = { path = "../lib/dcql", features = ["mock"] }
  http_utils = { path = "../lib/http_utils", features = ["insecure_http_client"] }
  jwt = { path = "../lib/jwt", features = ["test"] }
  openid4vc = { path = "../lib/openid4vc", features = [
      "mock",
      "test",
      "example_credential_payloads",
      "example_constructors",
  ] }
  # enable the "mock" feature for platform_support when running tests
  platform_support = { path = "platform_support", features = ["mock"] }
  sd_jwt = { path = "../lib/sd_jwt", features = ["examples", "mock"] }
  sd_jwt_vc_metadata = { path = "../lib/sd_jwt_vc_metadata", features = ["example_constructors"] }
  wallet_account = { path = "../wallet_provider/wallet_account", features = ["client", "server"] }
  wscd = { path = "../lib/wscd", features = ["mock"] }
  
  [build-dependencies]
  serde.workspace = true
  serde_json.workspace = true
  
  utils.path = "../lib/utils"
  wallet_configuration.path = "configuration"
  