aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/versions.ts
blob: 8b4b24351c7d1aaf248fffd5a7e201d8a1dc8131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
 This file is part of GNU Taler
 (C) 2019-2023 Taler Systems S.A.

 GNU Taler is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
 Foundation; either version 3, or (at your option) any later version.

 GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

 You should have received a copy of the GNU General Public License along with
 GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
 */

/**
 * Protocol version spoken with the exchange.
 *
 * Uses libtool's current:revision:age versioning.
 */
export const WALLET_EXCHANGE_PROTOCOL_VERSION = "17:0:0";

/**
 * Protocol version spoken with the merchant.
 *
 * Uses libtool's current:revision:age versioning.
 */
export const WALLET_MERCHANT_PROTOCOL_VERSION = "5:0:1";

/**
 * Protocol version spoken with the bank (corebank API).
 *
 * Uses libtool's current:revision:age versioning.
 */
export const WALLET_COREBANK_API_PROTOCOL_VERSION = "2:0:0";

/**
 * Protocol version spoken with the bank (conversion API).
 *
 * Uses libtool's current:revision:age versioning.
 */
export const WALLET_BANK_CONVERSION_API_PROTOCOL_VERSION = "2:0:0";

/**
 * Libtool version of the wallet-core API.
 */
export const WALLET_CORE_API_PROTOCOL_VERSION = "7:0:0";

/**
 * Libtool rules:
 *
 * If the library source code has changed at all since the last update,
 *     then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
 * If any interfaces have been added, removed, or changed since the last
 *     update, increment current, and set revision to 0.
 * If any interfaces have been added since the last public release, then
 *     increment age.
 * If any interfaces have been removed or changed since the last public
 *     release, then set age to 0.
 */

// Provided either by bundler or in the next lines.
declare global {
  const walletCoreBuildInfo: {
    implementationSemver: string;
    implementationGitHash: string;
  };
}

// Provide walletCoreBuildInfo if the bundler does not override it.
if (!("walletCoreBuildInfo" in globalThis)) {
  (globalThis as any).walletCoreBuildInfo = {
    implementationSemver: "unknown",
    implementationGitHash: "unknown",
  } satisfies typeof walletCoreBuildInfo;
}