View Issue Details

IDProjectCategoryView StatusLast Update
0010612Talermerchant backendpublic2026-01-28 15:06
ReporterFlorian Dold Assigned Toavalos  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status assignedResolutionopen 
Product Version1.0 
Target Version1.6 
Summary0010612: token family reported as expired, but should still be valid
DescriptionWe created a token family with a validity about a year in the future.

However, after about a month, the backend complained that the token family expired.

Maybe the backend doesn't properly re-generate the keys for a token family once one key has expired?
TagsNo tags attached.

Relationships

has duplicate 0010549 closedChristian Grothoff problem with token family key generation? 
child of 0009057 confirmedavalos support subscription and discount tokens [meta] 

Activities

Christian Grothoff

2026-01-26 06:53

manager   ~0027361

POST /private/orders does contain the logic to create missing keys for output token families on-demand.
While the code is complex, it *looks* correct.

Christian Grothoff

2026-01-28 15:05

manager   ~0027412

I added a test (test_merchant_tokenfamilies.sh, not in make check yet!) including time-travel to check token family keys were created also past the first expiration interval. That works fine. However, when trying to pay, the wallet throws back a strange parse error, even though everything looks fine in wireshare. Ivan (or Florian): please investigate and see if this is a wallet-core issue or something in the merchant backend.
test_merchant_tokenfamilies.err (1,859 bytes)   
2026-01-28T13:59:25.834Z shepherd.ts INFO active tasks from DB: {
  "taskIds": [
    "purchase:GYRBNAW45H04W4FD2PMJ9JT9VH2ZY2R6WTRR828XVEWJ04M94ZM0",
    "exchange-update:http%3A%2F%2Flocalhost%3A8081%2F",
    "exchange-auto-refresh:http%3A%2F%2Flocalhost%3A8081%2F",
    "exchange-update:https%3A%2F%2Fexchange.demo.taler.net%2F",
    "exchange-auto-refresh:https%3A%2F%2Fexchange.demo.taler.net%2F",
    "validate-denoms:"
  ]
}
2026-01-28T13:59:25.888Z exchanges.ts INFO not updating exchange in status "initial"
2026-01-28T13:59:26.292Z wallet.ts INFO finished wallet core request preparePayForUri with error: {
  "code": 7020,
  "when": {
    "t_ms": 1769609366218
  },
  "hint": "validation for well-formedness failed"
}
An error occurred while running handle-uri
_TalerError: validation for well-formedness failed
    at _TalerError.fromUncheckedDetail (/home/grothoff/lib/taler-wallet-cli/node_modules/taler-wallet-cli/dist/taler-wallet-cli-bundled.cjs:8435:12)
    at Object.call (/home/grothoff/lib/taler-wallet-cli/node_modules/taler-wallet-cli/dist/taler-wallet-cli-bundled.cjs:61285:28)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async doPay (/home/grothoff/lib/taler-wallet-cli/node_modules/taler-wallet-cli/dist/taler-wallet-cli-bundled.cjs:63540:18)
    at async /home/grothoff/lib/taler-wallet-cli/node_modules/taler-wallet-cli/dist/taler-wallet-cli-bundled.cjs:64154:9
    at async withWallet (/home/grothoff/lib/taler-wallet-cli/node_modules/taler-wallet-cli/dist/taler-wallet-cli-bundled.cjs:63774:20)
    at async CommandGroup.myAction (/home/grothoff/lib/taler-wallet-cli/node_modules/taler-wallet-cli/dist/taler-wallet-cli-bundled.cjs:64141:3) {
  errorDetail: {
    code: 7020,
    when: { t_ms: 1769609366218 },
    hint: 'validation for well-formedness failed'
  },
  cause: undefined
}

Issue History

Date Modified Username Field Change
2025-11-14 17:54 Florian Dold New Issue
2025-11-15 15:59 Christian Grothoff Severity minor => major
2025-11-15 15:59 Christian Grothoff Status new => confirmed
2025-11-15 15:59 Christian Grothoff Product Version => 1.0
2025-11-15 15:59 Christian Grothoff Target Version => 1.6
2025-12-19 20:13 Christian Grothoff Relationship added child of 0009057
2026-01-25 12:30 Christian Grothoff Assigned To => Christian Grothoff
2026-01-25 12:30 Christian Grothoff Status confirmed => assigned
2026-01-26 06:23 Christian Grothoff Relationship added has duplicate 0010549
2026-01-26 06:53 Christian Grothoff Note Added: 0027361
2026-01-28 15:05 Christian Grothoff Note Added: 0027412
2026-01-28 15:05 Christian Grothoff File Added: test_merchant_tokenfamilies.err
2026-01-28 15:06 Christian Grothoff Assigned To Christian Grothoff => avalos