commit 4fc8dfa92126117cda04f42724c7868d32c64c81
parent a53ec7db6421990018d164c09f01514dd27520e2
Author: Florian Dold <dold@taler.net>
Date: Tue, 28 Jul 2026 15:18:35 +0200
harness: check that the v27 refresh protocol still works
Wallets can have refresh groups that melted before the upgrade, so the exchange
has to keep accepting reveals that disclose signatures rather than batch seeds.
Issue: https://bugs.taler.net/n/11540
Diffstat:
1 file changed, 24 insertions(+), 0 deletions(-)
diff --git a/packages/taler-harness/src/integrationtests/test-wallet-dbless.ts b/packages/taler-harness/src/integrationtests/test-wallet-dbless.ts
@@ -140,6 +140,30 @@ export async function runWalletDblessTest(t: GlobalTestState) {
http,
newDenoms: refreshDenoms,
});
+
+ // The exchange must still accept the previous refresh protocol, since
+ // wallets can have refresh groups that melted with it before upgrading.
+ const legacyCoin = await withdrawCoin({
+ http,
+ cryptoApi,
+ reserveKeyPair: {
+ reservePriv: reserveKeyPair.priv,
+ reservePub: reserveKeyPair.pub,
+ },
+ denom: findDenomOrThrow(exchangeInfo, "TESTKUDOS:1" as AmountString),
+ exchangeBaseUrl: exchange.baseUrl,
+ });
+
+ await refreshCoin({
+ oldCoin: legacyCoin,
+ cryptoApi,
+ http,
+ newDenoms: [
+ findDenomOrThrow(exchangeInfo, "TESTKUDOS:0.1" as AmountString),
+ findDenomOrThrow(exchangeInfo, "TESTKUDOS:0.1" as AmountString),
+ ],
+ protocolVersion: 27,
+ });
} catch (e) {
if (e instanceof TalerError) {
console.log(e);